Matthias Petermann wrote:
ich habe ein ganz merkwürdiges Problem mit Firewall / Masquerading. Ich benutze ein Script zum Starten der Firewall, die nur HTTP- und Nameserver- Connections passieren lassen soll.
<script> # masquerading ETH_IP= 'hostname -i | tr -d ' `'
Das ist die IP-Adresse Deines Servers, nicht des internen Netzes bzw. des Client-Rechners.
ipfwadm -F -a accept -m -b -P tcp -S $ETH_IP/24 ipfwadm -F -a accept -m -b -P udp -S $ETH_IP/24
</script>
Hiermit laesst Du alle tcp/udp-Pakete durch, die von Deinem Server kommen.
Kann es sein, dass in dem Script ein ganz entscheidender Eintrag fehlt ?
Ja. Du musst dem Server sagen, dass er Anfragen aus dem internen Netz (z.B. 192.168.1.0/24) [1] bzw. von einem bestimmten Rechner des internen Netzes (192.168.1.102/24) [2] durchlassen soll.
[1]
-- schnipp --
# alle Rechner des internen Netzes duerfen raus ipfwadm -F -p deny ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0
-- schnapp --
[2]
-- schnipp --
# nur der Rechner mit IP x.x.x.102 darf raus ipfwadm -F -p deny ipfwadm -F -a m -S 192.168.1.102/24 -D 0.0.0.0/0
-- schnapp --
Das eigentliche Anliegen, nur Anfragen auf Port 80 und 53 durchzulassen, bleibt dem geneigten Leser als Uebung ueberlassen.
Literatur:
IP-Masquerade.gz Firewall-HOWTO.gz man ipfwadm
sven