iptables nat segítség - hajtépés

Hali!

Egy könyv alapján próbálom összerkani a kis NATos linux tűzfalat. A problemma az, hogy a ráknak nem jön össze. Így fest:

192.168.0.0/24[eth0][tűzfal][eth1]192.168.65.0/27
így próbálkoztam:
iptables -t nat -A POSTROUTING -d ! 192.168.65.0/27 -j MASQUERADE
iptables -A FORWARD -s 192.168.65.0/27 -j ACCEPT
iptables -A FORWARD -d 192.168.65.0/27 -j ACCEPT
iptables -A FORWARD -j DROP

Mi lehet ezzel a baj?

Hozzászólások

egy rendkivül egyszerű tűzfal, ami csak netmegosztást végez, alap váznak szánom.
#!/bin/sh

echo "Starting firewall"
echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -Z
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

iptables -t nat -A POSTROUTING -o eth3 -j MASQUERADE
#internete^^^

(eth3=NET, eth2=LAN)

ehh.. igen... Az ip_forward nem volt 1esre állítva. Ez segített a bajon.. Még azt szeretném tudni, hogy hogyan tudom modnjuk a 80-as, 25-ös, 993-as portot átengedni és minden mást tiltani. Azt az
ip -A FORWARD -m multiport -dport 80,25,993 -j ACCEPT -te tehetem meg? Hogyan tudok minden más portot tiltani?
ip -P FORWARD DROP-pal ha mindent dinájolok, akkor utána explicit allow-kkal ezt megtehetem?

iptables -P INPUT DROP
iptables -P FORWARD DROP
Ez mindent tilt amire később nincs szabály.

Ha te azt szeretnéd hogy csak webet, ftp-t és ilyen dolgokat érjenek el, akkor:
iptables -P OUTPUT DROP
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
ez mindent tilt, kivéve ha a célport 80. Azaz ha egy webszerverre mész ki megnézni a hup.hu -t:)

igen... 53-as UDP engedélyezve.. Úgy csintam, hogy mindent tiltottam az
iptables -P FORWARD DROP-pal
majd engedélyeztem az 53-ast
iptables -A FORWARD -p udp --dport 53 -j ACCEPT
ennek jónak kellene lennie nem?

nem tudom hogyan kéne portot bezárni..
debian:/# netstat -l -t
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:8000 *:* LISTEN
tcp 0 0 localhost:2208 *:* LISTEN
tcp 0 0 *:6881 *:* LISTEN
tcp 0 0 *:7144 *:* LISTEN
tcp 0 0 *:7145 *:* LISTEN
tcp 0 0 *:sunrpc *:* LISTEN
tcp 0 0 *:auth *:* LISTEN
tcp 0 0 localhost:60180 *:* LISTEN
tcp 0 0 *:50933 *:* LISTEN
tcp 0 0 localhost:ipp *:* LISTEN
tcp 0 0 *:9433 *:* LISTEN
tcp 0 0 localhost:smtp *:* LISTEN
debian:/# iptables -A INPUT -p tcp --dport 2208 -j DROP

de nem történt semmi
itt most a 2208-as portot szeretném bezárni de csak annyit tudok hogy ez egy hpiod alkalmazás (a nyomtato használja)
elöre is kösz a segitséget

1.) Leállítod az ezt nyitva tartó programot.
2.) Tűzfallal véded. Ettől még a netstat mutatni fogja.
Az általad írt tűzfalszabály jó, amennyiben az INPUT láncban nincs előtte olyan szabály, ami beengedné ezt a forgalmat.

+1
További nyomozáshoz netstat -ap (esetleg még -n is) segíthet. A netstat kimenetében csak azt láttad, hogy a gépen az adott porton várakozik az alkalmazás, de az iptables megfelelő szabálya szerint a rá érkező csomagok szép csöndben eltűnnek majd, tehát nem lehet rá kapcsolódni. Kipróbálhatod magad is telnet debian 2208 al pl., vagy kívülről egy nmap -p 2208 debian stb. próbákkal, hogy tényleg így van-e, vagy van még más szabály, ami mégis beengedi esetleg.

én még egy sima tűzfallal játszadozok több-kevesebb sikerrel:D

Kronosz