IX2215でDHCPv6-PDの再移譲をしつつひかり電話に対応するという夢を見た

HGWを使いたくないけどひかり電話とIXを両立したい誤家庭のみなさんへ

はじめに

お久しぶりでございます。千葉です。(n回目)
編集ダルいのでまた1年放置しましたが、おうちでけしからん夢を見たので備忘録的な物を残します。なお、これをまねた結果どうなっても責任は取れません。というかもっと良い方法あると思います。
さて、今回なにをするかでありますが、それは以下の通りです。

  1. UNIVERGE IX2215(以降IX2215)でNTTのフレッツ光(ひかり電話あり)からDHCPv6-PDで降ってくるプレフィクス長が/56のIPv6アドレスを受ける
  • IX2215はNECの業務用ルーターであり一般の誤家庭には広く普及しております。たぶん皆さんのおうちにも1台くらいはいるでしょう
  1. そして、IX配下のルーターたちにPDの再移譲で/60のIPv6アドレスを渡す
  • 今回は検証としてIX2207とUnifi Expressをつなぎました。うちに落ちてたので。
  1. それでもって、IX2215にYAMAHAのVoIPルーターのNVR500(以降NVR500)をつなぎ、ひかり電話を受けるというなかなか奇っ怪なことをやります。

目的~こんな面倒なことをする理由

学生なので本分は勉強なんですが、現実から逃げるために遊んだ というのがあったり無かったりしますが、目的は将来の10G回線に対応することにあります。
こんにち普及しつつあるフレッツ光の10G回線であるフレッツ光クロスは、フレッツ光ネクストと異なりIPoEとPPPoEが両立できない仕様であるといわれています。(そもそも10G回線でPPPoEでは力不足説もある。)かつ我が家はど田舎の家ですのでイエデン(つまりひかり電話)は維持しないと面倒です。
そして我が家には私の所属しております組織のSmall Travelersのサーバー群がおりまして、こいつらにはある程度グローバルでスタチックなIPv4アドレスをくれてやらないとご機嫌を損ねてしまいます。
ひかり電話があるフレッツ光環境にはNTTのHGW(ホームゲートウェイ)をレンタルするのが一般的ですが、こいつには問題があります、ええ、普通の方には関係の無い問題です。そうです、HGWはIPoEの複数固定IPに対応していないのです。これではおうちにいらっしゃるサーバー君たちがかわいそうです。
ではYAMAHAのNVR510あたりを使えば問題が解決するんじゃねえのといわれるわけですが、こいつはこいつでなかなかにやっかいで、10Gには対応していません。YAMAHAさん、そろそろNVRの新作出しませんか?マジで。そしてDHCPv6-PDの再移譲にも対応していません。
そういうわけで我が家にも将来光クロスを入れて10Gに対応させることも視野に入れたおうちネットワーク環境の設計を行ったのですが、それには以下の通りの要件があるわけで、こいつをなんとかクリアするためにがんばる必要がありました。

  1. ひかり電話に対応させる
  2. 10Gに対応させる
  3. DHCPv6-PDの再移譲ができる 3については余り深い意味が無くて、できたらいいな~くらいの感覚でやっています。
    では、さっそくやってきましょう!!!

環境

画像の通り。
img1

  • 回線:NTT東日本管内のフレッツ光・ネクスト(1G回線)(実はドコモ光)
  • プロバイダ:OCN(PPPoEもIPoEも両方行ける。現状PPPoEを使ってる。)
  • ルーター君たち
    • HGW:PR-400MI(今回はUNI出しでONUとして利用)
    • RT1:NEC UNIVERGE IX2215(DHCPv6-PDを再移譲するルーターとして)
    • RT2:NEC UNIVERGE IX2207(MAP-EでIPv4を処理するルーターとして)
    • RT3:YAMAHA NVR500(ひかり電話を処理するルーターとして)
    • RT4:Ubiqiti Unifi Express(PPPoEでIPv4を処理するルータ-として)
  • パソコン:富士通が作ってるただのノートパソコン

ルーター1の設定

やることの概要

ルーター1はIX2215君です。この子には回線側からやってくるDHCPv6-PD(プレフィックス/56)を受け取り、配下のルーターに再移譲(プレフィックス長は/60)を行います。かつ、ひかり電話用に回線から来るDHCPv4をいい感じに処理したうえで、配下のルーターがPPPoEも使えるようにします。
※ 今回PPPoEを使えるようにしたのは暫定的な物で、将来的にはIPoEに一本化します。

投入したConfig

とりあえずConfigを出すよ

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
ip access-list dhcpv4-deny deny udp src any sport any dest any dport eq 67
ip access-list dhcpv4-deny deny udp src any sport any dest any dport eq 68
!
!
ipv6 ufs-cache max-entries 65535
ipv6 ufs-cache enable
ipv6 dhcp enable
!
!
bridge irb enable
no bridge 1 bridge ipv6
!
!
proxy-dns ipv6 enable
proxy-dns ipv6 request both
!
!
ipv6 dhcp client-profile dhcpv6_cl_ge0.0
  option-request dns-servers
  option-request ntp-servers
