[sisyphus] etcnet, VPN и DNSы для конкретных доменов
Alexei V. Mezin
alexei.mezin на gmail.com
Ср Ноя 17 02:41:44 MSK 2021
Есть пользовательский компьютер, сеть через etcnet, настроен интерфейс с
OpenVPN, при выполнении
# ifup vpn_interface
все поднимается, соединяется. Но ожидаемо, что имеющиеся в системе ДНСы,
которые пришли через DHCP от провайдера, ничего не знают о хостах в той
сети, куда открывается VPN. Хочется, чтоб адреса *.corp.domain.com
ресолвились через ДНС этой самой corp.
Говорят, что просто так это в линуксе не работает (не то что в виндовз
или мак). Есть какой-то обходной собственный путь у NM. И есть свой путь
у systemd-resolved.
Документация на /etc/systemd/resolved.conf особой внятностью в этом
вопросе не отличается. У меня не получилось заставить ее работать с ДНС
"по умолчанию" на все адреса, и с конкретным ДНС на конкретный домен.
Зато для OpenVPN есть скрипт
https://github.com/jonathanio/update-systemd-resolved
который при поднятии интерфейса через DBUS добавляет ДНС/домен, а при
отключении убирает. И это неплохо работает:
$ systemd-resolve --status
Global
Protocols: +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: foreign
Current DNS Server: 192.168.0.254
DNS Servers: 192.168.0.254
DNS Domain: local.lan
...
Link 13 (vpn)
Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS
DNSSEC=no/unsupported
Current DNS Server: 10.17.203.250
DNS Servers: 10.17.203.250
DNS Domain: ~corp.domain.com
Один сервер 192.168.0.254 по DHCP для всех доменов, а для
*.corp.domain.com персонально 10.17.203.250
И все бы было хорошо, если бы в etcnet для VPN не навертели
принудительного вызова собственного скрипта, который перекрывает вызов
скриптов из файла настроек. И в результате ничего не работает.
Может кому-то удалось решить такую проблему? Принимаются ли
FeatureRequest'ы на etcnet через багзиллу?
Подробная информация о списке рассылки Sisyphus