Kernel-IPFW und -NAT

Hallo ihr Lieben,
ich habe wieder ein Problem, bei dem ich nicht weiterkomme. Ich möchte mit FreeBSD einfach das LAN vom WAN trennen. FreeBSD soll kernelintern mit IPFW und NAT ins Internet routen und auf dem Server selbst einige Ports offenhalten. Ich konnte leider keine für mich verständliche Anleitung finden, wie das Kernel-NAT wirklich funktioniert. Ich habe mein IPFW-Script zunächst stark abgespeckt, um die Fehlersuche zu vereinfachen:

Code:
#!/bin/sh
wan=rl0
lan=re0

ipfw -f flush

ipfw add 002 allow all from any to any via $lan        # allow LAN traffic
ipfw add 003 allow all from any to any via lo0        # allow loopback traffic

# NAT
ipfw nat 1 config if $wan reset same_ports
ipfw add 120 skipto 500 all from any to any out via $wan keep-state     # NAT ausgehend

# kein Einfluss:
ipfw add 131 check-state

# Funktioniert auch nicht:
#ipfw add nat 1 all from any to any in via $wan established

# Öffnet alles:
#ipfw add nat 1 all from any to any in via $wan

# Authorized inbound packets
ipfw add 420 allow tcp from any to any 22 in via $wan setup

ipfw add 450 deny log ip from any to any in via $wan

# skipto für ausgehende Regeln
ipfw add 500 nat 1 all from any to any
ipfw add 510 fwd 192.168.2.2 all from any to any

Nun versuche ich, mit einem Ping von innen nach außen zu kommen, da geht nichts, es sei denn, ich mache die Regel unter "Öffnet alles" scharf. Die Firewall lässt mein ping vom LAN durch zum WAN, allerdings blockiert sie dann zuverlässig die Antwort. Ich habe schon alles Mögliche versucht und bekomme es nicht hin, dass eine temporäre Verbindung erstellt wird, unter welcher beliebiger ankommender Traffic zum entsprechenden Clienten zurückgegeben wird. Wie kann ich das einrichten?
Nebenbei habe ich den Effekt, dass das Terminal vom WAN aus nach kurzer Zeit die Verbindung verliert.
 
Zurück
Oben