Как автоматически получить новый сервер имен в VPN-подключении

Я запускаю ubuntu xenial 16.04

Мы используем openvpn для подключения к виртуальному частному облаку. У этого облака есть собственный DNS-сервер (как и наш локальный маршрут – домашний или офисный).

Когда я подключаюсь к VPN, все IP-адреса в этой сети доступны, но я не могу достичь имени хоста. Причина проста: файл resolv.conf по-прежнему показывает мой локальный сервер имен. Если я вручную переписываю resolv.conf, чтобы иметь правильный сервер имен, все это хорошо.

Итак, как я могу заставить его автоматически перенастроить resolv.conf при подключении к VPN?

Можно ли подключиться к системному событию и выполнить сценарий?

2 Solutions collect form web for “Как автоматически получить новый сервер имен в VPN-подключении”

В пакете OpenVPN есть скрипт для этого в /etc/openvpn/update-resolv-conf . Вам необходимо настроить его с помощью:

 up /etc/openvpn/update-resolv-conf down /etc/openvpn/update-resolv-conf 

Это позволит получить адреса DNS-сервера из dhcp-option DNS опции dhcp-option DNS опции, переданных одноранговым сервером OpenVPN и соответствующим образом настроить resolvconf . Он также обрабатывает dhcp-option DOMAIN .

Однако это не идеально, потому что это добавит эти серверы имен в список существующих серверов имен вместо перезаписывания списка серверов имен. Если вы используете openresolv -x может использоваться для перезаписывания конфигурации DNS вместо предварительного использования.

Вот решение, которое я придумал: есть переключатель, который позволяет запускать сценарий, когда туннель запущен и работает. Я использую переключатель, чтобы по существу перезаписать файл resolv.conf тем, который, как я знаю, является правильным. Я знаю, это полный хак.

 sudo openvpn --up reset-dns.sh --client client.ovpn 

сценарий (reset-dns):

 #!/bin/bash cp ~/resolv.conf /etc/resolv.conf 

Кроме того, для тех, кто говорит: «OMG! Ты управляешь туннелем как root!» Это не будет работать иначе; даже до моего DNS-взлома.

Я определенно открыт для лучшего способа. Сетевой менеджер для ubuntu просто не работает. Я несколько раз сокращал билеты на ubuntu

  • Как начать переговоры с racoon VPN IKE автоматически?
  • Сделать SSH не использовать VPN
  • Настройки сети, Монетный двор Linux, Невозможно установить «использовать это соединение только для ресурса в своей сети»
  • Проблема маршрутизации через 2-х хоп в локальной сети
  • VPN-клиент для linux-машины + шлюз контрольной точки поддержки
  • Как респанировать vpnc, когда он останавливается?
  • Пожалуйста, помогите мне разобраться в этих адресах tun0
  • Не удается разрешить все имена после подключения к VPN
  • Запустить VPN-соединение с протоколом PPTP в командной строке
  • Задержка соединения OpenVPN, журналы сервера PUSH: получено управляющее сообщение: «PUSH_REQUEST» несколько раз
  • Соединение OpenVPN неожиданно отключается
  • Linux и Unix - лучшая ОС в мире.