Ubuntu 15.04 でインターネットと VPN 接続 (openconnect) が機能していましたが、その後、LAN IP を変更する新しいルーターを入手しました。10.xxx から 192.168.xx に変更したところ、VPN を使用するとインターネットが完全に切断されますが、VPN 上のものはすべて正常です。
ラップトップとルーターのすべてのファイアウォールを無効にしました。VPN で接続しているときの netstat は次のとおりです。ご覧のとおり、192.168.0.0 のエントリが 2 つあります。これが問題だと思います。
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 wlp62s0
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 vpn0
10.0.1.0 0.0.0.0 255.255.255.128 U 0 0 0 vpn0
54.175.25.57 192.168.0.1 255.255.255.255 UGH 0 0 0 wlp62s0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 wlp62s0
192.168.0.0 0.0.0.0 255.255.255.128 U 0 0 0 vpn0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 wlp62s0
また、10.xxx を使用する comcast の Wi-Fi 信号にもアクセスでき、それを使用するとすべて正常に動作します。以下は、VPN を使用しているときの netstat です。
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 10.224.0.1 0.0.0.0 UG 0 0 0 wlp62s0
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 vpn0
10.0.1.0 0.0.0.0 255.255.255.128 U 0 0 0 vpn0
10.224.0.0 0.0.0.0 255.224.0.0 U 0 0 0 wlp62s0
54.175.25.57 10.224.0.1 255.255.255.255 UGH 0 0 0 wlp62s0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 wlp62s0
192.168.0.0 0.0.0.0 255.255.255.128 U 0 0 0 vpn0
ここでは二重エントリはありません。
それで、何が起こっているのでしょうか、なぜでしょうか、そしてどうすれば修正できるのでしょうか?
答え1
VPN は、IP アドレス 192.168.0.0 ~ 192.168.0.127 に VPN 経由でアクセスできることをアドバタイズしています (最初のルート リストの最後から 2 行目) - この IP 範囲は、イーサネット範囲 192.168.0.0 ~ 192.168.0.254 (最後の行) と重複しています。
VPN ルートはより具体的であるため、優先され、問題を引き起こします。この問題を解決する方法はいくつかありますが、基本的には、OpenVPN と競合しないように、そして理想的には重複しないように、LAN の番号を変更する必要があります。
OpenVPN の設定を変更して 192.168.0.0/25 の範囲をアドバタイズしないようにすることで、これを実現できる可能性があります [ただし、VPN の反対側にその範囲内に他のホストがある場合は、それらにアクセスできなくなります]。または、その範囲外でネットワークの番号を変更することもできます。たとえば、LAN ネットワークを 192.168.1.0 ネットマスク 255.255.255.0 に変更します。