Kétségbe vagyok esve. Fedorán az iptables -L kimenetének első sora ez:
Chain INPUT (policy ACCEPT)
Vagy én tudok valamit nagyon rosszul, vagy nem értem, vagy itt valami nincs rendjén, de a default policy nem azt jelenti, hogy ha a szabályokban nincs illeszkedés, akkor az jut érvényre? Mert ez így nekem olybá tűnik, hogy elég veszélyes beállítás.
Ezután vannak azok a szabályok, hogy mire legyen ACCEPT, aztán a végén egy ilyesmi:
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
(Mondjuk ha ennek a kimenete olyan lenne, mint ahogy meg kell írni a szabályokat.) Most látom, van olyan is:
iptables -S -P INPUT ACCEPT
Aztán itt azok a szabályok, melyekre ACCEPT lesz, a végén pedig:
-A INPUT -j REJECT --reject-with icmp-host-prohibited
Ha jól értem, ennek az utolsó szabálynak mindenre illeszkedően REJECT-nek kell lennie. Igaz ez itt konkrétan? Mert ha nem, ezen a tűzfalon minden átjön. Nem lenne egyszerűbb eleve DROP vagy REJECT policy-t megadni? Vagy arról lehet szó, nehogy a rendszergarázda indításképpen kizárja magát a gépről:
IMPORTANT: At this point we are going to clear the default rule set. If you are connecting remotely to a server via SSH for this tutorial then there is a very real possibility that you could lock yourself out of your machine. You must set the default input policy to accept before flushing the current rules, and then add a rule at the start to explicitly allow yourself access to prevent against locking yourself out.
Időközben megértettem, azt hiszem. Ha az ember részletes listát kér - iptables -L -v illetve iptables -S -v -, akkor kiírja az illető ágra futott csomagok valamint byte-ok számát. Az ACCEPT policy-nél ez 0 0, a szabályok végén viszont van némi nullánál nagyobb számpár, s a legnagyobb számok azon az ACCEPT ágon, ami használva van többnyire.
És ugye éppen a leállítással van gondod. Könnyen lehet, hogy a fedorás leállító script elfelejti törölni a mangle táblát, aztán megpróbálja eltávolítani a modult, ez nem 0 exit kóddal jön vissza, hiszen nem sikerült, így azt mondja, hogy failed.
ÖÖÖ... hu! Hát ilyesmi nem volt. Őszinte leszek: azt se tudom hogy ez mi. Azt értem hogy használatban lévő modult nem lehet eltávolítani. De ha ez az egy sor nincs benn a /etc/sysconfig/iptables -ben akkor el lehet távolítani az iptables modulokat, ha benn van akkor meg nem? Mert most tegyük fel hogy nem osztom meg a netet iptablessel. A tűzfal akkor is be van kapcsolva. Ergo az iptables modulok használatban vannak. Megaztán ha leállítom az iptables szolgáltatást, akkor - gondolom én - a modulok nincsenek haszálatban. Bár ez lehet hogy marhaság.??
Igen. Ez abból jön, hogy ha parancssorban kiadom az iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ppp0 -j MASQUERADE parancsot, akkor azt az iptables már úgy teszi be a configba hogy 192.168.100.0/255.255.255.0 - azaz a 192.168.100.X tartományból, azaz a belső hálózatból minden gépet kienged a netre. Ez amúgy működik is.
Szevasztok! Az iptablest (irodalma van már e topikban) az ADSL kapcsolatom megosztására is használom. Régóta szúrja a szemem egy hibaüzenet, ami a gép leállításakor, vagy az iptables újraindításakor jelenik meg. Removing iptables modules [FAILED] Rájöttem hogy ezt pontosan az a sor okozza, ami az internet megosztást végzi: -A POSTROUTING -s 192.168.100.0/255.255.255.0 -o ppp0 -j MASQUERADE Az a furcsa hogy amikor kiadom az iptables -t nat -A POSTROUTING -s 192.168.100.0/255.255.255.0 -o ppp0 -j MASQUERADE parancsot, akkor egyáltalán nem panaszkodik. Nem látom mi a hiba ebben a sorban. Nincs ötletetek hogy lehetne megszabadulni ettől a hibaüzenettől?
Azt hiszem valahol lyukas a kommunikációs csatorna közöttünk... már kétszer leírtam, hogy az egyik szabályod az "OUTPUT" chain-re vonatkozik, a másik az "INPUT" chain-re, ha ez nem volt elég, akkor részemről a ^D
>Fedorán a szükséges dolgok elfogadása után mindent eldob, így hiába fűznék >append-del utána valamire ACCEPT-et, az már nem kerülne végrehajtásra, hiszen ott >már nincs csomag. Próbáld a szabályt előre beszúrni: Hát ilyen, amikor a policy drop. Ha nyomsz egy iptables -L -t, valami ilyesmit látsz: Chain OUTPUT (policy DROP) Ez jut érvényre, ha nem illeszkedik a csomag semmilyen szabályra.
Értem én, de ez nem szabály: iptables -P OUTPUT DROP ez az alapértelmezett viselkedés, ha nincs illeszkedés. Default accept, mindent elfogad. Ezt állítottam át drop-ra, hogy mindent dobjon el, amire a szabály nem illeszkedik.
Szerintem az iptables-nél a sorrend is számít. Fedorán a szükséges dolgok elfogadása után mindent eldob, így hiába fűznék append-del utána valamire ACCEPT-et, az már nem kerülne végrehajtásra, hiszen ott már nincs csomag. Próbáld a szabályt előre beszúrni:
Annyiban, hogy az az alapértelmezett viselkedés. Ha a csomag egyetlen szabályra sem illeszkedik, akkor eszerint kell eljárni. De jelen esetben az 53 udp destination port illeszkedik, és ennek a célja az accept, azaz kiengedi.
De, az első az alapértelmezett policy, ha egyetlen szabály sem illeszkedik. A második egy szabály ami az udp 53 célport esetén illeszkedik és ilyenkor jump ACCESS. Ezért nem értem...
Szerintem az első sor pont azt csinálja, hogy nem enged ki a gépből semmit (mármint ami helyben keletkezett csomag)... ezen a második nem változtat (gondolom én)