web-dev-qa-db-ja.com

インターネットへの1つのIPv6を持つ複数のデバイス?

複数のデバイス(LAN内)を単一のパブリックIPv6アドレスを介してインターネットに接続したい。

残念ながら、これを行うための良い方法は見つかりませんでした。私が持っていた唯一のアイデアは、PF/OPNsenseからOpenVPNを介してRaspberry Piなどにすべてをトンネルしてから、Senseの前にIPv6でインターネットにアクセスすることでした。

計画されるセットアップは、インターネット(WAN)-フリッツボックス(LAN1)-PFSense/OPNsense(WANインターフェース付き)-LAN2

他の可能性はありますか? VPNソリューションは本当に素晴らしいものではありません。

どうして?各(プライベート)デバイスに独自のパブリックIP(プライバシー拡張も含む)を割り当てると、追跡が簡単になります。また、一部のデバイスにはプライバシー拡張機能がないか、アクティブではありません。

5
Hannes

IPv6はそうしないように設計されています。 IPv4スタイルを試してみるNAT=は失敗します。とはいえ、LinuxのiptablesでNAT IPv6を実行できると確信しているので、不可能ではありません。しかし、私はそれをしないことを強くお勧めします。

36
Sander Steffann

IPv6には、IPv4のようにNAT標準がありません。 IPv6には an EXPERIMENMTAL RFC for one-to-one NAT(insideアドレスごとに1つの外部アドレス)がありますが、実行したいことを明示的に禁止しています(以下で強調表示します) ):

6。ポートマッピングに関する注意

NAPT44デバイスは、データグラムが転送されるときにIPアドレスを上書きすることに加えて、送信トラフィックの送信元ポート番号と受信トラフィックの宛先ポート番号を上書きします。このメカニズムは「ポートマッピング」と呼ばれます。

ポートマッピングの主な利点は、複数のコンピューターが単一のIPv4アドレスを共有できることです。多数の内部IPv4アドレス(通常は[RFC1918]プライベートアドレススペースの1つから)を単一の外部のグローバルにルーティング可能なIPv4アドレスにマップできます。ローカルポート番号は、各受信データグラムを受信する内部ノードを識別するために使用されます。このアドレス増幅機能は、現時点では一般的に必要とされていません。

ポートマッピングではトランスポートレイヤーヘッダーの一部を書き換える必要があるため、NAPT44デバイスは転送するすべてのトランスポートプロトコルを認識する必要があり、新しい改良されたトランスポートプロトコルの開発を阻害し、IPsec暗号化の使用を妨げます。トランスポート層ヘッダーの変更は、完全なIPペイロードを暗号化し、NAPT44をルーターで簡単に再計算される弱いチェックサムアルゴリズムを使用する転送トランスポート層に制限するセキュリティメカニズムと互換性がありません。

トランスポート層ヘッダーの変更による重大な悪影響があるため、IPv6でのポートマッピングの使用によるメリットはほとんどないため、これに準拠するNPTv6トランスレーター仕様はポートマッピングを実行してはなりません。

また、NATは一部のIPv6機能に違反していることがわかります。

IPv6にはたくさんのアドレスがあるので、IPv4のようにNAPTを使用する必要はありません。 IPv4のNAPTは、各ホストに一意のアドレスが割り当てられるIPパラダイムを破るので、接続はエンドツーエンドで行われ、中間のデバイスが接続の状態を維持する必要はありません。 IPv6はIPパラダイムを回復し、TCP、UDP、ICMP *以外のプロトコルを許可し、NAPTによって破壊されたアプリケーションとアプリケーション層プロトコルを修正します。

プライバシー拡張の追跡と機能を誤解している可能性があります。事実は、Privacy Extensionsが防止する追跡は、デバイスが異なるネットワークに接続されているときにデバイスを追跡することであり、デバイスがインターネットで使用するサービスを追跡するのではなく、接続されている各ネットワークで新しいアドレスを取得します。元のSLAACのみを使用することで、デバイスは常に同じインターフェイス上に同じIID(インターフェイス識別子)を持ち、デバイスが接続されているネットワークに関係なく、ネットワークからに移動するときにデバイスを追跡して相関させることができます通信網。デバイスが単一のネットワークにのみ存在する場合、これは問題ではありません。追跡する動きはありません。デバイスを他のネットワークに移動し、デバイスがプライバシー拡張をサポートしていない場合は、追跡できますが、デバイスソフトウェアが古すぎてセキュリティの問題に悩まされていると私は主張します。

デバイスが単一のネットワークにのみ接続している場合、追跡リスクはありません。また、MACアドレスなどの識別子を使用するSLAACを使用する代わりに、DHCPv6を使用してアドレッシングを割り当てることも、アドレスを手動で割り当てることもできます。


*RFC 3022、従来のIPネットワークアドレストランスレータ(従来のNAT)は、セクション2.2のNAPTを含むIPv4 NATについて説明しています。

TCP、UDP、およびICMPクエリタイプ以外のセッションは、NAPTルーターによって処理されるローカルノードからは許可されません。

20
Ron Maupin

IPv6アドレスは、追跡するための最も強力な方法ではありません。 DNSトラフィックは、インターネットのどこに向かっているかを示します。デスクトップとモバイルでは、広告とソーシャルトラッキング識別子がデバイスやIP全体でユーザーを追跡します。

