Freesco, NND, CDN, EOS
http://forum.freesco.pl/

Prosty skrypt bashowy - prośba o pomoc :)
http://forum.freesco.pl/viewtopic.php?f=28&t=17793
Strona 1 z 1

Autor:  TheL [ piątek, 7 sierpnia 2009, 12:03 ]
Tytuł:  Prosty skrypt bashowy - prośba o pomoc :)

Witam,
dawno mnie tu nie było, jednak pojawiłem się bo może ktoś jest w stanie pomóc mi w prostej rzeczy, zapomniałem jak to zrobić :)

mam dane linijki (przekierowanie squida dla konkretnych adresów):
: [/] [] ()
iptables -t nat -A PREROUTING -s 192.168.2.220 -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -t nat -A PREROUTING -s 192.168.2.221 -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -t nat -A PREROUTING -s 192.168.2.222 -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -t nat -A PREROUTING -s 192.168.2.223 -p tcp --dport 80 -j REDIRECT --to-port 8080

przekieruje mi to 4 adresy w lanie na squida, jednak jeśli będę chciał zrobić powiedzmy 100 adresów to bezsensem jest pisanie 100 linijek.
zaznaczę, że nie interesuje mnie przekierowanie wszystkich typu:
: [/] [] ()
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 8080

w związku z tym wymyśliłem sobie aby zrobić to na zmiennych i aby wyglądało np tak:
: [/] [] ()
iptables -t nat -A PREROUTING -s $IP -p tcp --dport 80 -j REDIRECT --to-port 8080

ale aby wszystkie adresy które mają być przekierowane mogłyby być umieszczone w oddzielnym pliku. Może być również odwrotna sytuacja czyli aby w pliku były adresy które nie mają być przekierowane jednak przy tym nie wiem nawet jak powinna reguła wyglądać.
Bardzo proszę o pomoc jak to zrobić.

Autor:  viater [ piątek, 7 sierpnia 2009, 12:57 ]
Tytuł: 

: [/] [] ()
cat /plik/z/adresami | while read IP; do
  iptables -t nat -A PREROUTING -s $IP -p tcp --dport 80 -j REDIRECT --to-port 8080
done

Autor:  TheL [ piątek, 7 sierpnia 2009, 13:11 ]
Tytuł: 

bardzo dziękuję ułatwiłeś mi pracę :)

Autor:  macgyver2004 [ piątek, 7 sierpnia 2009, 15:17 ]
Tytuł: 

To ja jeszcze dodam pytanie: czy mozna to zrobic z pentla for dla adresow z koncowka 100 do 250 ?

Autor:  tasiorek [ piątek, 7 sierpnia 2009, 17:05 ]
Tytuł: 

Jesli sa to adresy jednej podsieci, to najlepiej wrzucic do regulki ta podsiec. Jesli sa to kolejne adresy, ale nie da sie ich sensownie okreslic za pomoca VLSM, to proponuje uzyc modulu iprange (jest domyslnie w NND). Jesli nie sa to nawet kolejne adresy, to polecam ipseta (z tego co pamietam, to do NND trzeba go sobie dokompilowac). Wrzucanie wszystkich regul liniowo do iptables jest nietrafionym pomyslem.

Autor:  viater [ piątek, 7 sierpnia 2009, 17:20 ]
Tytuł: 

macgyver2004 pisze:
To ja jeszcze dodam pytanie: czy mozna to zrobic z pentla for dla adresow z koncowka 100 do 250 ?

Można
: [/] [] ()
for IP in {100..250}
do
  iptables -t nat -A PREROUTING -s 192.168.0.$IP -p tcp --dport 80 -j REDIRECT --to-port 8080
done

...aczkolwiek patrz post Tasiorka wyżej.

Strona 1 z 1 Strefa czasowa UTC+2godz.
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/