Frage

Wenn Netzwerke aufrechterhalten wird, ist es oft eine sinnvolle Sache zu tun, einen transparenten Proxy zu laufen. Durch transparente Proxy meine ich einen Proxy, dass ‚Hijacking‘ ausgehende Verbindungen und führt sie über einen lokalen Service. Insbesondere betreibe ich eine Linux-Firewall mit Tintenfisch so konfiguriert, dass alle TCP / IP fowarded Verbindungen auf Port 80 von Tintenfisch proxied werden.

Dies ist achived des iptables 'nat' Tabelle, IPv4 verwendet wird.

Aber iptables für IPv6 hat keine ‚nat‘ Tabelle, so kann ich nicht die gleiche Implementierung verwenden. Was ist eine Technik, die ich transparent für IPv6-Verbindungen Proxy-Verkehr nutzen?

War es hilfreich?

Lösung

Ein gangbarer Weg, dies zu tun mit der TProxy Regel in iptables, Dokumentation finden Sie hier:

Dies sollte unterstützt Squid (> = Version 3.2) werden. Mit --enable-linux-netfilter und die iptables -t mangle -j TPROXY Regel.

Andere Tipps

iptables hat eine QUEUE Ziel, das Sie Pakete an Userspace liefern können. Ich bin nicht sicher, aber vielleicht könnte etwas dort umgesetzt werden.

Past, dass Sie einen Stich an dem Hinzufügen etwas an dem Kernel-Umleitung zu tun nehmen könnten.

Sie können nicht. Zitiert von squid-cache.org :

  

NAT nicht einfach in IPv6 existieren. Durch   Design.

     

Da die Transparenz / Interception   tatsächlich ist ein Merkmal gewonnen durch   heimlich drehen NAT Routen innerhalb   und zurück auf sich selbst. Es ist ziemlich   logisch, dass ein Protokoll ohne NAT   kann nicht Transparenz tun und   Abfangen auf diese Weise.

Hier ist eine Implementierung:

http://www.suse.de/~krahmer/ip6nat/

Eine andere Art von hässlichen Hack:

  • MARK gesamter Verkehr mit iptables (scheint, gibt es CONNMARK Ziel für IPv6)
  • Route alle markierten Verkehr zu tun Device
  • User-Space-NAT in dem Dämon zu tun Device hören
  • ...

Schreiben Sie Ihre eigene Implementierung von NAT in IPv6-Stack.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top