IPv6アドレスは頻繁に変更でき、ホストではなくサイトを識別する共通のプレフィックスのみを残します。プライバシー拡張機能のないデバイスでは、自分と同じようなものを実装することを検討してください。ランダムなホスト識別子を生成し、それをプレフィックス内のIPアドレスとして静的に割り当てます。

トラフィックを暗号化します。すべてのアプリケーションにTLSを使用します。

信頼できないネットワークを通過する必要がある場合は、安全なオーバーレイを使用してください。

NATは避けてください。すべてのデバイスは数十億のIPから選択できますが、なぜ1つにまとめてエンドツーエンドの接続を切断するのですか?

8
John Mahowald

他の人が指摘したように、多くの方法がありますデバイスが追跡されます。それらの数が(数十ではなく)数千あり、それらすべてを同じIPにマッピングしたとしても、それほど大きな違いはありません。

たとえば、自分で試してみたい場合は https://panopticlick.eff.org/ を参照し、[すべての結果を表示]をクリックしてください。さまざまなデバイスで試してください。VPNまたはルーターの再起動によってIPを変更することもできます。それは恐ろしいことです。したがって、プライバシーが強化されたブラウザ(すべてのデバイスで使用できることはほとんどありません)を使用し、接続するたびにルーターを再起動してIPを(うまくいけば)変​​更しても、デバイスは依然として十分に識別されます。

ここで、より多くの情報にアクセスできる悪質なトラッカー(問題のあるもののほとんど)を処理していて、ほとんどのアクセスが1つのIP(または1つのIPv6範囲)から行われているという事実を想像してください。違いはありません)。

NAT-ingを使用してプライバシーを強化することで、「ディーゼル車の排気ガスの周りに濡れたタオルを置いて、汚染を減らしたい」としています。測定可能な方法ではまったく役に立ちません。

エンドツーエンドの接続を気にしないのであれば、IPv6を気にする必要はありません。デバイスがプレーンIPv4で問題なく機能する可能性が高いNAT残りのライフタイムの間。

そうは言っても、それでもすべての発信接続が1つのIPv6アドレスから行われるべきであるという考えを主張する場合は、ルーティングを無効にし、代わりにプロキシソフトウェアをインストールします。一般的なSOCKSプロキシプロトコルがありますが、HTTPの場合は Privoxy のようなプライバシーを強化するプロキシを使用する方が適切です。さらに、Privoxyのアップストリームを Tor network にリンクして、IPソースアドレスを変更する利点を得ることができます。プロキシを使用できない場合は、VPNが最善かつ最も醜い方法です。

それは実際には少しプライバシーを助けるかもしれませんが、今日より良い結果を得るためには、Javascriptを完全に無効にする必要があります(または、少なくともより安全なモードで Block Origin および NoScript をインストールする必要があります)そして、サイトごとにそれらを苦痛に設定します)すべてのデバイスで(そしてもちろん、Flashや他のブラウザープラグインのような恐怖を無効にします!)

7
Matija Nalis

珍しい/眉をひそめたものをやりたい場合は、エッジルーターとしてあらかじめ用意されている「ルーターディストリビューション」を使用するのはおそらく最善の方法ではありません。さらに、pfsenseはfreebsd pfに基づいており、「1対多」のipv6 NATをサポートしていません。

1対多のipv6 NAT=を実行する場合は、エッジルーターとして最近のバージョンの汎用Linuxディストリビューションを使用することをお勧めします。Linuxは3.9.0でipv6 natのサポートを追加し、それを使用しています。基本的には、ipv4と同じくらい簡単です。たとえば、「ip6tables -A POSTROUING -t nat -o -j MASQUERADE」のようにします。

5
Peter Green

IPv6アドレスを介して追跡されているという懸念に対処する:一時アドレスを使用する可能性があります。これは理論からしかわかりませんが、それが標準的なセットアップであるに違いないと感じています。

https://tools.ietf.org/html/rfc4941

また: https://tools.ietf.org/html/rfc7721

1
Nigel Nop

IPv6を実行できますNAT隠蔽しているネットワークと単一のIPを使用しているネットワークとの間の十分に最新のiptablesをサポートするルーターで問題なく動作します。実際には、複数のマシンを背後に置くために使用されます here に記載されているように、cjdns IPv6オーバーレイネットワーク上のゲートウェイ。

カーネルにIPv6転送が設定されていて、ルーターが2つのネットワーク間のパスに設定されているとすると、iptablesルールは次のようになります。

ip6tables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
ip6tables -A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
ip6tables -A FORWARD -i eth1 -o eth0 -j ACCEPT

ここに、 eth0は、非表示にするネットワーク上のインターフェースであり、tun0は、すべてが背後にあるように見せたいIPを持つインターフェースです。

この種のNATを使用すると、確立されたセッションの一部ではない受信接続またはトラフィックが台無しになることに注意してください。内部マシンの「実際の」IPv6アドレスにアドレス指定されたパケットは、正常に受信されますが、応答はNATで処理され、別のアドレスから送信されたように見えます。NATの背後から開始されたセッションのみが適切に機能します。受信をブロックするファイアウォールルールを追加することをお勧めしますNATが知っているセッションに関連しないトラフィック。

1
interfect