9

ネットワークを維持する場合、透過プロキシを実行するのが便利なことがよくあります。透過プロキシとは、発信接続を「ハイジャック」し、ローカルサービスを介して実行するプロキシを意味します。具体的には、squidを使用してLinuxファイアウォールを実行し、ポート80で転送されるすべてのtcp/ip接続がsquidによってプロキシされるようにします。

これは、IPv4を使用してiptablesの「nat」テーブルを使用して実現されます。

しかし、IPv6のiptablesには「nat」テーブルがないため、同じ実装を使用することはできません。IPv6接続のトラフィックを透過的にプロキシするために使用できる手法は何ですか?

4

6 に答える 6

8

これを行う実行可能な方法は、iptables の TPROXY ルールを使用することです。ドキュメントは次の場所にあります。

これは、Squid (>= バージョン 3.2) でサポートされている必要があります。使い方--enable-linux-netfilteriptables -t mangle -j TPROXYルール。

于 2010-09-09T04:10:05.693 に答える
2

できません。squid-cache.orgからの引用:

NATはIPv6には存在しません。意図的に。

透明性/傍受は、実際には、NATルートを裏返しにひそかにねじることによって得られる機能です。NATのないプロトコルでは、そのように透過性と傍受を行うことができないのは非常に論理的です。

于 2009-03-25T11:35:16.910 に答える
2

iptables には、パケットをユーザー空間に配信するために使用できる QUEUE ターゲットがあります。よくわかりませんが、おそらくそこに何かが実装される可能性があります。

それを過ぎると、リダイレクトを行うためにカーネルに何かを追加することに挑戦することができます。

于 2009-03-09T06:38:53.357 に答える
2

実装は次のとおりです。

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

于 2009-06-24T21:06:34.533 に答える
0

別の種類の醜いハック:

  • すべてのトラフィックを iptables でマークします (IPv6 の CONNMARK ターゲットがあるようです)。
  • マークされたすべてのトラフィックを tun デバイスにルーティングします
  • tun デバイスでリッスンするデーモンでユーザー空間 NAT を実行します。
  • ...
于 2009-03-10T18:00:28.687 に答える
-2

IPv6スタックでNATの独自の実装を記述します。

于 2009-03-25T12:04:23.813 に答える