LINUX.ORG.RU

systemd-resolved не работает в одной wifi-сети

 , , , ,


0

1

На ноуте lubuntu 17.04, rtl8821ea (с кривым драйвером, который отключается каждые 1.5-2 часа), systemd-resolved и wicd.

Есть домашняя сеть wifi, шлюз 192.168.1.2, ip по dhcp, на роутере поднят dropbear (dhcp+dns). Другие устройства работают нормально, также ноут нормально работает с другими сетями (wifi, ethernet). Но конкретно в этой сети не работает dns (DNS_PROBE_FINISHED_BAD_CONFIG).

 $ dig ya.ru
; <<>> DiG 9.10.3-P4-Ubuntu <<>> ya.ru
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 25773
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;ya.ru.				IN	A

;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Wed Oct 04 10:19:56 +03 2017
;; MSG SIZE  rcvd: 34

Временно исправляется через # echo "nameserver 192.168.1.2" >/etc/resolv.conf после подключения. Еще странно, что после этой команды systemd-resolved начинает работать нормально:

 $ dig ya.ru @127.0.0.53
; <<>> DiG 9.10.3-P4-Ubuntu <<>> ya.ru @127.0.0.53
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35431
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;ya.ru.				IN	A

;; ANSWER SECTION:
ya.ru.			595	IN	A	87.250.250.242

;; Query time: 26 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Wed Oct 04 10:33:10 +03 2017
;; MSG SIZE  rcvd: 50

Чувствую, что проблема с настройками systemd-resolved и dhclient (он же должен как-то сообщать resolved`у dns-адрес, полученный от роутера?).

UPD: Отключил systemd-resolved, нашел скрипт для dhclient для прямой генерации resolve.conf

 # systemctl stop systemd-resolved.service 
 # systemctl disable systemd-resolved.service 
Removed /etc/systemd/system/multi-user.target.wants/systemd-resolved.service.
 # systemctl mask systemd-resolved.service 
Created symlink /etc/systemd/system/systemd-resolved.service → /dev/null.
 # resolvconf --disable-updates
 # cat <<'EOF' >/etc/dhcp/dhclient-enter-hooks.d/resolv-conf
#!/bin/sh
echo "" >/etc/resolv.conf
case "$reason" in
BOUND|RENEW|REBIND|REBOOT|TIMEOUT)
        [ "$new_domain_name_servers" ] && [ "$new_domain_name" ] && echo "domain $new_domain_name" >>/etc/resolv.conf
        [ "$new_domain_name_servers" ] && [ "$new_domain_search" ] && echo "search $new_domain_search" >>/etc/resolv.conf
        for N in $new_domain_name_servers ;do
                echo "nameserver $N" >>/etc/resolv.conf
        done ;;
BOUND6|RENEW6|REBIND6)
        [ "$new_dhcp6_name_servers" ] && [ "$new_dhcp6_domain_search" ] && echo "search $new_dhcp6_domain_search" >>/etc/resolv.conf
        for N in $new_dhcp6_name_servers ; do
                N_LOW="$(echo "$N" | tr '[:upper:]' '[:lower:]')"
                if expr "$N_LOW" : ^fe80:: >/dev/null ; then
                        ZONE_ID="%$interface"
                else
                        ZONE_ID=""
                fi
                echo "nameserver $N$ZONE_ID" >>/etc/resolv.conf
        done ;;
esac
EOF


Последнее исправление: Pasha__kun (всего исправлений: 1)

systemd-resolved

Отключи его, пропиши всё нужное в resolv.conf и пусть будет статикой. У меня так уже лет пять — железка имеет статический IP.

resolved-демон нужен только тогда, когда ты шатаешься с ноутом по разным точкам, но systemd-resolved по моему опыту глючный сильно.

r3lgar ★★★★★
()

твой пост надоумил меня посмотреть наличие в моей системе этой штуки и вот что я обнаружил: оно работает, но не умеет в DNSSEC. то есть формально умеет, но на деле почему то не обнаруживает у сервера поддержку DNSSEC и отключает её у себя

вердикт - не нужно, выпилил КЕМ

eternal_sorrow ★★★★★
()
Последнее исправление: eternal_sorrow (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.