Configuração:
Uma conexão de dispositivo debian jessie via ppp para a internet
Usamos systemd-networking e nenhuma interface / etc / network /.
systemd-resolved é usado para DNS.
Versões:
systemctl --version
systemd 230
+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN
armv7l GNU/Linux
kernel 4.4.14-v7+
(versões são as de jessie-backports)
Isso funciona bem para Ethernet + W-Lan, mas falha para o ppp.
Razão: os scripts de conexão personalizados
0000usepeerdns
000resolvconf
ainda estão escrevendo para /etc/resolv.conf ao invés de se conectar ao servidor dbus systemd-resolve.
então eu estou tentando fazer com que a interface PPP tenha resolução de DNS, o que deveria ser possível chamando SetLinkDNS via DBUS pelo que eu li (links no final)
Obtenha o ID da interface (5 no nosso caso)
ip l
..
5: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 700 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 3
link/ppp
..
Leia o status atual da interface de link 5
busctl introspect org.freedesktop.resolve1 /org/freedesktop/resolve1/link/_35 |grep DNS
.DNS property a(iay) 0 -
defina o DNS na interface 5 com 1 endereço IPV4 (google DNS como exemplo)
(qual é a explicação do terceiro inteiro?)
busctl call org.freedesktop.resolve1 /org/freedesktop/resolve1 org.freedesktop.resolve1.Manager SetLinkDNS 'ia(iay)' 5 1 2 4 8 8 8 8
Link ppp0 is managed.
Lê os valores, ainda vazios, por isso não inseriu esses valores.
busctl introspect org.freedesktop.resolve1 /org/freedesktop/resolve1/link/_35 |grep DNS
.DNS property a(iay) 0
Então, como eu depuro isso ainda mais para finalmente fazê-lo funcionar?
voltar para / etc / network / interfaces ou um "normal" /etc/resolv.conf não é uma opção.
Recursos que eu usei (mais muito mais, mas esses são os mais relevantes):
Rastreador de problemas do Github no sistema
gestor de rede wiki do freedesktop
rastreador de problemas DNS do jonathanio VPN
script de mudança de DNS da VPN de jonathanio