NATルータ配下にて、トンネルデバイスを含め、複数のIPv6アドレスを同時に扱うため、ポリシーベース(アドレスベース)のIPv6ルータを設定してみました。ネットワーク構成の概要は以下の通りです。
破線の部分がIPv6(固定)トンネルで、実線の部分がネィティブIPv6(半固定)です。この例では、
1.eth0:Native( not static ) IPv6 ( table 102, priority 102 )
2-1. he-ipv6:IPv6 over IPv4 /64 tunnel ( table 100, priority 100 )
2-2. eth1:static /48 IPv6 network assigned by Tunnel Broker ( table 100, priority 100 )
3. 6to4:static 6to4 tunnel ( table 101, priority 101 )
とし、それぞれの計三回線をポリシーベースルータで同時に扱います。なお、設定はDebian10/Busterを使っています。
また、NAT routerの外側のグローバル IP アドレスは、10.10.10.10、IPv6 policy based routerのプライベートIPアドレスは192.168.1.254とし、システム標準のデフォルトルート(デフォルトデバイス)は、スクリプトあるいは設定で標準のmainテーブルにデフォルトルートを設定する必要があり、以下ではeth0:ダイナミック(半固定)IPv6をデフォルトルート(デフォルトデバイス)にしています。なお、今回の設定では/etc/network以下の設定だけでPBRするようにしています。
1. eth0:Native IPv6 (table 99, priority 99)の設定
# /etc/network/interfaces.d/eth0
# /etc/network/interfaces.d/he-ipv6
# /etc/network/interfaces.d/eth1
# /etc/network/interfaces.d/6to4
ping6 を -I にてインターフェースアドレスを指定して実行してください。例えば、eth1のアドレスをソースアドレスとする場合、
また、実際の運用になると、ip6tablesのファイアウォール設定が必要になりますが、今回の記事では触れていません。
今回は以上ですが、he-ipv6と6to4のアドレスはpublicかつ固定かつ/64または/48のアドレスですので、広大なアドレスで楽しんでみてください。
追記:
nat配下故、トンネルデバイスがアクティブであることを示すため、he-ipv6の場合、例えば、対向の::1のtunnelbroker側のルータへの定期的なping6などの何らかの通信が必要になります。6to4も同様です。
1.eth0:Native( not static ) IPv6 ( table 102, priority 102 )
2-1. he-ipv6:IPv6 over IPv4 /64 tunnel ( table 100, priority 100 )
2-2. eth1:static /48 IPv6 network assigned by Tunnel Broker ( table 100, priority 100 )
3. 6to4:static 6to4 tunnel ( table 101, priority 101 )
とし、それぞれの計三回線をポリシーベースルータで同時に扱います。なお、設定はDebian10/Busterを使っています。
また、NAT routerの外側のグローバル IP アドレスは、10.10.10.10、IPv6 policy based routerのプライベートIPアドレスは192.168.1.254とし、システム標準のデフォルトルート(デフォルトデバイス)は、スクリプトあるいは設定で標準のmainテーブルにデフォルトルートを設定する必要があり、以下ではeth0:ダイナミック(半固定)IPv6をデフォルトルート(デフォルトデバイス)にしています。なお、今回の設定では/etc/network以下の設定だけでPBRするようにしています。
1. eth0:Native IPv6 (table 99, priority 99)の設定
# /etc/network/interfaces.d/eth0
auto eth0 iface eth0 inet static address 192.168.1.254 netmask 255.255.255.0 gateway 192.168.1.1 nameservers 8.8.8.8 1.1.1.1 iface eth0 inet6 static address 2400:XX:YY:ZZ00::1 netmask 60 up ip -6 route add 2400:XX:YY:ZZ00::1/60 dev eth0 tab 102 up ip -6 route add default via fe80::1 dev eth0 tab 102 up ip -6 rule add from 2400:XX:YY:ZZ00::1/128 tab 102 priority 102 up ip -6 route add default via fe80::1 dev eth02-1. he-ipv6:IPv6 over IPv4 /64 tunnel ( table 100, priority 100 )の設定
# /etc/network/interfaces.d/he-ipv6
auto he-ipv6 iface he-ipv6 inet6 v4tunnel address 2001:XX:YY:ZZ::2 netmask 64 endpoint EP.ADR.OF.TB local 192.168.1.254 ttl 255 # gateway 2001:XX:YY:ZZ::1 up ip -6 route add 2001:XX:YY:ZZ::2/64 dev he-ipv6 tab 100 up ip -6 route add default via 2001:XX:YY:ZZ::1 dev he-ipv6 tab 100 up ip -6 rule add from 2001:XX:YY:ZZ::2/128 tab 100 priority 1002-2. eth1:static /48 IPv6 network assigned by Tunnel Broker ( table 100, priority 100 )の設定
# /etc/network/interfaces.d/eth1
auto eth1 iface eth1 inet6 static address 2001:AAAA:BBBB::1 netmask 48 ttl 255 up ip -6 route add 2001:AAAA:BBBB::1/48 dev eth1 tab 100 up ip -6 rule add from 2001:AAAA:BBBB::1/128 tab 100 priority 1003. 6to4:static 6to4 tunnel ( table 101, priority 101 )の設定
# /etc/network/interfaces.d/6to4
auto 6to4 iface 6to4 inet6 v4tunnel mode sit address 2002:0a0a:0a0a::1 netmask 16 # gateway ::192.88.99.1 local 192.168.1.254 endpoint any ttl 128 up ip -6 route add 2002:0a0a:0a0a::1/16 dev 6to4 tab 101 # up ip -6 route add default via ::192.188.99.1 dev 6to4 tab 101 up ip -6 route add 2000::/3 via ::192.88.99.1 dev 6to4 tab 101 up ip -6 rule add from 2002:0a0a:0a0a::1/128 tab 101 priority 1014. /etc/sysctl.confについて sysctl.confは例えば以下のようにして、staticな設定にし、forwadingもするようにします。
net.ipv6.conf.all.forwarding=1 net.ipv6.conf.default.forwarding=1 net.ipv6.conf.all.autoconf=0 net.ipv6.conf.default.autoconf=05.回線のテストについて
ping6 を -I にてインターフェースアドレスを指定して実行してください。例えば、eth1のアドレスをソースアドレスとする場合、
ping6 -I 2001:AAAA:BBBB::1 -c2 www.google.comとしてください。各デバイスのソースアドレスを指定してPINGが通れば回線は正常につながっており、PBRは正常に設定できているということになりますので、外部からも接続できるということになります。なお、参考までに、6to4は到達性に問題がある場合があります。たとえば、www.kame.netには6to4では到達できません。(2020/03/13現在)
また、実際の運用になると、ip6tablesのファイアウォール設定が必要になりますが、今回の記事では触れていません。
今回は以上ですが、he-ipv6と6to4のアドレスはpublicかつ固定かつ/64または/48のアドレスですので、広大なアドレスで楽しんでみてください。
追記:
nat配下故、トンネルデバイスがアクティブであることを示すため、he-ipv6の場合、例えば、対向の::1のtunnelbroker側のルータへの定期的なping6などの何らかの通信が必要になります。6to4も同様です。
コメント
コメントを投稿