Hallo RAMler,
vielen ank auch für die PN Anfrage. Ich versuche es mal hier im Forum zu beantworten, da es wahrscheinlich auch andere interessiert.
Die connection incomming-related und outgoing-related Regeln haben nichts mit NAT zu tun sondern mit einer Mimik, die "CONNTRACK" entspricht. es ist richtig, dass AVM da keine Einschränkungen auf Adressen, Protokolle und Ports zuläßt. Der Grund dafür sind die komplexeren Protokolle, die z.B. über tcp eine Verbindung aufbauen und dann über udp Datenpakete die Daten austauschen, dynamische Portbereiche verwenden etc. Die Box "erkennt" das Protokoll und öffnet bei Bedarf die Ports. Diese Regeln betreffen immer den Rückkanal einer Verbindung. Um die Verbindung zu steuern genügt es, den Hin-Kanal zu erlauben oder zu verbieten. Damit kannst Du z.B. gezielt ausgehende Verbindungen zu bestimmten Adressen blocken, auch wenn der Rückkanal dafür scheinbar offen ist - es werden keine Daten von diesen Adressen akzeptiert, da es ja keine passende ausgehende Verbindung gibt.
Die Firewall Regeln werden der Reihe nach abgearbeitet, bei einem Treffer werden nachfolgende Regeln ignoriert. Damit kann man z.B. mit einer Deny Regel ein Adressbereich z.B. für tcp sperren und in einer Folge Regel tcp für any erlauben mit der Wirkung, dass der tcp Verkehr zu allen Hosts, ausser den oben gesperrten - funktioniert.
Damit lassen sich auch dedizierte Regeln für den Rückkanal definieren, wenn sie vor den Conntrack Regeln stehen.
Das NAT ist eine ganz andere Geschichte. Wenn die Fritzbox im NAT Modus läuft, verhält sie sich wie ein transparenter Proxy für alle abgehender Protokolle. Sie baut die Verbindung zum Zielrechner im Internet mit ihrer externen IP-Adresse auf und schreibt in einer internen Tabelle von welcher Aderesse / Port / Protokoll im LAN die Anfrage zu dieser Verbindung kam. Wenn die Antwort an der Box ankommt, wird sie dann an den Rechner im LAN weitergeleitet.
Ausgehend:
LAN -> FritzLAN -> highoutput - NAT -> FritzWAN -> Internet
Rückweg:
Internet -> FritzWAN -> NAT -> lowinput -> FritzLAN -> LAN
Wie Du siehst, wird der jeweilige Zweig der Firewall immer durchlaufen, so dass man den Verkehr in beiden Richtungen kontrollieren kann.
Bei Portfreigaben werden statische Einträge in die oben genannte NAT Tabelle angelegt, die dafür sorgen, dass von Außen ankommende Pakete zum Verbindungsaufbau auf bestimmten Ports an der Fritzbox immer zu einer festen ip-Adresse im LAN weitergeleitet werden. Der Rückkanal kann dann z.B. mit einer conntrack Regel (connection incomming-related) im highuotput Zweig erlaubt werden. Beim AVM Standartregelsatz ist das nicht nötig, da outgoing alles erlaubt wird (bis auf NetBIOS).
Man kann die Rückkanäle auch mit normalen Regeln öffnen, conntrack ist aber eleganter, da nur dann eine Rück-Verbindung zugelassen wird, wenn zuvor eine Anfrage in die Gegenrichtung erfolgreich stattfand. Die Firewall ist sonst für alle anderen Anfragen auf dem selben Protokoll / Port gesperrt (wenn man sie so einstellt z.B. durch eine nachfolgende Deny-Regel oder einer default policy: Deny für den Zweig).
Das Hauptproblem bei der AVM Firewall ist, dass man kein Log bekommt, was an Paketen verworfen oder durchgelassen wird, so dass sich sowohl das Testen der Regeln als auch die Überwachung des Verkehrs schwieriger gestaltet. Man sieht ja nicht, was da alles an Verbindungen im Hintergrund aufgebaut werden und wozu sie dienen.
iptables funktioniert übrigens auch auf der 7170, nur die conntrack Regeln sind mit Vorsicht zu geniessen. Man kann aber mit Hilfe von iptables recht gut als Ergänzung zur AVM Firewall abgehende Verbindungen überwachen und protokollieren - auch ohne conntrack (z.B. durch Rückregel per default alles erlauben - AVM Firewall Conntrack kümmert sich ja um das Filtern). Außerdem unterscheidet iptables zwischen Verkehr von/zur Box (INPUT / OUTPUT chain) und Durchgangsverkehr zum LAN (FORWARD chain), so dass man hier sehr genau steuern kann was die Box darf und was nur für das LAN bestimmt ist.
Du wärst überrascht, wie viele Verbindungen Deine Geräte unaufgefordert ins Internet aufbauen...
IPv4 lässt sich mit der AVM Firewall einigermassen gut steuern, viel schwieriger wird es mit IPv6 und den vielen IPv6 Tunnel Protokollen. Die Verbindungs- Protokoll- und Nutzdaten werden da in "normale" tcp oder udp Pakete versteckt, um die Firewalls mehr oder weniger erfolgreich auszutricksen. Es gibt Protokolle, die verwenden z.B. tcp Port 80 (das normale WWW Protokoll) um IPv6 Verkehr zu tunneln, was sogar durch Proxies hindurch funktioniert, es gibt ISATAP, TEREDO, 6to4, 6in4, SixxS etc. die allesamt dafür gebaut wurden, um sich der Kontrolle durch sorglose / ahnungslose Admins zu entziehen und IPv6 zum Durchbruch zu verhelfen. Die OS Hersteller sitzen mit im Boot (Linux genauso wie Microsoft), sie installieren und schalten standardmäßig IPv6 frei, wenn kein IPv6 Router vorhanden ist, werden automatisch die Tunnelprotokolle aktiviert. MS geht sogar noch weiter und erlaubt es Applikationen trotz existierender ipv6 Verbindung dediziert TEREDO, 6to4 oder ISATAP Tunnel aufzubauen (mal im Internet danach googeln) was den Firewall Admins so alles graue Haare beschert.