После старта openvpn клиента пропадает доступ через интернет

Ubuntu18, openvpn из стандартного репозитория. Подключаюсь к рабочей сети с помощью комманды

openvpn --config my_config.ovpn

И успешно - локальные хосты на той стороне доступны, могу подключиться к нем через ssh, например. Но вот беда: сразу после старта клиента не могу никуда зайти через браузер - все страницы оказываются недоступны. До этого ни разу не пользовался openvpn - подскажите хотя бы с чего начать поиск проблемы? Спасибо.


Ответы (2 шт):

Автор решения: Oleg Dmitrochenko

Столкнулся с такой же проблемой. Ubuntu 20.04, OpenVPN, использую настройки через GUI, хотя разницы по проблеме не заметил, запускать через консоль или интерфейс.

Можно предположить, что на это влияют настройки сервера VPN, к которому идет подключение. Он отправляет конфигурацию для автоматической настройки вашей сети (маршруты, DNS, шлюзы) и отсюда появляются проблемы.

Я нашел 4 варианта исправления проблемы, я воспользовался сначала третьим, затем вторым:

  1. Обратиться к админам VPN и сообщить о проблеме. Если это их работа, то они должны помочь. Конфигурация той сети не должна влиять на вашу (ее решаете не вы, а администратор сети, к которой подключаетесь).
  2. В настройках VPN в GUI (если через GUI идет подключение) указать "Использовать это подключение только для ресурсов в этой сети" («Use only for resources on this connection»). Нужные маршруты заработают, и интернет будет работать. НО! Если вы используете не IP-адреса, а именованные адреса серверов, например, myhost.host.local, то они скорее всего не будут работать. Вместо этого, для подключения нужно использовать IP-адреса этих хостов. Чтобы получить IP-адреса, можно использовать команду traceroute <myhost.host.local - имя хоста>, который выведет конечный IP-адрес хоста, если он доступен. Чтобы получить его адрес, у вас должна быть отключена галочка "Использовать это подключение только для ресурсов этой сети". Получив список IP-адресов вы можете указать их в файле /etc/hosts в соответствии с адресом или же везде, где вы используете именованные адреса, заменить их на IP-адреса. Эффект будет такой же, но во втором случае не требуются права root. Вы также можете спросить у администраторов уже готовый список этих именованных хостов и адресов. Использовать это подключение только для этой сети
  3. Эффекта, который был достигнут в пункте 2, можно достигнуть путем указания конкретных маршрутов для конкретных IP-адресов. Для этого можно воспользоваться той же командой traceroute <hostname>, а также route -n. В результате этих команд вы получите список нужных вам адресов, как в решении 2 и укажите их в маршрутах для настройки сети. Можно также попробовать указать целую подсеть, если для вашей сети это актуально.
  4. Можно в ваш файл конфигурации VPN указать опцию pull-filter ignore "dhcp-option DNS". В этом случае вы столкнетесь с такими же проблемами как и в пункте 2 и решить их нужно будет также.

Настройка конкретных маршрутов

→ Ссылка
Автор решения: vlad_21999
  1. Если вы пользуетесь Network Manager, то зайдите в настройки Вашего VPN подключения и установите чекбокс “Использовать это подключение только для ресурсов в этой сети”.
  2. Введите команду в терминал

sudo nmcli connection modify id VPN_NAME ipv4.dns-search '~.' ipv6.dns-search '~.' ipv4.dns-priority -50 ipv6.dns-priority -50

где VPN_NAME - имя подключения в network Manager

→ Ссылка