[Network] 一部IPv6ネットワークをHomenoc Operator’s Group回線に切り替える

現状

現状のネットワークですが、我が家のIPv6ネットワークのバックボーンにはHE Tunnel Brokerを使用しています。長らくコレのお世話になっているのですが、時々アクセス不能になるサイトがあったりしたので、なんとかならんかなーと思った次第です。

ここ最近HomenocさんのIPv4ネットワークを使わせていただいていることもあり、コレを活用したいところなんですが、残念ながら現行IPv4のネットワークを中継しているH3C S3610ではIPv6が引けません。というのも、セキュリティ保護/運用境界をはっきりさせることを目的としてMCEを使ってルーティングテーブルを論理分割してるんですが、このMCE機能とIPv6機能が排他的であることが原因です。つまり、デュアルスタックしたければ、MCEを捨てなければなりません・・・それは無理なので断念していました。

機材も使い尽くしてるしなー・・・・と思ったら、そういえば昔SEIL/x86のライセンス買って使おうとしたけど、興味がわかずに放置プレイしてたなぁと。

そうだ!コレを使ってIPv6ルーターを作ろう!何れ仕事で必要になるかもしれんし、基礎は覚えておいてそんはないやろ!とか考えまして。

ただ、いくつか大きな課題があり。

大きなところとしては以下2点です。

  • そもそもEtherIPに使用してるポートが1つしかない
  • そもそもSEIL/x86、BGP+対応してない・・・Orz

そこで

以下の通り対処しました。結果としてなんとかIPv6経路を引くことができています。

対処した点は以下の2点です。

  • 放置プレイしてたノンインテリL2(Procurve 1410-8G)を使ってEtherIPブリッジのポート拡張をする
  •  RouterboardをBGP+ルーターとして使用する。
    • IPv4ではPPPoEルーターとしてINTERLINKと接続しているが、IPv6は干渉しない
    • 比較的BGP+適用実績も多いと聞く
  • SEIL/x86をその下に吊るす
    • Routerboard/SEILの間に拡張の余地を残すため
    • SEILを敢えて配置し、操作方法を学ぶ環境を残すため

何より大事なのは「追加機器を買ってないこと!!」お安く仕上げております。やっぱりあるもので色々出来るって楽しいっす。

物理構成

物理構成はこんなふうになっています。

IXとH3Cスイッチの間にProcurveが入り、Routerboardが接続されています。Etheripで作られたブリッジをProcurveのノンインテリスイッチでポート拡張した感じになります。で、拡張したポートにS3610とRouterboardを接続し、2台のL3機器が接続可能な状態にしています。

論理構成

IPv6構成だけ切り出しました。こういう状態になっています。

まず、karashi(IX2015)にやってきたEtherIPブリッジをRB2011(routerboard)に接続し、ここでBGP+Peerを張っています。BGP+のピア張りですが、過去IHAnetに接続した記事あたりの考え方が参考になると思います。箇条書きでかんたんに示しますが、今回申し訳ないんですが具体的な手順は割愛しています。

  • Homenoc側からは、IPv4で使用しているものと同じAS番号が伝えられます。Homenoc側から接続先IPv6アドレスが伝えられますのでそれに従います。
  • すでにIPv4接続している場合は、こちらから回答する事項はないので、既存EtherIPブリッジにIPv6ルーター接続してBGP+ピアを張るだけです。
  • address-familyをIPv6にしてピア設定をする点はCiscoルーターと類似しています。
  • 見事接続されると、ステータスがestablishedとなり、ルート情報がズンドコやってきます。

IPv6ルートはフルルートで受領しており、現状44000弱のPrefixを受信している状態です。CPU負荷は7%前後、メモリ負荷は50%を下回っているので、概ね大丈夫と言えるでしょう。今のところは。

配下のネットワークはIPv6Homenocコアルーターとして、kaede(SEIL/x86)がいます。RB2011配下からはRIPngを回しており、とりあえずHE側コアルーターであるyomogi(RTX-3000)やIHANETルーターであるkunugi(Cisco-1812J)と経路交換できるようにはしています。

但し、RB2011にHEのルーティングがはいるのはあまり好ましくないので、kaede側でフィルタリングをかけて止めています。

想定外の事象

  • デュアルゲートウェイ・・・とは行かない
    • 当初、ネットワークは複数重ねて動かせるかなぁとか考えていたんですが、残念ながらデフォルトゲートウェイに関してはサーバもルーターも1つしか定義させられませんでした。
    • よって、サーバによってはHEを、あるいはHomenocをという風に経路が分かれています。
    • 加えて、基本的にはyomogi/kaede両方で同一セグメントにRAをしているのですが、デフォルトゲートウェイの設定はkaede(SEIL/x86)側が勝利しているようです。
      • アドレスとしては共存できてたようで、HEのアドレスもHomenocのアドレスも両方所持していました。が、経路上想定しないアドレスでのアクセスを防止するために、yomogi/kunugiのRA設定を停止しており、kaedeだけがRA広報できるようにしています。
  • 経路漏洩をやらかす
    • Homenoc側から指摘をいただき、想定していない経路が広告されてるとのこと。フィルタ設定の不備と、Redistribute設定に対する理解の不足が原因でした。以下の通り対応しています。
      • Homenoc BGP及びBGP+上のRedistribute設定は全部除外(Connectedも外す)
      • BGP上の自ネットワーク定義(networkコマンドで定義する部分)はHomenoc側から提示されたものをその通り定義する。
      • 一つIPv4側で謎のネットワーク広報が行われていたが、これはフィルタリングで止めた
  • UTMのポータルサイトを誤ってCDNに取り込ませる
    • UTMの設定が一時的に崩れ、結果としてUTMのユーザポータルをCDNキャッシュに取り込ませてしまいました。これが一番の失敗かな。

注意点

Homenocさんを使ってる方、使いたい方で、デュアルスタックを希望する方は以下の点に注意してください。

  • 経路配信の方式は一律に決まる。
    • つまり、BGPで受け取ると言ったからには、IPv4でもIPv6でも受け取る必要がある。(Homenocさん側の運用管理上の理由から)
    • IPv4はBGP、IPv6スタティックはRejectされると思っていたほうが良いので計画的に。
  • 今回、IPv6のBGP広報はフルルートでした。43000程度の経路が流れてきます。それなりのハードをご準備くだせぇ。(RB2011だとちょっと今後きつい気がする)
  • 経路漏洩に気をつけよう
    • 今回Homenocさんから指定をいただきましたが、思いがけない経路がIPv4で広告されたようで、おそらくは「H3CスイッチのMCE間接続じゃないか」と疑っています。いずれにしても、変な経路を流さぬような設定を行うにはどうしたら良いのか、思案を巡らすに越したことはありません。

終わりに

お陰様で、国内サイトに対する遅延がだいぶ軽減されました。同時に、かなり安定した通信をIPv6で行えている感じです。Google AnalyticsもHE時代は画面真っ白になったりなどしていたのですが、今は普通に表示が行えています。

今回もHomenocさんのお力添えをいただき、色々勉強させてもらいました。IHAnetの絡みもあり、HEのアドレス体型は当面残すことになるのですが、どう共存させると面白いのかななど思案しながらやると良いのかなーと思ったりします。