[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