На обычном автономном сервере Ubuntu 18.04 клиент OpenVPN используется для подключения к удаленной сети в режиме подключения. Адрес, шлюз по умолчанию, DNS-серверы и т. Д. Предоставляются DHCP-сервером в удаленной сети.
Однако использование DNS-серверов, предоставляемых VPN, не является обязательным. Поскольку systemd-resolved
по умолчанию используется в качестве преобразователя заглушек, это соответствующий вывод systemd-resolve --status
:
Global
DNSSEC NTA: 10.in-addr.arpa
16.172.in-addr.arpa
168.192.in-addr.arpa
17.172.in-addr.arpa
18.172.in-addr.arpa
19.172.in-addr.arpa
20.172.in-addr.arpa
21.172.in-addr.arpa
22.172.in-addr.arpa
23.172.in-addr.arpa
24.172.in-addr.arpa
25.172.in-addr.arpa
26.172.in-addr.arpa
27.172.in-addr.arpa
28.172.in-addr.arpa
29.172.in-addr.arpa
30.172.in-addr.arpa
31.172.in-addr.arpa
corp
d.f.ip6.arpa
home
internal
intranet
lan
local
private
test
Link 16 (tap1)
Current Scopes: DNS
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 10.0.0.2
DNS Domain: foo.bar
Link 2 (ens192)
Current Scopes: DNS
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 192.168.0.1
DNS Domain: foo2.bar2
Как видите, оба сервера DNS (из локальной сети DHCP и VPN-сеть DHCP).
systemd-resolved
, с помощью утилит командной строки? ~.
, как указано в документации systemd-resolved
. Однако из-за сложных взаимодействий между systemd-resolved
, systemd-networkd
, netplan
и DHCP я не смог изменить этот параметр. Я нашел решение своего второго вопроса:
netplan
для устройства ответвления, затем запустите netplan apply
. Конфигурации Netplan всегда переопределяют пользовательские конфигурации systemd-networkd
, но они не предоставляют необходимых нам опций. Добавьте конфигурацию systemd-networkd
, например, в /etc/systemd/network/tap1.network[1150492 provided:
[Матч]
Имя = tap1
[Ссылка]
RequiredForOnline = нет
[Сеть]
DHCP = ipv4
LinkLocalAddressing = ipv6
Домены = ~.
[DHCP]
UseMTU = true
RouteMetric = 100
UseDomains = false
Перезапустите сеанс VPN.
Теперь systemd-resolved
использует ~.
в качестве домена DNS, как и предполагалось. Ключевыми элементами являются [Network] Domains = ~.
и [DHCP] UseDomains = false
конфигурации systemd-networkd
.