Arch Linux: OpenVPN — не обновляется resolv.conf

Автор: | 03/02/2019
 

В Arch Linux при подключении к OpenVPN AS не обновляется resolv.conf.

Насколько я в курсе — проблема специфична именно для Arch и его производных, типа Manjaro Linux.

Пакет openvpn установлен с помощь pacman, см. OpenVPN: настройка OpenVPN Access Server и AWS VPC peering.

При старте подключения — в логе выводятся сообщения:

...
Fri Feb 22 16:40:28 2019 Unrecognized option or missing or extra parameter(s) in [PUSH-OPTIONS]:4: dhcp-pre-release (2.4.6)
Fri Feb 22 16:40:28 2019 Unrecognized option or missing or extra parameter(s) in [PUSH-OPTIONS]:5: dhcp-renew (2.4.6)
Fri Feb 22 16:40:28 2019 Unrecognized option or missing or extra parameter(s) in [PUSH-OPTIONS]:6: dhcp-release (2.4.6)
Fri Feb 22 16:40:28 2019 Unrecognized option or missing or extra parameter(s) in [PUSH-OPTIONS]:23: register-dns (2.4.6)
Fri Feb 22 16:40:28 2019 Unrecognized option or missing or extra parameter(s) in [PUSH-OPTIONS]:24: block-ipv6 (2.4.6)
...

Проверяем resolv.conf — в нём остаётся DNS провайдера:

cat /etc/resolv.conf
Generated by resolvconf
nameserver 188.190.254.254
nameserver 31.43.120.254
nameserver 92.249.120.254

Документация — тут>>>.

Загружаем скрипт:

sudo wget -O /etc/openvpn/update-resolv-conf https://raw.githubusercontent.com/masterkorp/openvpn-update-resolv-conf/master/update-resolv-conf.sh

(в Debian/Ubuntu он создаётся при установке пакета openvpn).

Задаём выполнение:

sudo chmod +x /etc/openvpn/update-resolv-conf

Обновляем свой client.ovpn (в моём случае это /etc/openvpn/client/setevoy-ovnas.conf) — добавляем вызов скрипта:

...
script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
...

В настройка OpenVPN указана передача DNS: первый IP — это IP сети VPN, второй — CloudFlare, just in case:

Перезапускаем подключение:

sudo /usr/bin/openvpn --suppress-timestamps --nobind --config /etc/openvpn/client/setevoy-ovnas.conf
...
Unrecognized option or missing or extra parameter(s) in [PUSH-OPTIONS]:4: dhcp-pre-release (2.4.7)
Unrecognized option or missing or extra parameter(s) in [PUSH-OPTIONS]:5: dhcp-renew (2.4.7)
Unrecognized option or missing or extra parameter(s) in [PUSH-OPTIONS]:6: dhcp-release (2.4.7)
Unrecognized option or missing or extra parameter(s) in [PUSH-OPTIONS]:20: register-dns (2.4.7)
Unrecognized option or missing or extra parameter(s) in [PUSH-OPTIONS]:21: block-ipv6 (2.4.7)
...
/etc/openvpn/update-resolv-conf tun0 1500 1553 172.27.232.17 255.255.248.0 init
dhcp-option DNS 172.31.26.29
dhcp-option DNS 1.1.1.1
...

Проверяем resolv.conf:

cat /etc/resolv.conf
Generated by resolvconf
nameserver 172.31.26.29
nameserver 1.1.1.1

Готово.