私のISPはまだIPv6をサポートしておらず、現在OpenVpnまたはOpenConnect VPNを使用してIPv6接続を取得しています。
OpenWRTルータの下にVPNクライアントを実行するUbuntuサーバーがあります。
サーバーからフルLANネットワークにIPv6接続を共有(のみ)できますか?
答え1
もちろん、IPv6接続がLAN上のすべてのデバイスを収容するのに十分な大きさのプレフィックスを提供する場合(すなわち、/ 128より小さいプレフィックス番号、好ましくは/ 64以下)。
まず、次の行を追加してIPv6転送を有効にします/etc/sysctl.conf
。
net.ipv6.conf.all.forwarding=1
その後、実行またはsudo sysctl -p
再起動すると適用されます。
これは副作用としてIPv6自動設定を無効にするため、これらのコマンドを実行するようにスケジュールしてVPNインターフェイスでそれを再度有効にする必要があります。後ろにVPNインターフェイスが表示されます。
sysctl -w net.ipv6.conf.<your_VPN_interface_here>.accept_ra=2
sysctl -w net.ipv6.conf.<your_VPN_interface_here>.autoconf=1
VPNインターフェイス(=単一ホストのみ)に/ 128プレフィックスがある場合は、VPNプロバイダに連絡してより広いプレフィックスを取得する方法を学びます。他の VPN 設定が必要な場合があり、VPN 側でプレフィックス要求を実行するように DHCPv6 クライアントを設定する必要があります。
VPNインターフェイスで/ 64(=より小さい数字)よりも広いプレフィックスを取得できる場合は、LANでSLAACを使用できます。これはおそらくIPv6を設定する最も簡単な方法です。
ここでは、IPv6ファイアウォールも考慮する必要があります。不要なVPN側からの着信接続をブロックするために、事前にいくつかのIPv6ファイアウォールルールを設定してください。 ICMPv6タイプまたはIPv6マルチキャストをブロックする前にもう一度考えてみてください。どちらもIPv6プロトコルの重要な部分なので、完全にブロックすることはできません。
これで、システムがIPv6ルーターになる準備ができました。 VPNインターフェイスのプレフィックスとして使用できるIPv6アドレス空間を分割し、そのサブプレフィックスをLAN側インターフェイスに割り当てる方法を検討する必要があります。これでプレフィックスのすべてのIPv6アドレスを使用できるようになり、LAN側のインターフェイスにIPv6アドレスを手動で割り当てるだけです。
radvd
次に、システムがLANにIPv6ルーターとして通知するようにインストールして設定します。最新バージョンでは、radvd
IPv6 DNSサーバーとクライアントが使用する必要があるドメインサフィックスも通知できます。
radvd
構成には、クライアントがStateless Address Autoconfiguration(SLAAC)を使用して独自のIPv6アドレスを選択できるかどうか、またはDHCPv6を使用する必要があるかどうかを示す設定も含まれます。 SLAACを許可することを選択した場合でも、DHCPv6サーバーを使用してクライアントにいくつかの追加の構成情報を提供できます。
これらのビットを正しく設定し、radvd
LANにIPv6ルータの存在を知らせ始めると、LAN端末のプレフィックスが/ 64以上でSLAACを許可した場合、クライアントに通知が送信され、radvd
自動的にデフォルトのIPv6設定を取得します。
LAN側で/ 64よりも厳密なプレフィックス(=より高い数字)を使用するか、SLAACを無効にすることを選択した場合は、クライアントにDHCPv6サーバーを設定する必要があります。
その後、テストを開始できます。クライアントで始まるリンクローカルのIPv6アドレスのみが表示されている場合は、fe80::
まずルーター広告が表示されていることを確認する必要がありますradvd
。これは IPv6 自動設定の基本部分です。これらの通知がなければ何も起こりません。
答え2
VPNプロバイダが/ 64プレフィックスより厳密なIPv6アドレスのみを提供する場合(私の場合)、/128
IPv6 NATを実行することも許可されます。
まず追加しnet.ipv6.conf.all.forwarding=1
て/etc/sysctl.conf
有効にしてください。
次に、IPv6 NATの有効化実行してip6tables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
次に、ULAアドレス(この特別な場合はIANA予約アドレスよりも良い)を選択し、/etc/radvd.conf
次のように編集します。
# /etc/radvd.conf
interface eth0 {
AdvSendAdvert on;
MinRtrAdvInterval 3;
MaxRtrAdvInterval 10;
prefix fd12:3456:7980:abcd::/64 {
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
};
};
最後に、radvd
サービスを再起動します。
システムは自動的にDHCPv6を実装します。