!
ipv6 dhcp client-profile flets-cpe
  option-request dns-servers
  option-request ntp-servers
  ia-pd redistribute pool v6-pool-ge2.0 ::/60 nla-length 4
  shutdown-delay 100
!
ipv6 dhcp server-profile v6-prefix-ge2.0
  ia-pd redistribute-prefix pool v6-pool-ge2.0
  shutdown-delay 100
!
! (省略)
!
interface GigaEthernet0.0
  no ip address
  ipv6 enable
  ipv6 address autoconfig receive-default
  ipv6 dhcp client flets-cpe
  bridge-group 1
  no shutdown
!
interface GigaEthernet1.0
  no ip address
  bridge-group 1
  no shutdown
!
interface GigaEthernet2.0
  no ip address
  ip filter dhcpv4-deny 1 in
  ipv6 enable
  ipv6 dhcp server v6-prefix-ge2.0
  bridge-group 1
  no shutdown
!
! (以下省略)

解説もどき

あんまり私自身がよく分かっていないので雑ですが、それぞれの説明を書いていきます。

DHCPv6-PDまわりの設定

  • このあたりの設定は、こちらのサイトを参考に行いました。

  • 該当の設定は以下の部分です。

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    
    ipv6 ufs-cache max-entries 65535
    ipv6 ufs-cache enable
    ipv6 dhcp enable
    !
    proxy-dns ipv6 enable
    proxy-dns ipv6 request both
    !
    ipv6 dhcp client-profile dhcpv6_cl_ge0.0
      option-request dns-servers
      option-request ntp-servers
    !
    ipv6 dhcp client-profile flets-cpe
      option-request dns-servers
      option-request ntp-servers
      ia-pd redistribute pool v6-pool-ge2.0 ::/60 nla-length 4
      shutdown-delay 100
    !
    ipv6 dhcp server-profile v6-prefix-ge2.0
      ia-pd redistribute-prefix pool v6-pool-ge2.0
      shutdown-delay 100
    !
    interface GigaEthernet0.0
      no ip address
      ipv6 enable
      ipv6 address autoconfig receive-default
      ipv6 dhcp client flets-cpe
      no shutdown
    !
    interface GigaEthernet2.0
      no ip address
      ipv6 enable
      ipv6 dhcp server v6-prefix-ge2.0
      no shutdown
    
  • とりあえず上記の設定でGE2側にDHCPv6-PDによる再移譲ができるようになるはずです。

  • ia-pd redistribute pool v6-pool-ge2.0 ::/60 nla-length 4はお好みの設定にすると良さそうです。なおnla-lengthの設定はイマイチよく分かっていません…

ひかり電話用ブリッジ設定

  • ひかり電話用のNVR500をGE1につなげるための設定です。
  • これを実現するために、GE0とGE1をブリッジします。
  • ブリッジする際は、NVRがDHCPv6-PDを回線から受け取らないように調整するする必要があります。
  • 該当の設定は以下の通りです。
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    
    bridge irb enable
    no bridge 1 bridge ipv6
    !
    interface GigaEthernet0.0
      no ip address
      bridge-group 1
      no shutdown
    !
    interface GigaEthernet1.0
      no ip address
      bridge-group 1
      no shutdown
    
    • bridgeがIPv6を扱わないようにすることで、NVRがDHCPv6を受け取らないようにしてます。
    • 単純にGE0とGE1をブリッジすることで、回線からのDHCPv4をNVRが受け取れます。

PPPoEブリッジの設定

  • IX2000/3000シリーズのルーターでは、WANポートとLANポートを単純にブリッジ接続することでPPPoEブリッジの設定ができます。
  • しかしながら、今回は単純にブリッジしてしまうとGE2からもDHCPv4を受け取れる設定となってしまうため厄介です。
  • GE2にフィルタを投入してやることで、上記の問題を解消します。
    • DHCPv4はUDPの67番と68番のポートを使用するため、理論上はこれらのポートをブロックすればOKです。
  • 該当の設定は以下の通りです。
    1
    2
    3
    4
    5
    6
    7
    8
    
    ip access-list dhcpv4-deny deny udp src any sport any dest any dport eq 67
    ip access-list dhcpv4-deny deny udp src any sport any dest any dport eq 68
    !
    interface GigaEthernet2.0
      no ip address
      ip filter dhcpv4-deny 1 in
      bridge-group 1
      no shutdown
    
    • ここではdhcpv4-denyというアクセスリストを作り、GE2に適用しています。
    • これによってGE2からは回線から来るDHCPv4を受け取ることができないはずです。
    • ここだけオリジナルなので自信がありません!

