本記事では、NEC の業務用VPNルーターIXシリーズを使い、筆者が使用しているプロバイダ(eo光、PPPoE方式)を例にIPv6設定方法を解説します。
eo光は関西電力の電力網を活用したケーブルテレビネットワークのプロバイダで、関西では大きいシェアを持っています。
またケーブルテレビ系列は、専用のインフラを保有しており、NTTのような広域回線業者を経由しないことから、IPv4/IPv6の速度差がほぼ無いという特徴があります。
以前、eo光の速度検証を動画でアップしていたのですが、視聴者様からのコメントでIPv6設定方法を教えて欲しいとの要望を頂いておりましたので、記事にまとめることにしました。
eo光は家庭用WifiルーターではIPv6接続できない
ケーブルテレビ系列においては、ほぼIPv6対応が済んでいると思いますが、IPv6の接続方式が「シングルセッションのデュアルスタック」となっており、一般の家庭用wifiルーターではサポートされていない接続方式となっています。
シングルセッションデュアルスタックは、主に海外で用いられている方式のようで、プロバイダからレンタルするWifiルーターはカスタマイズされていてIPv6で動作するようになっている模様です。
市販の家庭用WiFiルーターではeo光のipv6接続ができませんので、今回は業務用VPNルーター(NEC IX2105)を使います。IX2105は業務用だけあって、設定次第で何でもできます。
IX2105は後継モデルのIX2106が発売され、もう生産されていません。その代わり企業のルーター更新などで大量の中古品が出品されており、5,000~8,000円程度でとても安価に入手できます。
このルーターは業務用だけあって、極めて安定して動作しますし、スループットも1.3Gbpsと家庭用WiFiルーターのハイエンド機並みの性能を持っています。(後継機のIX2106は、スループット2GbpsでありLAN規格の上限です。)
さらに日本国内でIXシリーズを使う上では、Ciscoのようなリユース市場におけるソフトウェア面の制約も無いのでDIYには最適です。
eo光はNTTフレッツのIPv6設定では動かない
eo光などケーブルテレビネットワークは、「シングルセッションのデュアルスタック」となっていますので、NECのHPにあるフレッツ 光ネクスト IPv6インターネット設定ガイド集の設定には設定例が載っていません。(試しに入れてみてもPPPoE接続がエラーとなり動作しません。)
一般的な光ケーブルネットワークにIPv6で接続するためには、IPv4プロバイダのIDとPassで接続し、IPv4上でIPv6を動作させる必要があり、IPv4のEthernetポートの上でIPv6設定を行う必要があります。
ベースとなるコンフィグ記述例を探してみますと、NECのHPで次の通りに記載されていました。
!---IPv6設定 ipv6 route default GigaEthernet0.2 ipv6 ufs-cache enable ! ppp profile flets-v6 authentication myname [IPv6プロバイダ接続用ユーザID] authentication password [IPv6プロバイダ接続用ユーザID] [パスワード] ! interface GigaEthernet0.2 ppp binding flets-v6 exit !---IPv6 DHCP設定 ipv6 dhcp enable ! ipv6 dhcp client-profile dhcpv6-cl option-request dns-servers ia-pd subscriber GigaEthernet1.0 ! ipv6 dhcp server-profile dhcpv6-sv dns-server dhcp ! interface GigaEthernet0.2 ipv6 enable ipv6 dhcp client dhcpv6-cl ! interface GigaEthernet1.0 ipv6 enable ipv6 dhcp server dhcpv6-sv ipv6 nd ra enable ipv6 nd ra other-config-flag no shutdown exit
この記述は、NTTフレッツ光のデュアルセッションの記述ですので、eo光のシングルセッションデュアルスタックの設定に書き換えると、次のようなコンフィグになります。
!---IPv6設定 ipv6 route default GigaEthernet0.1 [ポートを0.2->0.1へ変更] ipv6 ufs-cache enable ! !ppp profile flets-v6 [pppは設定しない ipv4を使用] ! authentication myname [IPv6プロバイダ接続用ユーザID] ! authentication password [IPv6プロバイダ接続用ユーザID] [パスワード] ! !interface GigaEthernet0.2 [pppは設定しない ipv4を使用] ! ppp binding flets-v6 ! exit !---IPv6 DHCP設定 ipv6 dhcp enable ! ipv6 dhcp client-profile dhcpv6-cl option-request dns-servers ia-pd subscriber GigaEthernet1.0 ! ipv6 dhcp server-profile dhcpv6-sv dns-server dhcp ! interface GigaEthernet0.1 [ポートを0.2->0.1へ変更] ipv6 enable ipv6 dhcp client dhcpv6-cl ! interface GigaEthernet1.0 ipv6 enable ipv6 dhcp server dhcpv6-sv ipv6 nd ra enable ipv6 nd ra other-config-flag no shutdown exit
上記の変更は、WANのプロバイダ接続をIPv4で行い、IPv4のEthernetインタフェース上でIPv6のルーティング設定をしているだけです。動作原理が分かってしまうと、デュアルセッションより設定が簡単で済むことが分かります。(だから海外では主流なんでしょう。)
家庭内にはIPv4でしか動かない端末(ゲーム機やテレビ)がまだ沢山ある状態でしょうから、DHCPはIPv4とIPv6を同時に動かすようにします。
Windows PCなどIPv4,IPv6の両対応のクライアント端末は、自動的に2つのMACアドレスが割り当てられ、IPv4/IPv6どちらで動かすかの区別は端末のOSにお任せで動くようです。
これでIPv6/IPv4を意識して区別すること無く、快適に使えています。
eo光の回線速度はIPv6/IPv4とも同じ程度ですが、IPv6に対応しているサイトは相手先の回線が混雑していませんので、とりわけ高速に通信できているようです。
必要なファームウェアバージョン
NEC IXシリーズ IX2105, IX2106, IX2107: ファームウェアVer.9以降
IPv6はVer.8.6以上で設定可能となりますが、本記事で紹介するWeb設定作業ができません。設定作業する上での制約や注意事項は以下に列挙しますので、参考にしてください。
Webコンフィグ機能が使えない方はこちらの記事を使って、基本動作するコンフィグを作成してください。
- Webコンフィグ設定機能はファームウェアVer.9から対応しています。
- ファームウェアVer8.6よりIPv6対応(PPPoE)となりますが、Web設定は出来ません。
- IX2215(WANが2系統ある中級機)はWeb設定がサポートされていません。
- ファームウェアVer.10以上はWeb設定が強化されています。
- ファームウェア最新版の入手にはNECと保守契約が必要です。一般の方は入手が困難ですので、出来るだけ新しいファームウェアが入った中古機を購入するようにしてください。Ver.10以上の場合はNetMeister経由で最新ファームに更新が可能となります。
なお、Web設定が出来ない機種でも、本記事末のコンフィグファイルのIDとpassをプロバイダの設定やEthernetポート番号を編集して、teratermのコンソールから設定を流し込むことにより、ipv6対応設定が可能となります。
NTTフレッツ光を利用するIPoE IPv6回線に接続するには、Ver.10.1以上が必要です。IPoEはトンネルアダプタ機能を使うため、動作機能が追加されているためです。
必要機材
IXルーターは、リセットボタンが存在しないので、リセット(ルーターではスーパーリセットと呼んでいる)を行う必要があるため、以下の専用機材が必要です。
- コンソールケーブル(RJ45とDSUB9pinの接続変換ケーブル)
- RS232C-USB変換ケーブル
Web設定からIPv4のセットアップと接続確認をする
最初にルーターを初期設定(コンフィグ作成)する必要がありますが、いきなりコマンドインタフェースでの入力は大変なので、IXに装備されているWeb設定によるコンフィグ作成を使います。
Webでの設定方法は、中古高速VPNルーターを使った一般家庭内ネット環境の構築でまとめていますので、そちらの記事を参照してください。
IPv6設定を追加入力する
IPv6設定はWebによる設定が出来ませんので、IPv4の設定をしてからコマンドインタフェース(CLI)で追加入力していきます。
機器やコマンドの使い方など詳しい解説は、NECのIX2000シリーズ 取扱説明書や実機演習資料(初級編) ~UNIVERGE IX2215~等のメーカさん資料にわかりやすく記述されていますので、作業前に一読しておくとスムースに作業できると思います。
IXルーターとシリアル接続
ルーターにteratermでシリアル接続し、ログイン後、コンフィグモードに入ります。
web設定時のログインIDは"admin"、passwordは[Web設定であなたが設定したもの]を入れます。
Router# Router# config Enter configuration commands, one per line. End with CNTL/Z.
LAN経由のtelnet接続でも設定変更は可能ですが、設定でミスをすると即反映となってしまいますので、ルーターの電源入り切りできる環境で設定しましょう。(過去に遠隔から書き換えてしまい、詰んだことあり。)
IPv6コンフィグの追加入力
コンフィグモードに入ったら、以下のIPv6設定をcopy & pasteで流し込みます。
IPv6は自側のルーターでアクセス制限をかける必要がありますので、WAN側のアクセスフィルタ設定も実施します。フィルタの設定内容は、一般家庭でしたらNECのサイトにある記述そのままで十分と思います。
!---IPv6 ipv6 route default GigaEthernet0.1 ipv6 ufs-cache enable !---IPv6 DHCP ipv6 dhcp enable ! ipv6 dhcp client-profile dhcpv6-cl option-request dns-servers ia-pd subscriber GigaEthernet1.0 ! ipv6 dhcp server-profile dhcpv6-sv dns-server dhcp ! interface GigaEthernet0.1 ipv6 enable ipv6 dhcp client dhcpv6-cl ! interface GigaEthernet1.0 ipv6 enable ipv6 dhcp server dhcpv6-sv ipv6 nd ra enable ipv6 nd ra other-config-flag no shutdown exit !---IPv6 access-list ipv6 access-list block-list deny ip src any dest any ipv6 access-list dhcpv6-list permit udp src any sport any dest any dport eq 546 ipv6 access-list dhcpv6-list permit udp src any sport any dest any dport eq 547 ipv6 access-list icmpv6-list permit icmp src any dest any ipv6 access-list permit-list permit ip src any dest any ipv6 access-list dynamic dflt-list access permit-list ! interface GigaEthernet0.1 ipv6 filter dhcpv6-list 1 in ipv6 filter icmpv6-list 2 in ipv6 filter block-list 100 in ipv6 filter dhcpv6-list 1 out ipv6 filter icmpv6-list 2 out ipv6 filter dflt-list 100 out ipv6 tcp adjust-mss auto no shutdown
最後まで入れ終わったら、exitコマンドでコンフィグモードから抜けることを忘れないようにしましょう。
コンフィグの確認
動作しているコンフィグ設定を確認します。
Router(config)# show running-config Current configuration : 1696 bytes ! NEC Portable Internetwork Core Operating System Software ! IX Series IX2105 (magellan-sec) Software, Version 9.2.25, RELEASE SOFTWARE ! Compiled Mar 17-Thu-2016 11:22:46 JST #2 !
コンフィグチェック
コンフィグチェック(check configuration)を実施して、設定にミスが無いことを確認します。
Router(config)# check configuration Check access-list configuration [IPSec autokey-map] No error [IPSec dynamic-map] No error [route-map] No error [class-map] No error [IPv4 filter] No error Check ppp-profile configuration No error
コンフィグの保存
記載したコンフィグはwriteコマンドでフラッシュメモリに保存します。
Router(config)# write memory Building configuration... % Warning: do NOT enter CNTL/Z while saving to avoid config corruption. Router(config)#
この作業で、running-configとstartup-configが一致しますので、再起動時にも変更した設定が反映されることになります。
ルーター設置場所で動作させる
設定が終わったら、WANのEthernetをGE0に、LANをGE1に接続して、電源を投入すればあとは全自動です。
WANとのPPPoEの設定状況は、PPPランプで目視確認できます。PPPランプが点滅から点灯に変わったら接続成功です。
PPPが高速点滅の場合は、設定にミスがあるはずですので、コンソールから再接続して、コンフィグに設定もれがないか入念チェックをしてください。大抵は設定漏れですので、落ち着いて対応してください。
IPv6で動作することを確かめる
IPv6で動作しているかどうかはルーターのコンソールでping6コマンドを打てば確かめられます。
Router# config Enter configuration commands, one per line. End with CNTL/Z. Router(config)# ping6 g.co Looking up ipv6 address for "g.co" ...Success PING 1111:222:333:444:555:6666:7777:8888 > 2404:6800:400a:813::200e 56 data bytes 64 bytes from 2404:6800:400a:813::200e icmp_seq=0 hlim=119 time=3.300 ms 64 bytes from 2404:6800:400a:813::200e icmp_seq=1 hlim=119 time=3.345 ms 64 bytes from 2404:6800:400a:813::200e icmp_seq=2 hlim=119 time=3.344 ms 64 bytes from 2404:6800:400a:813::200e icmp_seq=3 hlim=119 time=3.815 ms 64 bytes from 2404:6800:400a:813::200e icmp_seq=4 hlim=119 time=3.094 ms --- 2404:6800:400a:813::200e ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip (ms) min/avg/max = 3.094/3.379/3.815
コンフィグの設定例
今回設定したコンフィグはshowコマンドで表示して、テキストファイルへコピぺ保管しておけば、いつでも同じ設定が戻せ、Web設定の作業が不要になります。
今回作成したコンフィグ記載しておきますのでご参考にしてください。
! NEC Portable Internetwork Core Operating System Software ! IX Series IX2105 (magellan-sec) Software, Version 9.2.25, RELEASE SOFTWARE ! Compiled Mar 17-Thu-2016 11:22:46 JST #2 ! timezone +09 00 ! username admin password hash [ログインパスワード(暗号化)] administrator ! logging buffered 131072 logging subsystem all warn logging timestamp datetime ! ip ufs-cache enable ip route default GigaEthernet0.1 ip dhcp enable ip access-list web-http-acl permit ip src any dest 192.168.1.254/32 ! ipv6 ufs-cache enable ipv6 route default GigaEthernet0.1 ipv6 dhcp enable ipv6 access-list block-list deny ip src any dest any ipv6 access-list dhcpv6-list permit udp src any sport any dest any dport eq 546 ipv6 access-list dhcpv6-list permit udp src any sport any dest any dport eq 547 ipv6 access-list icmpv6-list permit icmp src any dest any ipv6 access-list permit-list permit ip src any dest any ipv6 access-list dynamic dflt-list access permit-list ! proxy-dns ip enable proxy-dns interface GigaEthernet0.1 priority 254 ! http-server username admin http-server ip access-list web-http-acl http-server ip enable ! web-console wizard easy-inet-only-pppoe web-console interface lan1 GigaEthernet1.0 web-console interface wan1 GigaEthernet0.1 ! ppp profile web-ppp-gigaethernet0.1 authentication myname [IPv4プロバイダ接続用ユーザID] authentication password [IPv4プロバイダ接続用ユーザID] [パスワード] ! ip dhcp profile web-dhcp-gigaethernet1.0 dns-server 192.168.1.254 ! ipv6 dhcp client-profile dhcpv6-cl option-request dns-servers ia-pd subscriber GigaEthernet1.0 ! ipv6 dhcp server-profile dhcpv6-sv dns-server dhcp ! device GigaEthernet0 ! device GigaEthernet1 ! interface GigaEthernet0.0 no ip address shutdown ! interface GigaEthernet1.0 ip address 192.168.1.254/24 ip dhcp binding web-dhcp-gigaethernet1.0 ipv6 enable ipv6 dhcp server dhcpv6-sv ipv6 nd ra enable ipv6 nd ra other-config-flag no shutdown ! interface GigaEthernet0.1 description WAN1 encapsulation pppoe auto-connect ppp binding web-ppp-gigaethernet0.1 ip address ipcp ip tcp adjust-mss auto ip napt enable ip napt translation max-entries 65535 ipv6 enable ipv6 dhcp client dhcpv6-cl ipv6 tcp adjust-mss auto ipv6 filter dhcpv6-list 1 in ipv6 filter icmpv6-list 2 in ipv6 filter block-list 100 in ipv6 filter dhcpv6-list 1 out ipv6 filter icmpv6-list 2 out ipv6 filter dflt-list 100 out no shutdown ! interface Loopback0.0 no ip address ! interface Null0.0 no ip address
まとめ
VPNルーターは導入に設置作業を伴うため、業者に依頼すると概ね20~30万円コースとなりますので、本記事を活用したDIYでかなり節約が出来ると思います。
業務用ルータは記述するコマンドが特殊で難しいと思われる方が多いのですが、コンピュータの言語のように四則演算や比較処理といったロジックを全く考えなくても良いので、メーカーの設定例を改変していくだけで設定できてしまいます。
しかし、スクリプトの記述は簡単で良いのですが、言語のように変数や出力を確認しながらデバッグするということができません。そのため設定による通信不良などトラブルが出た場合は、原因を究明するまでに相当の経験とスキルが必要で、このようなVPNルータ構築を経験しておくと後々役に立つと思います。
一般的な会社勤めをしていると「ルーター設定が出来ること」は、人材面でもかなり重宝される場面があります。ネットワーク関連の知識を持っていると、欲張った収入を望まなければ、結構な求人がある業界なので若い方々にはお勧めのITスキルだと思います。
この記事を読んでやってみようと思う方が増えるとうれしいですね。