( stra | 2008. 03. 15., szo – 23:43 )

"Igen, ezek a szabályok a routerre kerülnének. INPUT láncból ftp-t, torrentet kivettem, de a VNC-nek maradnia kell, különben távolról hogyan csatlakozom a géphez?"
Pont ugyanemiatt vehető ki a VNC is, mivel nem a routert szeretnéd elérni VNC-vel, hanem a routeren keresztül a gépet, ez pedig az FTP-hez hasonlóan ugyanúgy nem INPUT, hanem FORWARD forgalom. A -p tcp -s 192.168.1.2 --syn --dport ssh -j ACCEPT felesleges, ha utána -p tcp -s 192.168.1.2 -j ACCEPT következik.

Az interfészek ennek alapján:
  eth0: internal interface between CPU and the 6-port switch
  eth1: Wireless LAN
  vlan0: wired LAN ports
  vlan1: wired WAN port
  br0: internal LAN bridge (configurable) for wired LAN and Wireless LAN

Tehát a LAN-ra a WLAN-nal együtt a br0, a WAN-ra a vlan1 használható.

Példa és javaslat arra, amit a szabályok irányának egyértelműsítéséről írtam. Hogy az INPUT-ban az ICMP-t beengedő szabály a mellette lévő megjegyzésnek megfeleljen, vagy ha például nincs a gépen webszerver, és ha van.

  iptables -A INPUT -p icmp -j ACCEPT ## kintrol "ping" mehet.


  iptables -A FORWARD -p tcp --dport 80 -m state --state NEW -j ACCEPT ## http mehet.


helyett lehet:

  iptables -A INPUT -i vlan1 -p icmp -j ACCEPT ## kintrol "ping" mehet.


  iptables -A FORWARD -i br0 -p tcp --dport 80 -m state --state NEW -j ACCEPT ## http mehet belulrol kifele.


  iptables -A FORWARD -i vlan1 -p tcp -d 192.168.1.2 --dport 80 -m state --state NEW -j ACCEPT ## http johet kivulrol befele.

Az OUTPUT-ban nem látom értelmét a routerből a gép felé kezdeményezett SSH limitálásának.

A FORWARD láncon keresztülmenő forgalomról el kell dönteni, hogy mit szolgáljon. Most mindkét irányba kezdeményezett kapcsolatot enged, de csak felsorolt protokollokon és potokon. Biztos ez a cél? Nem az, hogy bentről kifelé minden mehessen, de kintről befelé csak néhány szükséges? Ha ezt szeretnéd, akkor megoldás lehet ez:

  iptables -A FORWARD -i br0 -m state --state NEW -j ACCEPT


Ezután pluszban csak a kívülről befelé kezdeményezetteket kell engedélyezni, illetve előtte - ha vannak -, a kimenő kivételeket tiltani. Így ha nem fut a gépeden kívülről is használható HTTP, HTTPS, web, FTP, IMAP, NTP, IRC, whois szerver, ezeket a szabályokat ki lehet venni. Ha viszont az a cél, hogy a megadottakon kívül ne lehessen más módon belülről sem elérni külső (pl. POP3) szervert, akkor jó a mostani szabály is. Egy másik kérdés, hogy az eredeti tűzfalszabály-struktúrát ki akarod-e iktatni. Ha igen, akkor mehet minden odavaló a FORWARD láncba, ha nem, akkor érdemes a wanin és wanout láncok alá betenni.

A fenti iptables -t nat -vnL alapján a bentről jövő forgalmat source NAT-olja a WAN címre, így kifelé menni fog. A géped publikus szolgáltatásait, portjait be kell NAT-olni a 192.168.1.2-re, ehhez a PREROUTING lánc DNAT-ja használható (pl.:

iptables -i vlan1 -t nat -A PREROUTING -p ... --destination-port ... -j DNAT --to-destination 192.168.1.2

).