У меня есть конфигурация ovpn для подключения к частной сети из Ubuntu 20.04 LTS. Но каждый раз после запуска vpn мне приходится запускать эти команды
resolvectl dns tun0 10.0.0.255
resolvectl domain tun0 "~domain1.com"
resolvectl domain tun0 "~domain2.com"
чтобы заставить dns работать с частными поддоменами. Возможно ли включить эти команды в конфигурацию ovpn и выполнять их автоматически, когда я подключаюсь к этому vpn?
решение1
Если вы, как и я, используете network-manager-openvpn, это может помочь решить проблему навсегда:
sudo nmcli connection modify VPN_NAME \
ipv4.dns-search '~domain1.com, ~domain2.com' ipv6.dns-search '~domain1.com, ~domain2.com' ipv4.dns 10.0.0.255
Источник:https://ask.fedoraproject.org/t/systemd-resolved-not-querying-dns-server-set-by-openvpn/9696/9
Я не пробовал часть, касающуюся DNS-сервера. Будьте осторожны. Это перезаписывает отправленные настройки. Если вы хотите использовать некоторые домены в качестве поисковых доменов, просто опустите '~'.
решение2
Вы можете использовать параметры --up
и (или директивы конфигурации / ) для указания скрипта, который будет запущен после установления / закрытия соединения. Вы можете--down
up
down
нетиспользуйте выражения оболочки (вроде --up 'resolvectl dns tun0 10.0.0.255 && resolvectl domain tun0 "~domain1.com"'
) — это не сработает.
Также, чтобы разрешить OpenVPN вызывать внешние скрипты, пожалуйста, передайте --script-security 2
.
Пожалуйста, прочтитеофициальная документация OpenVPNу вас есть еще вопросы?