iptables

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Úterý Červen 5 00:55:09 CEST 2001


On Mon, 4 Jun 2001, Pavel Trefny wrote:

Tak treba tohle:

> Chain PREROUTING (policy ACCEPT)
> target     prot opt source               destination
> REDIRECT   tcp  --  anywhere            !192.168.33.0/24    tcp dpt:http
> redir ports 8080
> REDIRECT   tcp  --  anywhere            !192.168.36.0/24    tcp dpt:http
> redir ports 8080

Prvni pravidlo se aplikuje na vsechno, co nema cilovou IP adresu
v 192.168.33.0/24 (a splnuje ostatni kriteria, ale ta jsou ted
irelevantni). Cili de facto druhe pravidlo bude aplikovano pouze na
zbytek, tj. to, co ma cilovou IP adresu v 192.168.33.0/24, coz se zaroven
vylucuje s tim, aby byla v 192.168.36.0/24, a tudiz bude podminka druheho
pravidla vzdy splnena. Cili ta dve pravidla odchytnou uplne vsechno.
To jsou ty zaludnosti negaci.

Pokud tim chtel basnik rict, ze sa maji presmerovat pouze spojeni, jejichz
cilova adresa neni ani v 192.168.33.0/24, ani v 192.168.36.0/24, pak je
mozno:

1. nahradit dve pravidla jednim, kde bude neco pokryvajici oba dva rozsahy
(napr. 192.168.36.0/20)...to muze vyzadovat nejake precislovani (i kdyz
si moc nedovedu predstavit, proc by nekdo alokoval privatni adresy tak
chaoticky, aby bylo nutne opravdu nejake adresy menit)

2. preorganizovat to treba tak, ze se do PREROUTING da pravidlo, ktere ma
vsechny pozadovane pozitivni podminky a ktere vola pomocny chain, ve
kterem jsou tri pravidla: dve, ktere provedou RETURN (nebo jak se to ted u
iptables jmenuje), kdyz je cilova adresa v 192.168.33.0/24 nebo
v 192.168.36.0/24, a treti, ktere udela REDIRECT u vseho ostatniho.

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."



Další informace o konferenci Linux