( stra | 2008. 03. 13., cs – 07:53 )

Kezdjük a végéről! Ha jól értettem, ezek a szabályok a routerre kerülnének. A géped és a külvilág közötti forgalom nem érinti a routeren lévő INPUT és az OUTPUT láncot, csak a FORWARD-ot. Az INPUT-on és az OUTPUT-on csak a router által lokálisan generált illetve a kifejezetten neki címzett csomagok mennek át. Tehát ami a gépen az INPUT, OUTPUT láncokban biztosította a külső kommunikációt, az a routeren (csak) a FORWARD láncba kell hogy kerüljön.

Ebből az következik, hogy a fenti listából az INPUT-ból kivehető az VNC, torrent, FTP. Ha az internetelérés nem DHCP által kapott IP-n valósul meg, akkor bootpc sem fog jönni kívülről, belülről meg valószínűleg statikus IP-je van a routernek, így az nem kér IP-t. Ha viszont a router a belső hálózat számára DHCP szerver, akkor bootps kellene. Egyszóval csak a router menedzselésére használt protokollok maradjanak, plusz néhány egyéb szükséges dolog (DHCP). A TCP syn limites sorból nem hiányzik a target? Így csak számolod a csomagokat, utána meg eldobod. Nem --syn akart lenni "! --syn" helyett?

Az OUTPUT-ban most csak a géped felé indított SSH van engedélyezve, és az INPUT-ban engedett forgalomhoz tartozó visszirány. Ha esetleg a routert használnád name serverként, nem menne. Vagy például nem tudnál pingelni sem a routerből. A loopback forgalmat nem kellene tiltani.

A FORWARD láncban ha először kiengeded az ESTABLISHED állapotú kapcsolathoz tartozó csomagokat, akkor ezt a későbbieken már felesleges, elég csak a NEW-val foglalkozni. A loopback interfészről itt nem fog semmi sem kimenni. ICMP-ből is jó lenne többet átengedni, nem csak az echot. Az aktív FTP adatot is kezeli a RELATED. Az "## ftp" komment ellenére minden TCP forgalom át van engedve a "kiszolgalo" felé.

Általában érdemes megmondani a csomag forrását, célját, input vagy output interfészét, ami egyértelművé teszi az átengedni kívánt irányt, mert úgy nem olyan könnyű véletlenül kiskapukat nyitni. Ugye a 192.168.1.1 a router, és a 192.168.1.2 a mögötte lévő gép? A fenti tűzfal éppúgy átengedné például a HTTP-t úgy kifelé mint befelé kezdeményezve. Azért a feltételes mód, mert a megfelelő NAT-ok hiánya nélkül mégsem megy.

A NAT-olást valószínűleg szintén meg kell írni, de ezt ellenőrizheted a nat tábla szabályainak listázásával. Ha üres, akkor hiányzik. Kifelé SNAT vagy MASQUERADE, befelé - ha van publikus szolgáltatás a gépen - DNAT.

Ha valami nem megy, akkor viszonylag könnyű rájönni hogy mi hiányzik, mivel minden eldobott csomag megy a logba.