Проблема с DNS с OpenVPN в Ubuntu 20.04

Я установил сервер OpenVPN и DNS-сервер Bind9 на сервере компании. Часть конфигурации сервера находится ниже. Важной частью является проталкивающий маршрут и опция DHCP DNS.

local 10.0.9.2
port 1194
proto udp
dev tun
topology subnet
server 10.0.12.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 10.0.9.0 255.255.255.0" 
push "dhcp-option DNS 10.0.9.2"

При подключении в Windows или Elementary OS все работает отлично. Только трафик на сервер идет через VPN, остальное - нет. Если клиент принудительно пропускает весь трафик через VPN, доступ в Интернет также работает. В обоих случаях при попытке доступа к git.internal.mycompany.org он получает записи DNS с моего DNS-сервера Bind9 и правильно подключается.

Но это не работает в Ubuntu. При пропуске всего трафика через VPN берется запись из DNS. Но когда через VPN проходит только трафик сервера, DNS не достигается, и я не могу получить доступ к git-серверу через URL. При достижении через IP работает.

Я также попытался добавить в клиентский конфиг это.

script-security 2
up /etc/openvpn/update-systemd-resolved
down /etc/openvpn/update-systemd-resolved

Но это не помогает. Возможно, потому что, когда я пытаюсь запустить скрипт напрямую, я получаю сообщение об ошибке / etc / openvpn / update-systemd-resolved: řádek 404: dev: unbound variable .

Я не знаю, как это сделать почини это. Я пытался найти здесь на AskUbuntu и других, но большинство предлагают добавлять вверх и вниз в конфигурации. Который не работает для меня. Это проблема, потому что большинство моих коллег используют Ubuntu. Только несколько компьютеров используют Windows или другой дистрибутив Linux.


Обновление с внесенными изменениями

При применении изменений из @heynnema, вот что напечатано в консоли https://pastebin.com/DkjHguqE при подключении через терминал. После этого ping git.internal.mycompany.org не работает.

Еще один найденный факт:

  • Когда я добавил redirect-gateway def1 bypass-dhcp в конфигурацию, тогда мой общедоступный IP-адрес - это IP-адрес сервера, но все же не может пинговать URL-адрес выше.
  • При импорте Конфигурирование в пользовательском интерфейсе Ubuntu, как упомянуто https://askubuntu.com/a/1188022/972420 , ping работает, пока я не снимаю галочку Используйте это соединение только для трафика в этой сети .
0
задан 8 June 2020 в 16:01

2 ответа

Кажется, что основная проблема заключается в systemd-resolution , как описано здесь: https://github.com/systemd/systemd/issues/6076
Здесь действительно отличная статья, которую я взял за отправную точку: https://www.gabriel.urdhr.fr/2020/ 03/17 / systemd-revolved-dns-configuration-for-vpn /

Небольшой обходной путь, который мне помог, - это запускать его после каждого подключения к VPN. Как настроить DNS вручную

sudo resolvectl dns tun0 10.0.9.2 # Replace with IP of your DNS server
# All internal services are like git.int.mycompany.com or ldap.int.mycompany.com
# You can try to set up "~mycompany.com", worked for me as well
sudo resolvectl domain tun0 "~int.mycompany.com" 

Как автоматизировать его

С помощью NetworkManager :
Если вы используете Network Manager (изображения диспетчера доступны здесь ), вы можете автоматизировать это с помощью сценариев в /etc/NetworkManager/dispatcher.d/

Создать собственный сценарий, назвать его 02-ifupdown установите chmod + x и вставьте

#!/bin/sh

EXPECTED_VPN_NAME="MyCompany VPN" # Put your VPN name here
VPN_CONN_NAME=`nmcli --get name,type con show --active | grep vpn | sed 's/\:.*//'`

if [ "$2" = "vpn-up" ] && [ "$EXPECTED_VPN_NAME" = "$VPN_CONN_NAME" ]; then
        resolvectl dns tun0 10.0.9.2 # Replace with IP of your DNS server
        resolvectl domain tun0 "~int.mycompany.com"
fi


с CLI :
Создайте свой собственный скрипт, установите для него chmod + x и вставьте его в config:

script-security 2
up /path/to/my/script
0
ответ дан 19 June 2020 в 21:30

Измените ваши моды клиента .ovpn следующим образом:

С этого ...

script-security 2
up /etc/openvpn/update-systemd-resolved
down /etc/openvpn/update-systemd-resolved

На это .. .

script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
0
ответ дан 19 June 2020 в 21:30

Другие вопросы по тегам:

Похожие вопросы: