[РЕШЕНО] Не применяется DNS при включении OpenVPN

Доброго времени суток!
вот лог инициализации VPN соединения

апр 06 12:29:36 localhost openvpn[725]: [server] Peer Connection Initiated with [AF_INET]myserver:1194
апр 06 12:29:36 localhost openvpn[725]: TLS: move_session: dest=TM_ACTIVE src=TM_INITIAL reinit_src=1
апр 06 12:29:36 localhost openvpn[725]: TLS: tls_multi_process: initial untrusted session promoted to trusted
апр 06 12:29:36 localhost openvpn[725]: PUSH: Received control message: 'PUSH_REPLY,redirect-gateway def1 bypass-dhcp,dhcp-option DNS 8.8.8.8,dhcp-option DNS 8.8.8.8,route 10.8.0.1,topology net30,ping 10,ping-restart 120,ifconfig 10.8.0.6 10.8.0.5,peer-id 2,cipher AES-256-GCM,protocol-flags cc-exit tls-ekm dyn-tls-crypt,tun-mtu 1500'
апр 06 12:29:36 localhost openvpn[725]: OPTIONS IMPORT: --ifconfig/up options modified
апр 06 12:29:36 localhost openvpn[725]: OPTIONS IMPORT: route options modified
апр 06 12:29:36 localhost openvpn[725]: OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
апр 06 12:29:36 localhost openvpn[725]: OPTIONS IMPORT: tun-mtu set to 1500
апр 06 12:29:36 localhost openvpn[725]: net_route_v4_best_gw query: dst 0.0.0.0
апр 06 12:29:36 localhost openvpn[725]: net_route_v4_best_gw result: via 192.168.4.1 dev enp7s0
апр 06 12:29:36 localhost openvpn[725]: ROUTE_GATEWAY 192.168.4.1/255.255.255.0 IFACE=enp7s0 HWADDR=hwaddr
апр 06 12:29:36 localhost openvpn[725]: TUN/TAP device tun0 opened
апр 06 12:29:36 localhost openvpn[725]: net_iface_mtu_set: mtu 1500 for tun0
апр 06 12:29:36 localhost openvpn[725]: net_iface_up: set tun0 up
апр 06 12:29:36 localhost openvpn[725]: net_addr_ptp_v4_add: 10.8.0.6 peer 10.8.0.5 dev tun0
апр 06 12:29:36 localhost openvpn[725]: net_route_v4_add: 178.208.77.86/32 via 192.168.4.1 dev [NULL] table 0 metric -1
апр 06 12:29:36 localhost openvpn[725]: net_route_v4_add: 0.0.0.0/1 via 10.8.0.5 dev [NULL] table 0 metric -1
апр 06 12:29:36 localhost openvpn[725]: net_route_v4_add: 128.0.0.0/1 via 10.8.0.5 dev [NULL] table 0 metric -1
апр 06 12:29:36 localhost openvpn[725]: net_route_v4_add: 10.8.0.1/32 via 10.8.0.5 dev [NULL] table 0 metric -1
апр 06 12:29:36 localhost openvpn[725]: Initialization Sequence Completed
Всё работает, но DNS остается тот, что выдает по dhcp роутер
ЧЯДНТ?
resolvectl --no-pager
?
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE
alien175
resolvectl --no-pager
?

Global
           Protocols: +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported
    resolv.conf mode: foreign
  Current DNS Server: 192.168.4.1
         DNS Servers: 192.168.4.1
Fallback DNS Servers: 1.1.1.1#cloudflare-dns.com 9.9.9.9#dns.quad9.net 8.8.8.8#dns.google 2606:4700:4700::1111#cloudflare-dns.com 2620:fe::9#dns.quad9.net 2001:4860:4860::8888#dns.google

Link 2 (enp7s0)
    Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
         Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 192.168.4.1
       DNS Servers: 192.168.4.1
     Default Route: yes

Link 6 (tun0)
    Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6 mDNS/IPv4 mDNS/IPv6
         Protocols: -DefaultRoute +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 8.8.8.8
       DNS Servers: 8.8.8.8
        DNS Domain: ~DOMAIN-ROUTE
     Default Route: no


Решил сделать совсем по уму, как описано тут - https://wiki.archlinux.org/title/OpenVPN#The_update-systemd-resolved_custom_script
на интерфейс туннеля DNS вешается тот, который нужен, но в resolv.conf остается тот, который выдал роутер, соответственно вся система ходит через него
Vitaliy
resolv.conf mode: foreign
Ну своими же ручками прописали dns на постоянку. Или что там у вас сетью управляет прописало. Чему удивляетесь?

ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
systemctl enable systemd-resolved --now
resolvectl
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE
alien175
ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
systemctl enable systemd-resolved --now
resolvectl


Global
           Protocols: +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported
    resolv.conf mode: stub
  Current DNS Server: 192.168.4.1
         DNS Servers: 192.168.4.1
