LoginSignup
3
7

More than 3 years have passed since last update.

Edgerouter (ER-X) で DS-lite だけしてみる (ひかり電話なし)

Last updated at Posted at 2020-05-04

苦労に苦労を重ねた IPoE化ですが、少しずつ記録を残しておきます。

前提条件

IPoEとして利用できる条件が整っていることが条件ですね。ご存知でしょうけど。

  • フレッツ光クロス、フレッツ光ネクスト、またはフレッツ光ライトなど NTT東日本・西日本のNGN回線引き込み済み
  • 「フレッツ・v6オプション」契約済み
  • DS-lite利用可能なIPoEプロバイダ(IIJ/Interlink/BB.Exceite/ぷららなど)に契約済み

なお、今すでにPPPoEを使っている状況の利用でも問題なく設定できます。安心して設定してください。また、WAN側(我が家ではeth0)にIPv4のアドレスを振っておく必要はありません。振っててもいいです。好きにしてください。

この設定でできること

IPoEでIPv4接続ができるようになります。IPv6通信はまだできません。

この図でいうとオレンジに囲われた「ココ」の部分を実現します。

Screen Shot 2020-05-04 at 11.36.06.png

IPv6アドレスの取得

まず、なにはともあれ IPv6アドレスを確認しましょう。以後の設定は、先程の図の通りWAN側をeth0、LAN側はeth1eth4を束ねたswitch0として扱います。また、すべてCLIで実行します。EdgerouterのOSであるEdgeMaxではIPv6の設定が、GUIからはちょっとやりにくい(できないとは言っていない)ので、コピペですんで確実なCLIでの操作にしています。大丈夫、1日格闘すれば覚えます。

さて、sshでログインしたらば、次のコマンドを実行します。

configure
set interfaces ethernet eth0 ipv6 address autoconf
commit; exit

これで10分程待つと、IPv6アドレスが振られるはずです。我が家ではこんな感じです。show interfaces コマンドを実行してみましょう。ここでeth0にIPv6アドレスが振られていれば成功です。ひかり電話がないので /64 でアドレスが振られています。このIPv6アドレスが重要ですので、コピペできるようにしておきましょう。

$ show interfaces
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface    IP Address                        S/L  Description
---------    ----------                        ---  -----------
eth0         2409:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64
                                               u/u  Internet
eth1         -                                 A/D  disabled
eth2         -                                 u/u  Local
eth3         -                                 u/u  Local
eth4         -                                 A/D  disabled
lo           127.0.0.1/8                       u/u
             ::1/128
switch0      xxx.xxx.xxx.xxx/24                u/u  Local

次にIPv6のデフォルトゲートウェイを知ります。個人的には ip -6 route | grep default のが分かりやすい気がしないでもないですが、VyOSっぽく知るには、このパターンです。

$ show ipv6 route  | grep '::/0'
K      ::/0 [1/0] via fe80::xxxx:xxxx:xxxx, eth0, 01w4d14h

さて、設定としてはこれで終わらせても良いですが、Edgerouter の再起動時などにIPv6アドレスが付与されるまで 10分程度も待てない、ということであれば静的割当しておくことも一つの方法です。ただし、NTT局内工事などでIPv6アドレスの割り振りが変わる可能性もあります。普段はほぼほぼ再起動するようなこともないでしょうし、あまり気にしなくても良い気はしますが、それでも静的割当しておきたいという方は、次のようにします。

IPv6アドレスの静的割当 (やりたい方だけ)

まず、IPv6アドレスの自動割当を削除します。

configure
delete interfaces ethernet eth0 ipv6
commit; exit

次に、今割り当てられているIPv6アドレスを消し去ります(付与されたままだと、IPアドレスの静的割り当てができません)。

$ sudo ip addr flush dev eth0

※ IPv4アドレスを割り振ってると、それも一緒にここで吹き飛びますから気をつけてください

あとは、先程確認したIPv6アドレスとデフォルトゲートウェイアドレスと個々に割り当てます。

configure
set interfaces ethernet eth0 address '2409:****:****:****:****:****:****:****/64'
set protocols static route6 ::/0 next-hop 'fe80::xxxx:xxxx:xxxx' interface eth0
commit; exit

DS-lite 用の IPv4 over IPv6 トンネルの設定

ここで事前に知っておくべきは 2点。

  1. local-ip = Edgerouter eth0 に割り当てられた IPv6アドレス (/64不要)
  2. remote-ip = NTT東日本・西日本ごとに割り当てられたAFTRのIPv6アドレス (次表を参照のこと)
NTT東日本エリア NTT西日本エリア
2404:8e00::feed:100 2404:8e01::feed:100
2404:8e00::feed:101 2404:8e01::feed:101

AFTRのアドレスは2つありますが、どちらか一方を指定すればよいです。

IPv6 トンネル最小限度の設定

configure
set interfaces ipv6-tunnel v6tun0 encapsulation ipip6
set interfaces ipv6-tunnel v6tun0 local-ip '2409:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx'
set interfaces ipv6-tunnel v6tun0 mtu 1452
set interfaces ipv6-tunnel v6tun0 multicast disable
set interfaces ipv6-tunnel v6tun0 remote-ip '2404:8e00::feed:101'
set interfaces ipv6-tunnel v6tun0 ttl 64

set protocols static interface-route 0.0.0.0/0 next-hop-interface v6tun0
commit; exit

以上で完了です。トンネル経由しているとは言え、まれにIPv4で攻められる時があるので(なんでや)、Firewall の設定をしておくことをオススメします。もし既に IPv4向けのFirewall設定をしていれば、それをそのまま再利用できます。今 eth0 に割り当てられているFireWallをv6tun0に割り当てればそれで良しです。

PPPoEからの移行

ここまでで、DS-liteの定義は完了です。こわがらずに PPPoEの定義を削除しましょう。

configure
delete interfaces ethernet eth0 pppoe
commit; exit

これで、無事に切り替わるはずです。わたしは躊躇してこのPPPoE設定を外せずにいたため、ずーっとIPoEに切り替えられずに1日悩みこみました。ホント、なんてこったい。

事の顛末は「せっかくのIPoE化もDS-liteの制限で台無しだったので、代替策を考えた」にありますので、こちらも気分転換にどうぞ。

参考リンク

3
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
7