[megoldva] hülye vagyok. iptables már értem

Fórumok

Hosszú. Eddig naívan azt hittem, hogy az iptables -L által kapott lista azt a sorrendet tükrözi, ahogyan a szabályokat a netfilter majd értelmezi. Azaz mondjuk ha van a listában előrébb egy proto all ACCEPT, akkor már egy későbbi proto all REJECT nem hat. No mostani esetem szerint a dolog nem teljesen igaz. Ha valaki mást tud és elmondja, vagy értelmes magyarázatot ad az alábbira, azt megköszönném.

zahy@szerverke:~$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- anywhere anywhere udp dpt:domain
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
ACCEPT udp -- anywhere anywhere udp dpt:bootps
ACCEPT tcp -- anywhere anywhere tcp dpt:bootps

Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere 172.27.1.0/24 state RELATED,ESTABLISHED
ACCEPT all -- 172.27.1.0/24 anywhere
ACCEPT all -- anywhere anywhere
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
zahy@szerverke:~$ sudo iptables -D FORWARD 4
zahy@szerverke:~$ sudo iptables -D FORWARD 4
zahy@szerverke:~$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- anywhere anywhere udp dpt:domain
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
ACCEPT udp -- anywhere anywhere udp dpt:bootps
ACCEPT tcp -- anywhere anywhere tcp dpt:bootps

Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere 172.27.1.0/24 state RELATED,ESTABLISHED
ACCEPT all -- 172.27.1.0/24 anywhere
ACCEPT all -- anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
zahy@szerverke:~$

És a lényeg. Ameddig a a FORWARD láncból nem töröltem a két REJECT szabályt, addig sem pingetni nem lehetett, sem elérni nem lehetett a szerverke mögött (benne, mert VM-ben) levő indiánt futtató gépet. Abban a pillanatban, hogy a két reject eltűnt, életre kelt a ping, és elérhetővé vált az indián. Miért?

Hozzászólások

Ha a -v paraméterrel meg tudnád toldani, több információt látnánk, például az interfészkorlátokat:

iptables -nvL

.
További kérdés, hogy melyik IP-ről melyik IP-t próbáltad pingelni. A tippem az, hogy a harmadik ACCEPT-nél interfész van megadva, az első ugye nem engedi át a NEW-t, a második meg csak a 172.27.1.0/24-ből enged NEW-t.

Legyen a FORWARD alap policy -je DROP:
iptables -P FORWARD DROP
és utána teszteld hogy pingelhető-e, ha a végéről kiveszed.
Ha akkor is fennáll a probléma..., lesz érdekes, -v, ha amúgy nem néztél el semmit