Fallback DNS Servers: 1.1.1.1#cloudflare-dns.com 9.9.9.9#dns.quad9.net 8.8.8.8#dns.google 2606:4700:4700::1111#cloudflare-dns.com 2620:fe::9#dns.quad9.net 2001:4860:4860::8888#dns.google

Link 2 (enp7s0)
    Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
         Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 192.168.4.1
       DNS Servers: 192.168.4.1
     Default Route: yes

Link 16 (tun0)
    Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6 mDNS/IPv4 mDNS/IPv6
         Protocols: -DefaultRoute +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 10.8.0.1
       DNS Servers: 10.8.0.1
        DNS Domain: ~DOMAIN-ROUTE
     Default Route: no


Сделал, как Вы написали, ничего не поменялось, кроме resolv.conf mode

Сетью управляет systemd-networkd
Конфиг

cat /etc/systemd/network/20-wired.network

[Match]
Name=enp7s0

[Network]
DHCP=yes
Vitaliy
ничего не поменялось, кроме resolv.conf mode
Перезапустите соединение openvpn.

А еще удостоверьтесь, что dns 10.8.0.1 рабочий
dig ya.ru @10.8.0.1
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE
alien175
Перезапустите соединение openvpn.
Я это сразу же сделал - ничего


[vitaly@localhost:/etc/openvpn/client]$ sudo systemctl restart openvpn-client@home
[sudo] пароль для vitaly:
19:23:00 j0
[vitaly@localhost:/etc/openvpn/client]$ resolvectl
Global
           Protocols: +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported
    resolv.conf mode: stub
  Current DNS Server: 192.168.4.1
         DNS Servers: 192.168.4.1
Fallback DNS Servers: 1.1.1.1#cloudflare-dns.com 9.9.9.9#dns.quad9.net 8.8.8.8#dns.google 2606:4700:4700::1111#cloudflare-dns.com 2620:fe::9#dns.quad9.net 2001:4860:4860::8888#dns.google

Link 2 (enp7s0)
    Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
         Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 192.168.4.1
       DNS Servers: 192.168.4.1
     Default Route: yes

Link 18 (tun0)
    Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6 mDNS/IPv4 mDNS/IPv6
         Protocols: -DefaultRoute +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 10.8.0.1
       DNS Servers: 10.8.0.1
        DNS Domain: ~DOMAIN-ROUTE
     Default Route: no

10.8.0.1 рабочий, я его только что сделал)


[vitaly@localhost:/etc/openvpn/client]$ dig ya.ru @10.8.0.1

; <<>> DiG 9.20.7 <<>> ya.ru @10.8.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61121
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 9b0dae69a00ac5440100000067f2ac4fdd1563d7defcf093 (good)
;; QUESTION SECTION:
;ya.ru.                         IN      A

;; ANSWER SECTION:
ya.ru.                  1       IN      A       5.255.255.242
ya.ru.                  1       IN      A       77.88.44.242
ya.ru.                  1       IN      A       77.88.55.242

;; Query time: 81 msec
;; SERVER: 10.8.0.1#53(10.8.0.1) (UDP)
;; WHEN: Sun Apr 06 19:31:03 MSK 2025
;; MSG SIZE  rcvd: 110

UPD еще и через какое-то время systemd-networkd трёт ссылку на stub-resolv.conf и создает resolv.conf с DNS, который прилетает по DHCP
Странно. Стирать он ничего не должен.

grep -HREv "^#|^$" /etc/systemd/resolved*
grep -HREv "^#|^$" /etc/systemd/network*
?
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE
alien175
Странно. Стирать он ничего не должен.

grep -HREv "^#|^$" /etc/systemd/resolved*
grep -HREv "^#|^$" /etc/systemd/network*
?


[vitaly@localhost:/etc/openvpn/client]$ grep -HREv "^#|^$" /etc/systemd/resolved*
/etc/systemd/resolved.conf:[Resolve]
20:40:13 j0
[vitaly@localhost:/etc/openvpn/client]$ grep -HREv "^#|^$" /etc/systemd/network*
/etc/systemd/network/20-wired.network:[Match]
/etc/systemd/network/20-wired.network:Name=enp7s0
/etc/systemd/network/20-wired.network:[Network]
/etc/systemd/network/20-wired.network:DHCP=yes
/etc/systemd/networkd.conf:[Network]
/etc/systemd/networkd.conf:[IPv6AcceptRA]
/etc/systemd/networkd.conf:[DHCPv4]
/etc/systemd/networkd.conf:[DHCPv6]
/etc/systemd/networkd.conf:[DHCPServer]
Vitaliy
Я так понимаю, что systemd-networkd и systemd-resolved договориться не могут
Это вряд-ли. У меня тоже связка networkd+resolved. Paботает без нареканий, dns'ы переключаются, но я использую wireguard.

Конфиг ovpn покажите
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE
 
Зарегистрироваться или войдите чтобы оставить сообщение.