IPoEの固定IPアドレスサービス+YAMAHAルーターを利用してみた
経緯
以前まではソフトバンク光を自宅のISPとして利用していたが、固定IPアドレスが欲しくなったので、IPoEの固定IPアドレスサービスを探してみた(今回はPPPoEは検討から除外している。)。
Google先生に聞いてみたところ、JPNEが「v6プラス固定IPサービス」を提供しており、対応ISP事業者一覧を公開していた。
この中から、比較的安価であったIPQの「IPv6+IPv4固定 1個」プランを契約し、以下のことができるようになるまで試してみたので、契約の過程を含めてブログ記事を書いてみる。
- 固定アドレスでIPv4インターネットにアクセス
- IPv6インターネットにアクセス
- AWS Site-to-Site VPN と自宅LAN間で固定IPアドレスを使ってVPN接続
- 固定IPアドレス宛のHTTP通信を自宅LAN内のWebサーバーにポートフォワーディング(Destination NAT)
自宅のルーターとしてIPoE対応ルーターが必要になるので、今回は前から欲しかったYAMAHAのRTX1210を購入して使用してみた。この記事ではYAMAHAルーターを使うことを前提に話を進める。対応ルーターはISPに聞きましょう。
ISP契約
IPQとのISPの契約に先立ち、回線としてNTT東西のフレッツ光を契約する必要がある。回線とISPの違いはGoogle先生に聞いてください。フレッツ光を契約する際は、「v6オプション」を付けること(デフォルトで付いてくるかも)。
フレッツ光の契約が完了したら、NTTから「お客さまID」がもらえるはずなので、IPQの「IPoEお申し込み」Webフォームに記入して提出する。その後は、ISP側の開通作業が終わるまで気長に待つ。だいたい申し込みの翌月頭ぐらいに開通するらしい。
ISP側の開通が完了すると以下の情報がIPQから送られてくる。
「固定IPv4アドレス」「インターフェイスID」「BRアドレス」は自宅ルーターとJPNEのBRの間でトンネルを確立する時に必要となる。「再設定ユーザーID」「再設定パスワード」「IPv6 Prefix アップデートサーバーのURL」はIPv6 Prefixが半固定であるため、新しいIPv6 Prefixがルーターのインターフェイスに付与された時に、JPNEのアップデートサーバーにIPv6アドレスの更新通知を行うのに必要。後者についての詳細はIPoEの詳しい人に聞いてみよう(自分は分からん)。
これで必要なものは揃った。
インターネット開通
私の場合はRTX1210を使用しているのでYAMAHAの設定例を参考にする。基本的には例の通りに設定すればよい。設定する際には、以下の点に気をつけること。
- LAN1のIPv4アドレスやIPv4 DHCP設定は自宅LAN内のアドレスに合わせること。
- IPv6 Prefix 更新時に自動的にIPv6アドレスの更新通信通知をJPNEのサーバーに遅れるように、Luaスクリプトを例を参考に作成し、tftpでルーターにスクリプトを保存しておくこと。「再設定ユーザーID」「再設定パスワード」「IPv6 Prefix アップデートサーバーのURL」はここで必要になる。
上記までの作業で、JPNEのBRとRTX1210間でIPIPトンネルが確立し、自宅LAN内にもIPv4のプライベートIPアドレスがDHCPで配られ、インターネットには固定IPアドレスにNAPTされてアクセスできるようになる。
ただし、例の設定だけだと自宅LAN内にIPv6アドレスがDHCPで配られないため、自宅LAN内からIPv6インターネットにアクセスすることができない。
そこで、設定を修正・追加する。
no ipv6 lan2 address ra-prefix@lan2::(インターフェイスID)/64
ipv6 lan1 address ra-prefix@lan2::(インターフェイスID)/64
ipv6 lan1 rtadv send 1 o_flag=on
ipv6 lan1 dhcp service server
LAN2(インターネット側)ではなく、LAN1(自宅LAN側)にIPv6アドレスを設定し、DHCPの設定も追加する。これで自宅LAN内からでもIPv6アドレスでIPv6インターネットにアクセスできるようになる。
ここまでで、(固定)IPv4とIPv6のインターネット接続は完了した。
AWSとVPN接続
AWS Site-to-Site VPN接続を利用するには、CGW側に固定IPv4アドレスが基本的に必要になる。せっかく固定IPv4アドレスが使えるようになったので、AWSのVPCと自宅LAN内を接続してみる。
AWS側での作業はドキュメントにまとめられているので割愛。
AWS側の作業が完了すれば、AWSコンソールからYAMAHAの設定をダウンロードする。pre-sharedキーやBGPの各種パラメーターが反映された設定がダウンロードできるので、基本的にはそれを投入すればOK。
ただし、「v6プラス固定IPサービス」をYAMAHAルーターで利用する場合は、固定IPv4アドレスをNAPTして利用する形になるので、VPNトンネルを確立するためにはNATトラバーサルが必要となる。
そのため、ダウンロードしたファイルに記載されているYAMAHAルーター側のトンネル終端IPアドレスを固定IPv4アドレスではなく、YAMAHAルーターのプライベートIPアドレスに書き換えて設定する。
これでVPNトンネルが確立するはず。
ポートフォワーディング
固定IPv4アドレスの用途として自宅サーバーをインターネットに公開することが一般的(?)かと思う。
これを実現するのは「v6プラス固定IPサービス」+YAMAHAルーターでも簡単で、ポートフォワーディング(DestinationNAT/静的IPマスカレード)を行う。
具体的には、nat descriptorの設定を追加する。
nat descriptor masquerade static 1 1 (自宅LAN内サーバーのプライベートIPアドレス) tcp 80
設定末尾のポート番号は、サーバーのポート番号に適宜変更する。この設定の詳細はYAMAHAのマニュアルを参照。上記の例ではHTTP通信をポート番号そのままで転送している。
NAPT関連の設定を抜き出すと以下のようになっているはず。
nat descriptor type 1 masquerade
nat descriptor address outer 1 (固定IPv4アドレス)
nat descriptor masquerade static 1 1(自宅LAN内サーバーのプライベートIPアドレス) tcp 80