Linux Firewall mit ipchains

Durchgreifender Verkehr

Auf das Thema Masquerading gehen wir im nächsten Teil der Artikelreihe im Detail ein. Doch noch ein paar Worte zum direkten durchgreifenden Netzwerkverkehr. In manchen Szenarien existiert direktes Routing von intern oder extern in eine DMZ oder es kommen intern offizielle IPv4-Adressen zum Einsatz. Der Netzwerkverkehr soll zwar gefiltert, jedoch nicht via Adressumsetzung in irgendeiner Weise verfälscht werden (etwa wegen Authentifizierung anhand der Client-Adresse oder Nutzung von IPsec). Dazu muss folgendes erfüllt sein:

  • Statisches oder dynamisches Routing muss funktionieren

  • An der jeweiligen Schnittstelle muss "forwarding" aktiviert sein (gilt jeweils für Pakete, die hier eintreffen)

  • Entsprechende Filterregeln müssen in der Liste "forward" vorhanden sein

Ein Beispiel für den erlaubten direkten Zugriff von intern auf Webserver, die im Netzwerk 7.8.9.0/24 plaziert sind, lautet wie folgt:

# intern -> Webserver in 7.8.9.0/24
ipchains -A input -i eth0 -p tcp -s 192.168.1.0/24 1024: -d 7.8.9.0/24 80 -j ACCEPT
ipchains -A forward -i eth1 -p tcp -s 192.168.1.0/24 1024: -d 7.8.9.0/24 80 -j ACCEPT
ipchains -A output -i eth1 -p tcp -s 192.168.1.0/24 1024: -d 7.8.9.0/24 80 -j ACCEPT
# Antwortpakete
ipchains -A input -i eth1 -p tcp -s 7.8.9.0/24 80 -d 192.168.1.0/24 1024: ! -y -j ACCEPT
ipchains -A forward -i eth0 -p tcp -s 7.8.9.0/24 80 -d 192.168.1.0/24 1024: ! -y -j ACCEPT
ipchains -A output -i eth0 -p tcp -s 7.8.9.0/24 80 -d 192.168.1.0/24 1024: ! -y -j ACCEPT