IPv6/IPv4 デュアルスタックのインターネット接続をOSSで作る

自宅のインターネットは、フレッツ光(ISP:ASAHIネット)を使っていますが、無料のIPv6オプションを有効にすると、PPPoEの認証無しにIPv6アドレスが降ってきます。その際、端末側でIPv6の自動構成が有効であれば、そのままIPv6を使ってインターネットに接続可能となります。

ただ、問題があります。

今、インターネット回線を接続する場合は、ブロードバンドルーターを介して接続している人がほとんどだと思います。メリットは、①単一のグローバルIPアドレスを内部のプライベートIPアドレスからNAPTを使用して接続することで枯渇しているIPv4アドレスを節約できる、NAPTの副次的なメリットとして基本的にインターネット側から直接PCにアクセスされることがない、②ブロードバンドルーターのフィルタリング(ファイアウォール)機能により不正な通信を遮断、の2つです。

IPv4は、上記のようにセキュリティを保った状態で接続できる方式が確立していましたが、IPv6には基本的にNATの仕組みがありません(細かくは、NAT-PT、NAT64、ステートレスNAT64、ステートフルNAT64、NPTv6等存在しますが、まだ発展途上だったり、IPv4/v6変換はDNSを使用して複雑だったりするので割愛します)。これは元々のIPv6の思想である、IPv6は端末ごとの一意のIPアドレスで相互通信すべき、から来ています。

つまり、自宅内のIPv6インターネット接続の問題は、「NATがないためインターネットから直接PCにアクセス可能な状態となる」です。数年前の市販のブロードバンドルーターは、何のフィルタリング無しにブリッジでPCを接続している場合もあったようですが、最近のものはフィルタリング機能が追加され、セキュリティの問題は改善されているようです。

私の場合は、自宅サーバーの仕組み上、VyOSを使いたいため、OSSを組み合わせて下記の構成を検討しました。

物理NICが3つあるPCにCentOS8をインストールして、KVM上で各VMを稼働させています。

VyOS#1

通常のIPv4でのインターネット接続用です。PPPoEを終端して、LANのIPアドレスをNAPTしています。

CentOS(IPv6ブリッジ)

IPv6のブリッジファイアウォールです。NIC1とNIC2はブリッジしており、InternetからのRA(ICMPv6)、DHCPv6を直接LAN内へ転送しています。また、ip6tablesのphysdevモジュールを使用して、ICMPv6/DHCPv6以外のNIC1からNIC2方向で開始する通信を遮断しています。CentOS8を使用しているのでnftablesでもよいのですが、勉強中なので慣れているiptablesを使用しています。尚、自宅内の専用のDNSが存在している場合は、DHCPv6の受信を止めることで、ISPのDNSサーバーを無効化できます。最近はRAのRDNSSオプションでDNSを受信できるようにもなってきたので、ASAHIネットもそうなったら別途検討する必要はありますね。

VyOS#2

これの目的は、VyOS#1のNIC2にLAN内のPCのMACアドレスを認識させないためです。仮にVyOS#2がなくbridge2にLANが接続されている場合、VyOS#1は、NIC1とNIC2の両方からLAN内のPCのMACアドレスを受信することになるため、通信が不安定になります。

まとめ

自宅のインターネットは、この構成でIPv6/IPv4のデュアルスタック構成で動いています。IPv6にするとインターネットが速くなったという話も聞きますが、私の環境では大きく変わった感じはなかったです。でも新しい技術に慣れ親しむという点でとても満足しています。IPv6でインターネットにアクセスできているかどうかは、「あなたのIPv6接続性をテストしましょう。」にアクセスすることで確認できます。自宅は10/10で全てのチェックがOKとなります。

IPv6/IPv4 デュアルスタックのインターネット接続をOSSで作る

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る