iptables ami INPUT tiltva van kifelé sem megy

Fórumok

Miért van az, hogy ha valamit INPUT-ba letiltok, akkor OUTPUT-ba se engedi az iptables?
Amik megvoltak:
iptables -P INPUT ACCEPT
iptables -A INPUT -j DROP
iptables -A INPUT -p tcp --dport 21 -j ACCEPT(Ezenekívül még 2-3 port van hasonlóképp engedélyezve)
Az output-nál nincs semmilyen szabály, a policy mindkét helyen accept

Hozzászólások

Fuss neki valami iptables howto-nak.
Amit irtal:

- beallitod hogy minden bejovo csomagot elfogadjon
- aztan a legelso szabalynak beirod hogy mindent dobjon el
- majd masodiknak elfogadnad az ftp-t. de tokmindegy hogy itt mit csinalsz, sose hajtodik vegre mikor az elso sorod mar reg eldobalta a csomagokat.....

Nana azért nem :)
Az első sor azt jelenti, hogy a policy-t átállítom Accept-re, szal, az lesz az elsőbbrendű, ami azt jelenti, hogyha mindent blokkolok és azttán felveszek valamit acceptnek, akkor az accept lesz az elsődleges, és ez így működik is...csak az a baj, hogy az outputra is az input szabályait nézi...

Pont a policy miatt jut el!
Ne azzal törődjetek, hogy az inputban valamit nem enged be, ami oda be van írva mindet beengedi, de mást nem, azért mert először azt nézi meg mi az aaccept. A gond az, hogy outputba is ugyanazok a szabályok érvényesek, mint inputba, pedig az outputba nincs is semmi!

Az első sor az alapértelmezett csomagkezelést állítja be,ez akkor lép életbe, ha egyik szabály sem illik a csomagra.
A többi sort meg mindig fentről lefelé értelmezzed. Tehát jön egy csomag akkor ráilleszti az 1. sorra, ha igaz rá akkor annak megfelelően cselekszik, ha nem felel meg akkor nézi a 2. sort. Amikor egyik sorra sem illeszkedik a csomag akkor -P -ben magdottak szerint dönt sorsáról.
Nézzük a Te esetedet:
"-P" Azt mondod neki, ha egyik szabályod sem illek a csomagra akkor engedje tovább.
1. szabálysorod "-A INPUT -j DROP" tehát minden bejövő csomadot dobsz
2. szabálysorod "-A INPUT -p tcp --dport 21 -j ACCEPT" beengedi a 21 portra jövő csomagokat, de mivel a 1. sorban dobsz minden bejövő csomagot eddig már el sem jut a csomag.

Próbáld meg így:
iptables -P INPUT DROP
iptables -A INPUT -p tcp --dport 21 -j ACCEPT

itt van egy iptables -L kimenet:
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:10000
ACCEPT tcp -- anywhere anywhere tcp dpts:5900:5905
ACCEPT tcp -- anywhere anywhere tcp multiport dports www,ftp

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

most látszólag minden ok, nem? akkor miért van az, hogy kifelé SEMMIT sem enged ki! Se egy ping, se a web, semmi sem érhető el, az sem ami befelé engedélyezve van!