Iptables kérdés

Fórumok

Sziasztok!

Gyors segítség kellene, hogy milyen iptables paranccsal lehet:
a) egy helyi interface egy adott portjához hozzáférést minden IP számára megengedni,
b) egy helyi interface egy adott portjához hozzáférést egy IP kivételével az összes többi számára letiltani
c) milyen iptables paranccsal lehet a fenti b) szabályt törölni,

mégpedig úgy, hogy ne akadjon össze a susefirewall-al.

A porton olyan szolgáltatás érhető el, amit ha egyidejűleg több IP-ről is próbálnak használni, akkor összeakadnak úgy, hogy végül egyik sem tudja a szolgáltatást igénybe venni. Ezért szeretném azt megoldani, hogy ténylegesen egy időben csak egy IP használhassa. Ezt úgy biztosítanám, hogy a portot alapból kinyitnám az összes IP számára (a), majd amikor az első IP-ről csomag érkezik rá, akkor az összes többi IP számára letiltanám a hozzáférést (b). Ha viszont arról az IP-ről x ideig nem jön csomag, akkor ismét megnyitnám a többi IP számára is, törölve a korábban beillesztett tiltó szabályt (c). Gondolom nincs olyan progi, amivel pont ezt az automatikus működést meg lehetne oldani, úgyhogy most egy tcpdump logját figyelő bash szkriptben gondolkodom (perl jobb lenne, de nem értek hozzá).

Erősen tanakodom az x idő optimális hosszán is; minél rövidebb, annál jobb, de nem lehet túl rövid se. Itt alapvetően http kapcsolatok szabályozásáról van szó; nincs véletlenül valami http timeout, aminek a szokásos értéke fogódzót adna, mennyi inaktivitás után célszerű a portot elvenni?

Hozzászólások

a) iptables -A INPUT -p tcp --dport PORT -j ACCEPT
b) iptables -A INPUT -p tcp --dport PORT -s ! ENGEDÉLYEZETT_HOST -j REJECT
c) iptables -D INPUT -p tcp --dport PORT -s ! ENGEDÉLYEZETT_HOST -j REJECT

Üdv!

Lenne nekem is egy kérdésem. Nem biztos, hogy kimondottan iptables kérdés. Az iptables logol bizonyos szabályokra illeszkedő csomagokat. Egy sor ilyen:


Nov  5 05:45:19 hostname [752405.633244] KIFELE: IN= OUT=eth0 SRC=IPCIMEM DST=195.228.75.x LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=35779 DF PROTO=TCP SPT=53768 DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0

Ebből látszik, hogy az eth0 -án szeretne a masina NEW állapotú kapcsolatot felépíteni az adott gép 80-as portjával. Elég sok ilyen és ehhez hasonló bejegyzések vannak a logban. Hogy tudnám kideríteni, hogy melyik processz próbálja ezt megtenni?

--
http://laszlo.co.hu/