На ноуте 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