Azure VPN Client fuq Linux: id-dominji DNS ma setgħux jiġu stabbiliti
Il-mina togħla u mbagħad il-klijent ta' Linux ma jistax jistabbilixxi d-dominji DNS. Iċċekkja systemd-resolved, osserva s-sejħa D-Bus u sewwi l-azzjoni polkit.
Il-mina togħla, iċ-ċertifikat jiġi vvalidat, u mbagħad dialog jgħid li s-server DNS jew id-dominji ma setgħux jiġu stabbiliti. Fuq Linux dan id-dialog normalment mhuwiex dwar il-gateway: il-klijent jgħaddi l-konfigurazzjoni tal-ismijiet lil systemd-resolved permezz ta' D-Bus, u trasferiment miċħud iħalli l-interface 'l fuq b' riżoluzzjoni li għadha tindika lejn il-link antik. L-istess laptop jaqta' l-ismijiet sew qabel ma l-profil jieħu suffiss, u dan huwa l-indizju li jistħoqqlu jiġi segwit. Xejn mill-mina ma nbidel fil-mument li fih deher id-dialog.
Mingħajr suffiss il-klijent jimbotta biss servers tal-ismijiet. Żid dominju tat-tfittxija u tiġi magħquda sejħa oħra, SetLinkDomains, bil-verifika tal-awtorizzazzjoni tagħha stess, għalhekk l-istess profil jaħdem fuq Windows u jonqos hawn. Il-gateway jimbotta l-istess settings fiż-żewġ każi, u l-komponent li jirrifjuta dawn huwa lokali.
Ikkonferma li systemd-resolved huwa r-riżolvitur
Dan il-klijent jitkellem ma' systemd-resolved u ma' ħadd ieħor. Arch u diversi distribuzzjonijiet oħra jikkunsinnawh mitfi, u /etc/resolv.conf jista' jappartjeni għal riżolvitur kompletament differenti, għalhekk stabbilixxi s-sid qabel ma tħares lejn il-permessi.
Tliet kmandi jsolvu dan:
systemctl status systemd-resolved
ls -l /etc/resolv.conf
resolvectl status
Qed tfittex servizz attiv, kollegament simboliku li jindika lejn /run/systemd/resolve/stub-resolv.conf, u DNS għal kull link f' resolvectl. Meta NetworkManager ikollu s-sjieda minflok, erfaħha għal resolved minflok ma tiġġieled mal-klijent; id-drop-in hawn taħt jistabbilixxi ż-żewġ ċavetta:
[main]
dns=systemd-resolved
systemd-resolved=true
Erġa' ibda NetworkManager ladarba jkun hemm dik il-fajl. Riżolvitur inattiv flimkien ma' klijent li jibqa' jsejjaħ ismu D-Bus jipproduċi żball li ma jsemmi lil ħadd minnhom.
Osserva s-sejħa D-Bus li tonqos
Dan il-pass jibdel id-dialog fi tweġiba speċifika. Osserva l-interface tar-riżolvitur f'terminal wieħed u l-ġurnal f'ieħor, imbagħad erġa' qabbad:
sudo dbus-monitor --system "interface='org.freedesktop.resolve1.Manager'"
journalctl -fu systemd-resolved
Għandhom jidhru tliet sejħiet: SetLinkDNS, SetLinkDomains u SetLinkDefaultRoute. Dik li tiġi lura bħala tweġiba ta' żball hija dik li trid tiġi msewwija. Dik it-tweġiba normalment issemmi r-raġuni tagħha, pereżempju org.freedesktop.DBus.Error.AccessDenied kontra SetLinkDomains. Innota liema sejħa kienet, għax it-taqsima li jmiss hija dwar li tħalli dik is-sejħa tgħaddi.
Agħti lill-klijent l-azzjonijiet polkit li jeħtieġ
Aqra l-politika qabel ma tikteb regola. Klijent li jaħdem bħala servizz ma jistax iwieġeb għal talba interattiva, għalhekk auth_admin_keep impliċitu huwa triq bla ħruġ.
pkaction --verbose --action-id org.freedesktop.resolve1.set-domains
pkaction --action-id org.freedesktop.resolve1.set-dns-servers --verbose
Jekk it-tweġiba hija auth_admin_keep, il-klijent jeħtieġ regola espliċita. Is-silta hawn taħt tippermetti l-erba' azzjonijiet resolve1 li klijent VPN juża matul konnessjoni u tħalli kollox ieħor fi polkit.Result.NOT_HANDLED:
polkit.addRule(function(action, subject) {
var allowed = [
"org.freedesktop.resolve1.set-dns-servers",
"org.freedesktop.resolve1.set-domains",
"org.freedesktop.resolve1.set-default-route",
"org.freedesktop.resolve1.revert"
];
if (allowed.indexOf(action.id) !== -1 &&
subject.isInGroup("wheel")) {
return polkit.Result.YES;
}
return polkit.Result.NOT_HANDLED;
});
Poġġih fi /etc/polkit-1/rules.d/ bħala fajl li se tagħraf aktar tard, pereżempju 50-azurevpn.rules, u ibdel l-isem tal-grupp fis-silta b'tiegħek qabel ma toħroġ u terġa' tidħol. Żommu dejjaq, għax li tippermetti kull azzjoni resolve1 għal kull kont huwa usa' milli jeħtieġ dan il-klijent u ħafna aktar diffiċli biex tawditjah wara.
Iċċekkja l-XML tal-profil qabel ma timmodifika polkit
Profil modifikat bl-idejn jista' jiġi injorat bla kelma. Microsoft tiddokumenta tqassim ċatt li fih l-entrati dnsserver joqogħdu direttament ġewwa dnsservers, u s-suffissi ġewwa dnssuffixes. Element tal-kejl żejjed madwar kull indirizz mhuwiex dik il-forma, u l-klijent jaqa' bil-kwiet lura għal dak li jimbotta l-gateway.
Agħmel it-test tat-tneħħija qabel ma tmiss polkit. Neħħi l-blokka tas-suffiss, erġa' qabbad u ara jekk id-dialog jinbidilx. Jekk jinbidel, is-sejħa li fallew kienet it-trasferiment tad-dominju, u s-sewwa hija awtorizzazzjoni mhux ieħor modifika XML.
Ivverifika d-dominju fuq il-link tal-mina
Erġa' qabbad u aqra resolvectl status mill-ġdid, u ċċekkja li l-link tal-mina jġorr is-server tal-ismijiet u d-dominju tat-tfittxija flimkien. Issolvi isem privat qasir minflok wieħed pubbliku. Meta l-isem jiġi solvut iżda s-servizz warajh ma jweġibx, it-trasferiment DNS ħadem u l-problema li fadal hija r-rotta.
Ikteb fit-ticket is-sid tar-riżolvitur, is-sejħa D-Bus li falliet, il-fajl tar-regola u l-verżjoni tal-profil. Dawk l-erba' linji jagħmlu l-laptop Linux li jmiss tiswija qasira minflok investigazzjoni ripetuta.