У меня был рабочий интернет и VPN-подключение (openconnect) на Ubuntu 15.04. Затем я купил новый роутер, который изменил IP-адрес моей локальной сети. Я перешел с 10.xxx на 192.168.xx, и теперь, когда я подключаюсь к VPN, я теряю весь интернет, хотя все в VPN в порядке.
Я отключил все брандмауэры на моем ноутбуке и на маршрутизаторе. Вот мой netstat, пока я подключен через vpn, и, как вы можете видеть, есть 2 записи для 192.168.0.0 - я предполагаю, что это проблема.
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
У меня также есть доступ к сигналу Wi-Fi от Comcast, который использует 10.xxx, и когда я им пользуюсь, все работает нормально. Вот netstat, когда я подключен через VPN:
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 (вторая последняя строка первого списка маршрутов). Этот диапазон IP-адресов пересекается с диапазоном адресов вашей сети Ethernet от 192.168.0.0 до 192.168.0.254 (последняя строка).
Поскольку маршрут VPN более специфичен, он предпочтителен и вызывает у вас проблемы. Есть несколько способов исправить эту проблему, но по сути вам нужно перенумеровать вашу локальную сеть так, чтобы она не конфликтовала с OpenVPN, и, в идеале, чтобы она не пересекалась.
Потенциально это можно сделать, изменив конфигурацию OpenVPN так, чтобы она не объявляла диапазон 192.168.0.0/25 [но если у вас есть другие хосты в этом диапазоне по ту сторону VPN, вы больше не сможете связаться с ними], или вы можете перенумеровать свою сеть за пределами этого диапазона — например, изменить сеть LAN на 192.168.1.0 с маской сети 255.255.255.0