前回、自Webサーバに対しての経路確認をしたときにVPNを通らない現象について、調べてみました。
◆ルーティングテーブルの確認
Windowsでコマンドプロントを起動し、ルーティングテーブルを確認してみました。
>route print -4 =============================================================================== インターフェイス一覧 9...fc 77 74 f7 ca 8d ......Intel(R) Wireless-AC 9560 160MHz 1...........................Software Loopback Interface 1 =============================================================================== IPv4 ルート テーブル =============================================================================== アクティブ ルート: ネットワーク宛先 ネットマスク ゲートウェイ インターフェイス メトリック 0.0.0.0 0.0.0.0 192.168.100.1 192.168.100.105 50 127.0.0.0 255.0.0.0 リンク上 127.0.0.1 331 127.0.0.1 255.255.255.255 リンク上 127.0.0.1 331 127.255.255.255 255.255.255.255 リンク上 127.0.0.1 331 192.168.100.0 255.255.255.0 リンク上 192.168.100.105 306 192.168.100.105 255.255.255.255 リンク上 192.168.100.105 306 192.168.100.255 255.255.255.255 リンク上 192.168.100.105 306 224.0.0.0 240.0.0.0 リンク上 127.0.0.1 331 224.0.0.0 240.0.0.0 リンク上 192.168.100.105 306 255.255.255.255 255.255.255.255 リンク上 127.0.0.1 331 255.255.255.255 255.255.255.255 リンク上 192.168.100.105 306 =============================================================================== 固定ルート: なし
ルーティングテーブルの確認コマンド「route print」にオプション「-4」を付けることで、IPv4のみ表示されます。
VPN接続なしの場合、Mobile WiFIルータから割当てられる「192.168.100.0/24」が使われています。
>route print -4 ============================================================================== インターフェイス一覧 7...........................VPNSV 9...fc 77 74 f7 ca 8d ......Intel(R) Wireless-AC 9560 160MHz 1...........................Software Loopback Interface 1 ============================================================================== IPv4 ルート テーブル ============================================================================== アクティブ ルート: ネットワーク宛先 ネットマスク ゲートウェイ インターフェイス メトリック 0.0.0.0 0.0.0.0 192.168.100.1 192.168.100.105 4275 0.0.0.0 0.0.0.0 リンク上 192.168.30.10 36 127.0.0.0 255.0.0.0 リンク上 127.0.0.1 4556 127.0.0.1 255.255.255.255 リンク上 127.0.0.1 4556 127.255.255.255 255.255.255.255 リンク上 127.0.0.1 4556 153.127.246.182 255.255.255.255 192.168.100.1 192.168.100.105 4276 192.168.30.0 255.255.255.0 リンク上 192.168.30.10 36 192.168.30.10 255.255.255.255 リンク上 192.168.30.10 291 192.168.30.255 255.255.255.255 リンク上 192.168.30.10 291 192.168.100.0 255.255.255.0 リンク上 192.168.100.105 4531 192.168.100.105 255.255.255.255 リンク上 192.168.100.105 4531 192.168.100.255 255.255.255.255 リンク上 192.168.100.105 4531 224.0.0.0 240.0.0.0 リンク上 127.0.0.1 4556 224.0.0.0 240.0.0.0 リンク上 192.168.100.105 4531 224.0.0.0 240.0.0.0 リンク上 192.168.30.10 36 255.255.255.255 255.255.255.255 リンク上 127.0.0.1 4556 255.255.255.255 255.255.255.255 リンク上 192.168.100.105 4531 255.255.255.255 255.255.255.255 リンク上 192.168.30.10 291 ============================================================================== 固定ルート: なし
VPN接続ありの場合、VPNで使用する「192.168.30.0/24」のネットワークが追加されています。
更に18行目には、自サーバに対してMobile WiFi経由となる経路が自動で追加されていました。
どうやら、このルーティングテーブルが追加されたのが原因だったようです。
◆ホストルートの追加
試しにホストルートをVPN経由で追加してみます。
>route add 153.127.246.182 mask 255.255.255.255 192.168.30.1 if 7 metric 1 OK!
ルーティングテーブルの編集をする場合、コマンドプロンプトを管理者で起動して実施します。
route addコマンドで追加します。
自動追加されたものと同じように、ホストルート(32ビットマスク)としています。
ゲートウェイは、仮想NATサーバの「192.168.30.1」、インターフェイスの「7」は、「VPN接続あり(抜粋)」のルーティングテーブルで、「インターフェイス一覧」にある4行目の「VPNSV」の行の一番左の数字がインターフェイス番号になります。
メトリック値(優先順位)には、自動で入ったもの「4276」より高ければいいので、ここでは、「1」としました。
>route print -4 ============================================================================== インターフェイス一覧 7...........................VPNSV 9...fc 77 74 f7 ca 8d ......Intel(R) Wireless-AC 9560 160MHz 1...........................Software Loopback Interface 1 ============================================================================== IPv4 ルート テーブル ============================================================================== アクティブ ルート: ネットワーク宛先 ネットマスク ゲートウェイ インターフェイス メトリック 0.0.0.0 0.0.0.0 192.168.100.1 192.168.100.105 4275 0.0.0.0 0.0.0.0 リンク上 192.168.30.10 36 127.0.0.0 255.0.0.0 リンク上 127.0.0.1 4556 127.0.0.1 255.255.255.255 リンク上 127.0.0.1 4556 127.255.255.255 255.255.255.255 リンク上 127.0.0.1 4556 153.127.246.182 255.255.255.255 192.168.100.1 192.168.100.105 4276 153.127.246.182 255.255.255.255 192.168.30.1 192.168.30.10 36 192.168.30.0 255.255.255.0 リンク上 192.168.30.10 36 192.168.30.10 255.255.255.255 リンク上 192.168.30.10 291 192.168.30.255 255.255.255.255 リンク上 192.168.30.10 291 192.168.100.0 255.255.255.0 リンク上 192.168.100.105 4531 192.168.100.105 255.255.255.255 リンク上 192.168.100.105 4531 192.168.100.255 255.255.255.255 リンク上 192.168.100.105 4531 224.0.0.0 240.0.0.0 リンク上 127.0.0.1 4556 224.0.0.0 240.0.0.0 リンク上 192.168.100.105 4531 224.0.0.0 240.0.0.0 リンク上 192.168.30.10 36 255.255.255.255 255.255.255.255 リンク上 127.0.0.1 4556 255.255.255.255 255.255.255.255 リンク上 192.168.100.105 4531 255.255.255.255 255.255.255.255 リンク上 192.168.30.10 291 ============================================================================== 固定ルート: なし
19行目に追加されているのが確認できます。
◆経路確認
>tracert -4 www.maruweb.jp.net www.maruweb.jp.net [153.127.246.182] へのルートをトレースしています 経由するホップ数は最大 30 です: 1 90 ms 58 ms 77 ms 192.168.30.1 2 83 ms 57 ms 57 ms www.maruweb.jp.net [153.127.246.182] トレースを完了しました。
自サーバに対し、trace routeをしてみると、VPN経由で接続していることが確認できました。
>tracert -4 www.google.com www.google.com [216.58.197.4] へのルートをトレースしています 経由するホップ数は最大 30 です: 1 88 ms 57 ms 80 ms 192.168.30.1 2 82 ms 62 ms 58 ms vps23.kagoya.net [153.127.246.11] 3 74 ms 96 ms 82 ms 210.134.52.229 4 61 ms 77 ms 98 ms 124.248.144.206 5 101 ms 99 ms 100 ms 124.248.144.38 6 86 ms 62 ms 56 ms 125.206.181.177 7 71 ms 48 ms 80 ms 211.16.30.198 8 64 ms 84 ms 71 ms 108.170.243.65 9 115 ms 104 ms 56 ms 108.170.238.103 10 83 ms 66 ms 84 ms kix06s02-in-f4.1e100.net [216.58.197.4] トレースを完了しました。
その状態で、併せてGoogleにもtrace routeをしてみて問題ないことも確認できました。
◆固定ルートで再設定
次に、ホストルートを追加した状態で、VPNを切断して自サーバへの経路を確認してみます。
ただし、先ほどの追加要領だとVPN接続を切断した時に消えてしまいますので、消えないように固定ルートで追加しなおします。
>route add -p 153.127.246.182 mask 255.255.255.255 192.168.30.1 if 7 metric 1 OK!
「-p」オプションを付けることにより、再起動等をしても維持されます。
>route print -4 ============================================================================== インターフェイス一覧 7...........................VPNSV 9...fc 77 74 f7 ca 8d ......Intel(R) Wireless-AC 9560 160MHz 1...........................Software Loopback Interface 1 ============================================================================== IPv4 ルート テーブル ============================================================================== アクティブ ルート: ネットワーク宛先 ネットマスク ゲートウェイ インターフェイス メトリック 0.0.0.0 0.0.0.0 192.168.100.1 192.168.100.105 4275 0.0.0.0 0.0.0.0 リンク上 192.168.30.10 36 127.0.0.0 255.0.0.0 リンク上 127.0.0.1 4556 127.0.0.1 255.255.255.255 リンク上 127.0.0.1 4556 127.255.255.255 255.255.255.255 リンク上 127.0.0.1 4556 153.127.246.182 255.255.255.255 192.168.100.1 192.168.100.105 4276 153.127.246.182 255.255.255.255 192.168.30.1 192.168.30.10 36 192.168.30.0 255.255.255.0 リンク上 192.168.30.10 36 192.168.30.10 255.255.255.255 リンク上 192.168.30.10 291 192.168.30.255 255.255.255.255 リンク上 192.168.30.10 291 192.168.100.0 255.255.255.0 リンク上 192.168.100.105 4531 192.168.100.105 255.255.255.255 リンク上 192.168.100.105 4531 192.168.100.255 255.255.255.255 リンク上 192.168.100.105 4531 224.0.0.0 240.0.0.0 リンク上 127.0.0.1 4556 224.0.0.0 240.0.0.0 リンク上 192.168.100.105 4531 224.0.0.0 240.0.0.0 リンク上 192.168.30.10 36 255.255.255.255 255.255.255.255 リンク上 127.0.0.1 4556 255.255.255.255 255.255.255.255 リンク上 192.168.100.105 4531 255.255.255.255 255.255.255.255 リンク上 192.168.30.10 291 ============================================================================== 固定ルート: ネットワーク アドレス ネットマスク ゲートウェイ アドレス メトリック 153.127.246.182 255.255.255.255 192.168.30.1 1 ==============================================================================
VPN接続を切断しても、固定ルートに追加されたルーティング情報は消えなくなりました。
この状態で、再度経路確認をしてみると…
VPN接続ありでは、VPN経由
VPN接続なしでは、Mobile WiFi経由
での接続となりました。
◆その他確認
併せて、SSHでサーバに接続した際のログを見てみると…
VPN接続ありでは、サーバのIPアドレス
VPN接続なしでは、インターネット側からのグローバルIPアドレス
からの接続となっていました。
その他にも影響がないか確認したところ、一部Webから管理するツール群でアクセス制御しているものにおいてアクセスできなくなりました。
対処として、各confファイルにサーバIPを追加することでアクセス可能となりました。
VPNについて、これで完結したいと思います。
これまでの記事も参考に…
「CentOS7のVPNサーバで安全にインターネット」の記事
コメント
VPN無しのコネクトは現実的じゃあないと思いますが、使うときあるのでしょうか?
今回で、ほぼ影響ないことが確認できたのでVPNなしで利用することはなくなりそうです。ただ、サーバが高負荷になったときにアクセス速度が急激に落ちる時があるので、その際には、一時的に解除はあるかもしれません…
VPN専用のサーバが立てられればいいかもしれませんが…