[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: grep POMOCY !!!



Witam!

Akurat 03-03-2004 (śro) o godz. 15:30 Bartosz Fenski aka fEnIo napisał(a):
> Może tak:
> 
> grep -Ev "^ *#" /home/plik
> 
Jeżeli to mają być regułki w stylu:

iptables -A FORWARD -s <IP_USERA> -m mac --mac-source <MAC_USERA> -j ACCEPT

to lepiej chyba zrobić to w pętli.
Przykładowo:

# Plik z IP, w którym każda linia to np.
# IP MAC NAZWISKO IMIE
users_allow=/tajny/katalog/users.allow

# Sprawdzam czy jest taki plik
[ -f $users_allow ] || exit 0

# Wyświetlam sobie dodawanych...
echo -e "\nDodaję userów: "
# Grepuję pomijając komentarze i podstawiam do zmiennych...
grep "^" $users_allow |grep -v "^#"| while read  ip mac usern useri; do
   if [ "$ip" != "" ]; then
      # Kogo właśnie dodaję?
      echo  -e "\t$usern $useri ($ip)"
      # Pozwalam mu na forward...
      iptables -A FORWARD -s $ip -m mac --mac-source $mac -j ACCEPT
      # i na dostęp do netu
      # Jak maskarada
      iptables -t nat -A POSTROUTING -s $ip -o ppp0 -j MASQUERADE
      # a jak stałe IP
      #iptables -t nat -A POSTROUTING -s $ip -o ppp0 -j SNAT --to-source <MÓJ_STAŁY_IP>
   fi
done

Dzięki temu łatwo można dodawać/usuwać użytkowników. Wystarczy
zahaszować/odhaszować linijkę (ew. dodać nowy wpis) i przeładować skrypt
firewalla, w którym będzie ta pętla (warto oczywiście wcześniej wyczyścić
łańcuchy :)).

Pisałem z głowy, więc mogą być błędy.


Pozdrawiam
Tomasz Jakub Skrynnyk

-- 
Tomasz Jakub Skrynnyk
skrynnyk [at] post [dot] pl | GG#136500
Key fingerprint = DC3D B38A 850B 7D1B 3168  CE66 1BE6 81B8 B7B7 562D



Reply to: