こちらの記事でZOOT NATIVE & CentOSでのDS-Liteインターネットアクセスを実装した。
しかし、CentOS (Linux) をルータとして運用していくのは面倒(慣れの問題)なので、VyOSで同等のDS-Lite環境を構築する。本当はフレッツ光PPPoEインターネットルータとして使用しているCisco ASA5505がいいのだが、ASAはIPv4 over IPv6トンネル(そもそもトンネル機能全般)をサポートしていないため、VyOSで代替する。
事前準備 ZOOT NATIVE(インターリンク)契約
今回使用するプロバイダであるInterlinkのZOOT NATIVEの契約に関してはこちらを参照。2ヶ月の無料お試し期間を利用してDS-Liteによるインターネット速度改善を検証する。
- ネットワーク構成
- VyOSインタフェース設定
- IPv6アドレス・疎通確認
- IPv4 over IPv6トンネル設定
- IPv4疎通確認
- 速度比較
- IPoEも使用可能
- まとめ - ZOOT NATIVE & VyOS でDS-Lite (IPv4 over IPv6) インターネット接続する
ネットワーク構成
前記事でも記載の通り、Catalyst2960でoutside VLANとしてONUアクセスをマルチポイント化している。
VyOSインタフェース設定
VyOSにDS-Lite接続のための設定をする。(ベース設定・デフォルト設定は割愛)
- inside側NIC
inside側インタフェースはIPv4設定のみとする。
set interfaces ethernet eth0 address '192.168.1.2/24' set interfaces ethernet eth0 duplex 'auto' set interfaces ethernet eth0 smp_affinity 'auto' set interfaces ethernet eth0 speed 'auto'
- outside側物理NIC
outsideにはVLANインタフェースで接続する。物理インタフェースにはIPアドレス設定なし。
set interfaces ethernet eth1 duplex 'auto' set interfaces ethernet eth1 smp_affinity 'auto' set interfaces ethernet eth1 speed 'auto'
- outsideサブインタフェース
outside側VLANインタフェースはZOOT NATIVEからRA・DHCPv6でIPv6アドレスを取得する。トンネルのアンダーレイインタフェースとなる。
set interfaces ethernet eth1 vif 99 ipv6 address 'autoconf' set interfaces ethernet eth1 vif 99 ipv6 'disable-forwarding' set interfaces ethernet eth1 vif 99 ipv6 dup-addr-detect-transmits '1'
IPv6アドレス・疎通確認
ZOOT NATIVEの契約が完了していることを確認した上で、outsideインタフェースでIPv6アドレスの取得、IPv6通信が可能となっていることを確認する。
- IPv6アドレス
2409:10:24e0:2000::/64
のIPv6グローバルアドレスを取得できている。
$ show interfaces ethernet eth1 vif 99 eth1.99@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 00:0c:29:05:52:3b brd ff:ff:ff:ff:ff:ff inet6 2409:10:24e0:2000:20c:29ff:fe05:xxxx/64 scope global dynamic valid_lft 2591863sec preferred_lft 604663sec inet6 fe80::20c:29ff:fe05:xxxx/64 scope link
- IPv6ネイバー
網内対向機器のリンクローカルアドレスが見えている。
$ show ipv6 neighbors fe80::221:d8ff:fe9a:d1c1 dev eth1.99 lladdr 00:21:d8:9a:d1:c1 router REACHABLE
- IPv6デフォルトルート
網内対向機器のリンクローカルアドレス宛にIPv6デフォルトルートが設定されている。設定されない場合はset protocols static route6 ::/0 next-hop xxxx
で自分でも設定可能。
$ show ipv6 route Codes: K - kernel route, C - connected, S - static, R - RIPng, O - OSPFv3, I - ISIS, B - BGP, * - FIB route. S ::/0 [1/0] via fe80::221:d8ff:fe9a:d1c1, eth1.99 K>* ::/0 via fe80::221:d8ff:fe9a:d1c1, eth1.99 C>* ::1/128 is directly connected, lo C>* 2409:10:24e0:2000::/64 is directly connected, eth1.99
- DS-Lite疎通確認
DS-Lite IPv4 over IPv6トンネルの対向機器宛の疎通確認をする。対向アドレスは2404:8e00::feed:100
(2017/9月現在) 今後変更の可能性あり。随時ZOOT NATIVE(インターリンク)、transix(インターネットマルチフィード)の最新情報を確認する。
$ ping 2404:8e00::feed:100 PING 2404:8e00::feed:100(2404:8e00::feed:100) 56 data bytes 64 bytes from 2404:8e00::feed:100: icmp_seq=1 ttl=59 time=8.07 ms 64 bytes from 2404:8e00::feed:100: icmp_seq=2 ttl=59 time=3.13 ms $ traceroute 2404:8e00::feed:100 traceroute to 2404:8e00::feed:100 (2404:8e00::feed:100), 30 hops max, 80 byte packets 1 2409:10:24e0:2000::fffe (2409:10:24e0:2000::fffe) 1.830 ms 2.385 ms 2.384 ms 2 * * * 3 * * * 4 * * * 5 * 2404:8e00:feed:ff00::a (2404:8e00:feed:ff00::a) 6.766 ms * 6 2404:8e00:feed:ff07::2 (2404:8e00:feed:ff07::2) 8.938 ms 5.160 ms 5.095 ms 7 2404:8e00::feed:100 (2404:8e00::feed:100) 12.168 ms 16.176 ms 12.136 ms
IPv4 over IPv6トンネル設定
transix (インターネットマルチフィード) 宛のIPv4 over IPv6 トンネルを設定する。トンネルIPv4アドレスの指定は必要ない。
local-ipはDHCPv6で割り当てられたアドレスを使用する。
set interfaces tunnel tun0 encapsulation 'ipip6' set interfaces tunnel tun0 local-ip '2409:10:24e0:2000:20c:29ff:fe05:xxxx' set interfaces tunnel tun0 multicast 'disable' set interfaces tunnel tun0 remote-ip '2404:8e00::feed:100'
- IPv4 ルーティング設定
トンネル宛にデフォルトルートを設定する。
set protocols static interface-route 0.0.0.0/0 next-hop-interface 'tun0'
- OSPF設定(オプション)
私の環境ではCisco ASA5505がLAN-PCからのデフォルトゲートウェイになるようにしているため、VyOSとASAでOSPFにより経路交換している(Static再配信)。本当はVRRPなどでゲートウェイ冗長化したいが、ASAは未サポート。従来PPPoEは継続しているため、VyOS停止時には切り替わる。
IPv4疎通確認
ここまででDS-Lite通信に必要となる設定が完了している。
tracerouteで逆引きDNSを見ると、transix.jpを経由してIPv4インターネットアクセスできていることがわかる。
$ ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_req=1 ttl=61 time=4.56 ms 64 bytes from 8.8.8.8: icmp_req=2 ttl=61 time=4.04 ms $ traceroute 8.8.8.8 traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets 1 ike-gw00.transix.jp (14.0.9.66) 3.461 ms 3.910 ms 3.899 ms 2 ike-bbrt10.transix.jp (14.0.9.65) 3.976 ms 3.961 ms 3.946 ms 3 210.173.176.243 (210.173.176.243) 4.726 ms 4.555 ms 5.002 ms 4 108.170.242.161 (108.170.242.161) 4.994 ms 108.170.242.97 (108.170.242.97) 4.984 ms 5.273 ms 5 108.170.238.35 (108.170.238.35) 5.264 ms 108.170.236.181 (108.170.236.181) 5.254 ms 72.14.236.33 (72.14.236.33) 4.938 ms 6 google-public-dns-a.google.com (8.8.8.8) 4.624 ms 4.387 ms 7.371 ms
速度比較
従来の@nifty IPv4 フレッツ光PPPoEと、ZOOT NATIVE DS-Lite (IPv4 over IPv6)での通信速度を比較する。
@nifty IPv4 PPPoE + Cisco ASA5505
-> 約5.8Mbps
ZOOT NATIVE DS-Lite
ZOOT NATIVE DS-Lite + VyOS
-> 約61Mbps
約10倍の通信速度(スループット)となっている。ESXiの都合上、VyOSは100Mbps 1NIC構成となっているため頭打ちとなっているが、1Gbps-NICを使用すればさらに速度向上すると考えられる。
IPoEも使用可能
ZOOT NATIVEはDS-LiteとともにIPoE方式でのIPv6ネイティブ通信もサポートしている。そのため、こちらの記事で書いたCisco ASA 5505 での IPv6 NAPT方式によるIPv6インターネットアクセスも可能。
まとめ - ZOOT NATIVE & VyOS でDS-Lite (IPv4 over IPv6) インターネット接続する
VyOS を使用して、IPv6プロバイダZOOT NATIVE経由で transix (インターネットマルチフィード) へ DS-Lite (IPv4 over IPv6) インターネット接続した。これにより、IPv4インターネット網への通信速度が10倍程度向上した。引き続き無料期間はDS-Liteを使用し、ZOOT NATIVEを継続利用するか検討する。