ルーター2の設定

IX2207君は、NEC公式の設定例に従ってひかり電話あり環境のOCNバーチャルコネクト(動的IP)における設定を入れます。これでIX2207の配下でIPv4による通信とDHCPv6-RAによるIPv6通信が使えるようになります。

接続

ルーター2はIX215のGE2のどこかにつなぎます。

投入したConfig

繰り返しですが、ほぼほぼ公式の設定例の通りです。IPだけ変えました。
パケットフィルタの設定についてはここには載せません。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
ip ufs-cache max-entries 20000
ip ufs-cache enable
ip route default Tunnel0.0
ip dhcp enable
!
ipv6 ufs-cache max-entries 10000
ipv6 ufs-cache enable
ipv6 dhcp enable
!
proxy-dns ip enable
proxy-dns ip request both
!
ip dhcp profile dhcpv4-sv
  dns-server 192.168.1.254
!
ipv6 dhcp client-profile dhcpv6-cl
  option-request dns-servers
  ia-pd subscriber GigaEthernet2.0 ::/60 eui-64
!
ipv6 dhcp server-profile dhcpv6-sv
  dns-server dhcp
!
interface GigaEthernet0.0
  no ip address
  ipv6 enable
  ipv6 dhcp client dhcpv6-cl
  no shutdown
!
interface GigaEthernet2.0
  ip address 192.168.1.254/24
  ip dhcp binding dhcpv4-sv
  ipv6 enable
  ipv6 dhcp server dhcpv6-sv
  ipv6 nd ra enable
  ipv6 nd ra other-config-flag
  no shutdown
!
interface Tunnel0.0
  tunnel mode map-e ocn
  ip address map-e
  ip tcp adjust-mss auto
  ip napt enable
  no shutdown

設定について

  • 何度も繰り返しますが、普通にOCNバーチャルコネクトを使う設定です。
  • IPv6はDHCPv6-RAで配下の端末に渡します

ルーター3の設定

YAMAHAのNVRくんです。ひかり電話のみを処理させる設定を入れます。

接続

ルーター3はIX2215のGE1につなぎます

設定

NVRはGUIから設定しました。NVR500のデフォルトIPアドレスは192.168.100.1/24です。設定した項目は次の通り。

  1. LAN側のDHCPサーバーをオフ
  2. 電話の設定>VoIPの設定>フレッツ光ネクストのひかり電話を有効化(設定の項目名は違うかも) これだけでOKでした。

ルーター4の設定

UbiqitiのUnifi Expressです。インターリンクの固定IPをPPPoEで処理させます。設定についてはただのPPPoEなので書きません。

接続

ルーター4はIX2215のGE2につなぎます

結果

マスキングが面倒なのでshow dhcpv6 serverとかの結果は載せませんが、だいたい思った通りの動きをしてくれました。ひかり電話が使えるかどうかが一番の懸念点でしたが、しっかりと使えました。ただし、Unifi ExpressがDHCPv6-PDをうまく受けられなかったので、こいつがどうしてこうなったのかについて確認を行いたい次第です。

ここまでのまとめ

ひかり電話ありのフレッツ光ネクスト環境において、IX2215で/56のIPv6の移譲を受け、IX2215配下のルーターに対し/60のIPv6を再移譲することを実現しました。ちゃんとひかり電話が使える状況の維持も行っています。
今回はIPoEとPPPoEを同時並行で扱えるように設定しましたが、正直これは不要だと思います。前述したように光クロス環境ではそもそもこれはできませんし、IPoEでも複数固定IPプランが出てきているためPPPoEを使うメリットが減ってきています。まぁISPの流量制限回避という意味ではPPPoEの併用について理解できないわけではないですが…
ただ、NTTのHGWを使わない環境でこの記事で扱った内容のことができたことに非常に満足しています。満足したからここにも書いた

今後について

  • 再移譲後のIPv6のプレフィックスは/60と/64のどっちが良さそうかについてもう少し調査・研究したい
  • IPoEのIPIPトンネル終端をさせつつ、DHCPv6-PDの再移譲ができるか調べたい(多分できる)
  • ひかり電話をNVR500のかわりにNECのビジネスフォン(Aspire WX)のひかり電話直収ユニット(IPTU)で収容できそうか実験したい
  • IX3315ほしい。今の段階では無用の長物ですが、楽しそうなのでほしいです。
  • フレッツ光クロス早く来い!!!!!

最後に

これ書くのが一番疲れました。2時間くらいかかった。
以上です。今回もありがとうございました。こんな記事が誰かのインスピレーションにつながれば幸いです。
本記事の内容について、重大な誤りがありましたらサイドバーにも表示されております私のX(旧Twitter)のDMまでご連絡ください。おそらくどの連絡手段よりも最速で対応させて頂きます。

参考文献

Hugo で構築されています。
テーマ StackJimmy によって設計されています。