前回、ルータを仮想化したい話の構成編を記事にしました。
今回は、実際に構築してどのような構成になったのかを紹介したいと思います。
仮想基盤の選定
今回仮想ルータを構成するにあたり、使用したハイパーバイザーはHyper-Vになります。
選定の理由としては以下の通りです。
- リソースの空きがあること
- 物理NICが使用可能であること
普段使用している製品的にVMwareのvSphereも選定候補に挙がったのですが、NICの空きが無かったというのがとても大きかったです。
一方、Hyper-Vの方は一時期LAGを組んでいた時があったので、LAGを解除し1本を元のスイッチへ差し、もう一本をONUから分配されたL2SWへ差し込みました。
IPoEの契約はPPPoEと異なり、こちら側から認証をかける必要が無いため、回線を刺した段階でIPv6の通信は可能になります。
なお、本記事はPoC的に色々と試行錯誤しながら構築しているため、設定手順等がバラバラになっています。
Sophos XG Firewallの展開
Hyper-V上にSophos XG Firewallをインストールしました。
インストール手順については、こちらの記事を参照。
インストール後はルータモードで展開しています。
今回は、2ポートで展開して、Port1側をLAN側、Port2側をWAN側に設定しています。
ネットワークの設定

LAN側の設定については、以下の設定をしています。
- 名前 : 任意の名前を設定
- ネットワークゾーン : LAN
- IPv4設定 : ■
- IPの割り当て : スタティック
- IPv4/ネットマスク : LAN側に設定するIP・サブネットマスクを設定
- IPv6設定 : ■
- IPの割り当て : スタティック
- IPv6/プレフィックス : LAN側に設定するIP・サブネットマスクを設定
IPv6ネットワークの採番ですが、MACアドレスから、IPv6のULAレンジを決定しています。
IPv4とIPv6で末尾のアドレスが異なるとめんどくさいので、ホスト部についてはIPv4の第4オクテットを同じにしています。
例) 192.168.1.200 → fdc:aa:xxxxxxx:200

LAN側のポートについては、IPv4のアドレスを採番し、IPv6のIPアドレスも固定化しました。
IPv6のレンジについてはMACアドレスから以下のサイトを使用してレンジを採番しています。
URL : https://cd34.com/rfc4193/

WAN側のIPoEの設定ですが、[インターフェース]の[全般設定]より、以下の設定を行います。
- 名前 : 任意の名前を設定
- ネットワークゾーン : WAN
- IPv4設定 : □
- IPv6設定 : ■
- IPの割り当て : DHCP
- モード : 手動
- DHCPのみ : 〇
- ステートレス : ●
- DHCPから他の設定の承認 : ■
- DHCP高速コミット : □
- IPv6/プレフィックス : 自動入力?
- ゲートウェイ名 : 任意のゲートウェイ名を入力
IPoEの場合、ISPからIPアドレスが自動的に降ってくるので、WAN側のIPアドレスについては、自動で設定します。
DHCPの設定

LAN側とWAN側のIPアドレス設定が完了したら、DHCPサーバの設定を行っていきます。
[ネットワーク]-[DHCP]より、サーバの追加を押下します。

[DHPC]より、[IPv6]タブを選択し以下の設定を行います。
- 名前 : 任意の名前を設定
- インターフェース : LAN側のインターフェースを設定
- リレー経由でクライアントリクエストを承認 : □
- ダイナミックIPリース : DHCPv6で配布するIPレンジを設定
- プライマリDNSサーバ : 任意のDNSサーバを指定
DHCPv6のDNSサーバですが、IPv6で記載する必要があります。
自宅でDNSサーバをGoogleにしている場合、2001:4860:4860::8888
2001:4860:4860::8844
を設定してあげます。
ドメイン環境で運用している場合、内部の名前解決を行うため、内部のDNSサーバを指定してあげます。
設定が完了したら、[保存]を押下します。
これで、DHCPv6の設定は完了です。
クライアントのIPv6を有効化して、DHCPサーバからリースされていることを確認します。
ゲートウェイの設定

IPoEでは、IPv6側にゲートウェイを設置しないと、外部に出れなさそうなので、IPv6でゲートウェイの設定を行います。
[ルーティング]-[ゲートウェイ]より、[IPv6ゲートウェイ]の[追加]を押下します。

ゲートウェイの設定より、以下の設定を行います。
- 名前 : 任意のゲートウェイ名を設定
- ゲートウェイIP : ゲートウェイのIPv6アドレスを設定
- インターフェース : LAN側のインターフェースを設定
- ゾーン : LAN
- 正常性チェック : ON
- 間隔 : 60秒 (任意)
- タイムアウト : 2秒 (任意)
- 試行回数 : 3回 (任意)
- 監視条件 : 任意の監視条件を追加
設定が完了したら、[保存]を押下します。
スタティックルートの設定
IPoEを設定するにあたり、スタティックルートを設定します。
今回は特に設定をしない設定します。

[ルーティング]-[スタティックルート]より、[IPv4ユニキャストルート]の[追加]を押下します。

IPv4ユニキャストルートの追加より、以下の設定を行います。
- 宛先IP/ネットマスク : 0.0.0.0/0
- インターフェース : LAN側のインターフェースを設定
設定が完了したら[保存]を押下します。

IPv6ユニキャストルートより、[追加]を押下します。

[IPv6ユニキャストルートの追加]より、以下の設定を行います。
- 宛先IP/プレフィックス : ::/0
- ゲートウェイ : ゲートウェイのIPを設定
- インターフェース : LAN側のインターフェースを設定
- メトリック : 1
設定が完了したら、[保存]を押下します。
以上でルーティングの設定は完了です。
疎通確認
Sophos XG FirewallでIPoEの設定ができたら、IPv6確認サイト等にアクセスし、IPv6がちゃんと使われているかを確認します。
IPv6を確認するサイトとして、[あなたの IPv6 接続性をテストしましょう。]のようなサイトで確認しましょう。
URL : https://test-ipv6.com/index.html.ja_JP
また、IPoEになると、IPv4の通信はカプセルかされ共用のIPアドレスで運用されるため、使用されるIPv4アドレスも変わります。
最低限ここら辺の確認や、IPv4のみ提供しているサイトやIPv6対応のサイトにアクセスし、ちゃんと通信ができていることを確認しておきましょう。
まとめ
ルータを仮想化してみるシリーズもこれで最後です。
最低限これくらいやっておけばSophos XG FirwallでIPoEの通信ができるようになりました。
ルータを仮想化して1週間以上経過しましたが、現時点で大きな問題は起こっていません。
仮想化運用上の怖い点としては、ホストOSのメンテナンス時に冗長化を取っていないと通信断が発生するという点ぐらいですかね。
あとは、仮想マシンなので他のマシンのリソース状況によっては、ルータに割けるリソースがひっ迫しそこらへんがボトルネックになる可能性もあります。
実際にIPoEの対応をすることで手一杯だったので、一部の機器しかIPv6が使われていない環境ですが、今後の課題等が出てきたら別途記事にまとめたいと思います。
(LAN内までIPv6で運用する必要があるのかは正直謎)
おまけ
本ブログではVMwareやWindows、Linuxのインストール手順等も公開しております。
インフラエンジニアとして有益な記事や無益なコンテンツも作成しておりますので、通勤時間や休憩時間、休日のスキマ時間等に合わせて読んでいただけると幸いです。
また、Youtubeで解説動画も鋭意作成中です。本ブログで記事にしているものも動画にしようと思っておりますので、よろしくお願いいたします。
willserverのnoteも開設したのでフォローお願いします。
コメント