5 拠点間をヤマハのルータのVPN機能で常時接続する・・・拠点のIPV4設定
前回は、「5 拠点間を VPN で常時接続する 拠点の IPV4 設定」で両拠点のIPV4関連の設定をする方法を書きました。
今回は、いよいよ VPN のトンネルを設定します。
フレッツ光ネクストの乗換や新規申し込みは ↓↓↓ こちらからどうぞ。
アドレスのおさらい
拠点A、拠点B のそれぞれのアドレスについて図でおさらいします。
右の拠点A は、192.168.0.0/24。クラスCのプライベートアドレスです。
同様に左の拠点B は、192.168.2.0/24 です。
また、「3 拠点間を VPN で常時接続する NVR500 の VPN 設定準備その1」で確認したLAN2(WAN ポート)の IPV6 アドレスもそれぞれ図に示しています。アドレス自体は抽象化して示しているので、実際のアドレスとは違います。
ヤマハのルーターのVPN 設定
VPN トンネルには、色々と種類があります。「2 拠点間を VPN で常時接続する 必要なモノは」で YAMAHAル ータの機種について書きましたが、その中に VPN/IPSEC と VPN/IPIP と言う表記があります。代表的な拠点間を接続する VPN の方式です。違いは、暗号化のあり/なしです。残念ながら NVR500 には暗号化の VPN/IPSEC を持っていないので、ここでは、 VPN/IPIP の設定について紹介します。
VPN/IPIP でもいろいろとやり方がありますが、今回の目的である NGN網から出ずに拠点間を結ぶので、 IPV6 のトンネルの外側として、内側に IPV4 のデータを流す方式で行います。
拠点A NVR500 A
### TUNNEL 2 ###
tunnel select 2
tunnel name ToOfficeB-IPIP
description tunnel A-Btunnel
tunnel encapsulation ipip
tunnel endpoint address 2400:xxxx:yyyy:zzzz:aaaa:bbbb:cccc:dddd 2422:xxxx:yyyy:zzzz:aaaa:bbbb:cccc:dddd
ip tunnel secure filter in 200099
ip tunnel secure filter out 200099
ip tunnel tcp mss limit auto
tunnel enable 2
拠点B NVR500 B
### TUNNEL 2 ###
tunnel select 2
tunnel name ToOfficeA-IPIP
description tunnel A-Btunnel
tunnel encapsulation ipip
tunnel endpoint address 2422:xxxx:yyyy:zzzz:aaaa:bbbb:cccc:dddd 2400:xxxx:yyyy:zzzz:aaaa:bbbb:cccc:dddd
ip tunnel secure filter in 200099
ip tunnel secure filter out 200099
ip tunnel tcp mss limit auto
tunnel enable 2
tunnel select none
3行目:★必須。これからトンネル2番の設定をするという宣言です。なぜ1番じゃなく2番なの? それは、1番に試験的に VPN/IPSEC のトンネルを掘ってみたからです。結局 IPSEC では仕様上だめなので、2番の IPIP を使っていると言うわけです。深い意味はありません。
4行目:トンネル2番に名前を付けています。2番の数字2が出てきませんが、3行目以降はトンネル2番に関する設定と認識されます。この名前は、特に設定しなくても構いません。WEB 管理画面に表示されるときの名前です。
5行目:トンネルの説明です。これも特に設定しなくても構いません。
6行目:★必須。 VPN トンネルの中でもこのトンネル2番は、IPIP 方式のトンネルであると宣言/設定しています。
7行目:★必須。トンネルの入口、出口の IPV6 のアドレスを指定しています。入口が自拠点、出口が対向拠点です。よって、この設定は拠点B 側の設定なので、拠点B 拠点A の並びで設定しています。
8-9行目:★必須。200099番の IPV4 フィルターをトンネルの入口に対して IN/OUT 両方向に適用しています。200099番のフィルターは、何でも通す設定なので、本当はいらないのかもしれませんが、念のため設定しています。200099番は、次のような設定です。
ip filter 200099 pass * * * * *
10行目:★必須。TCPデータのセグメントサイズの最大値を自動調整するという設定です。ここはあまり深く考えずに設定してください。
11行目:★必須。この設定をして初めてトンネル2番が動き出します。
12行目:3行目でこれからトンネル2番の設定を始めますと宣言しましたが、今度は「終わります」の宣言です。これをしないと、これに続く設定が間違ってトンネル2番にされることもあるので、注意してください。WEB管理画面で、[トップ] > [詳細設定と情報] > [本製品の全設定(config)のレポート作成]で表示した設定には、この行が入っていないので注意してください。入れなきゃ絶対ダメと言うことはないのですが、設定作業の順番によってはおかしくなります。YAMAHA さんも、この画面に入れて欲しいものです。
VPN の確認
WEB管理画面のトップ画面のプロバイダ接続のすぐ下にトンネル2番の表示が出てきます。
うまくいってますね。でも安心はまだ早い。ここで通信中と表示されててもダメなんです。これって、単にTUNNEL[02] が起動してますよみたいな感じです。つまり、受入準備は完了してますってことでしょうか。実際対向と接続できているかは別問題のようです。まあ、でもここでトンネルの設定がされているかは確認できます。
注)ちなみに、手動でコツコツと設定した場合、この画面に表示されないことがあります。なぜかはわかりません。バグだと思いますが、次に紹介するコマンドで確認すると、画面に出ないトンネル番号でも動いていることがわかります。なので、画面に出ないからと言って焦らないでください。
次にssh等に NVR500 に入ります。そこで、次のコマンドを打ちます。
# show status tunnel 2
TUNNEL[2]:
説明: A-Btunnel
インタフェースの種類: IP over IP
トンネルインタフェースは接続されています
開始: 2018/05/25 13:22:36
通信時間: 1日35分14秒
受信: (IPv4) 1458959 パケット [129303608 オクテット]
(IPv6) 0 パケット [0 オクテット]
送信: (IPv4) 5011929 パケット [1709518738 オクテット]
(IPv6) 0 パケット [0 オクテット]
これで、送受信の IPV4 が出ていればまずは一安心です。出ていないかもしれませんが、それは次の設定がまだされていないからです。
スタティックルートの登録
晴れてトンネルは掘れました。トンネルだから日が差さずに暗いから晴れてはないだろ。と思いながら、次はスタティックルートの登録です。静的経路情報ってやつです。お互いにトンネルはできたので、相手の出口側にどんなネットワークがあるのか教えなければなりません。設定は次のとおりです。
拠点A NVR500 A
ip routing on
ip route default gateway tunnel 2
ip route 123.107.190.0/24 gateway pp 2
ip route 192.168.2.0/24 gateway tunnel 2
ip route 220.210.194.0/25 gateway pp 2
ip route 220.210.198.0/26 gateway pp 2
ip icmp log on
ip keepalive 1 icmp-echo 60 10 192.168.2.1
拠点B NVR500 B
ip routing on
ip route default gateway pp 1 filter 500000 gateway pp 1
ip route 123.107.190.0/24 gateway pp 2
ip route 192.168.0.0/24 gateway tunnel 2
ip route 220.210.194.0/25 gateway pp 2
ip route 220.210.198.0/26 gateway pp 2
ip icmp log on
ip keepalive 1 icmp-echo 60 10 192.168.0.1
1行目:★必須。 IPV4 ルーティングを有効にする宣言です。
2行目:★必須。拠点Bは、 Internet に接続されています。その接続は、 PPPoE の1番で接続しているので、デフォルトルートを pp 1 にするという設定です。この設定自体は、プロバイダ1番の設定をすると勝手に入れてくれます。
これに対し、拠点A の方はプロバイダ契約をしていません。していないというか、解約しました。なぜ? 拠点A の Internet アクセスは、拠点B 経由で可能なので、プロバイダ契約を2つする必要がないからです。それでデフォルトルートを今回作成したトンネル2番に向けています。
3、5、6行目:★必須。まだ紹介していませんが、フレッツ情報サイトにアクセスするためのルーティング情報です。特に無くてもかましませんが、入れておいてください。
4行目:★必須。ここが重要です。トンネルの向こう側のアドレスを設定しています。拠点A では、拠点B のアドレスを。また、拠点B ではその逆です。
6行目:icmp のログを記録する設定です。ただし、デバッグログを有効にしたときのみです。無くてもかまいません。
7行目:ping を定期的に飛ばして、接続確認を行う設定です。IPIP は常時接続なので、無くても良いはずですが、念のため、石橋を叩くために入れました。60秒間隔で、10回応答がないとアウトと言う内容です。
ここまで出来たら、save して、restart かけましょう。save は、設定内容を不揮発性メモリに保存する。restart は、再起動。ついでに、設定内容をファイルに落としましょう。[トップ] > [詳細設定と情報] > [設定ファイル・ファームウェアファイルのコピー]でできます。microSD などを入れて設定すると、そこに保存可能です。設定方法は割愛しますが。また、 [トップ] > [詳細設定と情報] > [本製品の全設定(config)のレポート作成]で WEB に表示してそれを保存しても良いでしょう。
でも、ここでまたハマった話を。[トップ] > [詳細設定と情報] > [設定ファイル・ファームウェアファイルのコピー]保存したファイルから復元ができません!まいりました。なんのための保存なのか。復元すると、 NVR500 は再起動を繰り返します。バグですきっと! 結局、手動で設定し直すはめになります。YAMAHAさん、なんとかしてください!
みなさん [トップ] > [詳細設定と情報] > [本製品の全設定(config)のレポート作成]でしっかり記録しておきましょう。
疎通確認
疎通確認は、まず NVR500 間で行います。拠点A の NVR500 に ssh 等で入って、ping を打ちます。
# ping -c 3 192.168.2.1
192.168.2.1から受信: シーケンス番号=0 ttl=255 時間=0.031ミリ秒
192.168.2.1から受信: シーケンス番号=1 ttl=255 時間=0.029ミリ秒
192.168.2.1から受信: シーケンス番号=2 ttl=255 時間=0.030ミリ秒
3個のパケットを送信し、3個のパケットを受信しました。0.0%パケットロス
往復遅延 最低/平均/最大 = 0.029/0.030/0.031 ミリ秒
接続されていないと、しばらくだんまりになります。その時は、Ctrl+C で中断してください。
つづいて、拠点A の NVR500 から拠点B の PC-B へ。
# ping -c 3 192.168.2.20
192.168.2.4から受信: シーケンス番号=0 ttl=127 時間=1.725ミリ秒
192.168.2.4から受信: シーケンス番号=1 ttl=127 時間=0.329ミリ秒
192.168.2.4から受信: シーケンス番号=2 ttl=127 時間=0.334ミリ秒
3個のパケットを送信し、3個のパケットを受信しました。0.0%パケットロス
往復遅延 最低/平均/最大 = 0.329/0.796/1.725 ミリ秒
正常に接続されていれば、このように応答があります。しかし、ここでもハマりました。PC-B から応答がありません。PC-B 側で WireShark でパケットキャプチャしてみましたが、ICMP リクエストは確かに届いているのですが、リプライを返しません。逆方向も同じ結果でした。パケットキャプチャを見ていると、ルータ-B が port unreachable を出していることがたまに見かけられました。なんだろ。しばらくして原因を思いつきました。セキュリティソフトを最近 Norton から McAfee に変えたのです。もしやと思い、McAfee のファイヤーウォールを off にすると通りました。こいつか原因は。ping くらい返してやれよって感じです。設定を変更して、拠点間の疎通確認は終わりです。
あとは、拠点A から Internet に行けるか確認ですが、まだ設定が必要なので、本日は、ここまでです。次回は、 Internet の共用です。
フレッツ光ネクストの乗換や新規申し込みは ↓↓↓ こちらからどうぞ。
7 拠点間をヤマハのルータのVPN機能で常時接続する・・・Internetアクセスの共用