Linux als Firewall

Kontrolle der Paketweiterleitung

Auch die Schalter für das Routing (/proc/sys/net/ipv4/*Schnittstelle*/forwarding) sind bei der Konfiguration einer Firewall zu berücksichtigen. Linux benutzt diese Schalter, um beim Eingang des Pakets zu entscheiden, ob es an eine andere Schnittstelle gehen darf. Dies gilt auch für Pakete, die demaskiert werden müssen. Steht der Wert für eine Schnittstelle auf 0, so bleibt das Paket in der Firewall. Damit lässt sich erreichen, dass Pakete von intern nicht nach außen geroutet werden, auch wenn die Firewall das Standard-Gateway ist.

Der aus Kompatibilitätsgründen zu Kernel 2.0.x noch vorhandene globale Schalter /proc/sys/net/ipv4/ip_forward ist mit Vorsicht zu genießen. Dieser Schalter verändert automatisch alle schnittstellenspezifischen Schalter für das Forwarding. Dies kann eine vorhandene Feinkonfiguration zunichte machen. Allerdings benutzen die meisten Netzwerkkonfigurationsskripts nur diesen globalen Schalter, so dass Sie unter Umständen diese Skripts bearbeiten müssen.

Zum Schluss sollten Sie noch den für das Defragmentieren von IPv4-Paketen zuständigen Schalter aktivieren:

sysctl -w net.ipv4.ip_always_defrag=1

Sonst können eventuell die Filterlisten der Firewall nicht immer greifen. Außerdem verhindert diese Einstellung Angriffe mit fragmentierten Paketen. Für die IP-Maskierung ist dies zudem obligatorisch, denn sonst funktioniert der Mechanismus nicht zuverlässig.