Umhubhe uyaxhuma, isitifiketi siqinisekiswa, bese ingxoxo ithi iseva ye-DNS noma amadomeni awakwazanga ukusethwa. Ku-Linux leyo ngxoxo ngokuvamile ayikhulumi ngesango: iklayenti lidlulisela ukuhlelwa kwamagama ku-systemd-resolved nge-D-Bus, futhi ukudluliswa okwenqatshiwe kushiya isixhumi sisekhona sinesi isixazululo sisabheka isixhumanisi sakudala. I-laptop efanayo ixazulula amagama kahle ngaphambi kokuba iphrofayela ithole isijobelelo, futhi yilowo umkhondo okufanele ulandelwe. Akukho okwaguquka emhubheni ngesikhathi ingxoxo ivele.

Ngaphandle kwesijobelelo iklayenti lihambisa amaseva amagama kuphela. Engeza isizindalwazi sokusesha futhi ucingo lwesibili luzohlangana nalo, SetLinkDomains, nokuhlolwa kwayo kwemvume, yingakho iphrofayela efanayo isebenza ku-Windows yehluleke lapha. Isango lihambisa izilungiselelo ezifanayo kuzo zombili izimo, futhi ingxenye eyenqabayo yeyasekhaya.

Qinisekisa ukuthi i-systemd-resolved iyisixazululi

Leli klayenti likhuluma ne-systemd-resolved kuphela futhi akekho omunye. I-Arch nezinye izinhlobo ezimbalwa ziyiletha ivaliwe, futhi /etc/resolv.conf ingaba ngeyesinye isixazululi ngokuphelele, ngakho-ke thola umnikazi ngaphambi kokubheka izimvume.

Imiyalo emithathu iyakucacisa lokho:

systemctl status systemd-resolved
ls -l /etc/resolv.conf
resolvectl status

Ufuna isevisi esebenzayo, isixhumanisi esingokomfanekiso esikhomba /run/systemd/resolve/stub-resolv.conf, ne-DNS yoxhumano ngalunye ku- resolvectl. Uma ubunikazi buphethwe i-NetworkManager, budlulisela ku-resolved esikhundleni sokulwa neklayenti; i-drop-in engezansi isetha kokubili ukhiye:

[main]
dns=systemd-resolved
systemd-resolved=true

Qalisa kabusha i-NetworkManager uma leyo fayela isikhona. Isixazululi esingasebenzi kanye neklayenti eliqhubeka libiza igama laso le-D-Bus kukhiqiza iphutha elingasho nelilodwa kubo.

Qaphela ucingo lwe-D-Bus olwehlulayo

Lesi sinyathelo siguqula ingxoxo ibe impendulo eqondile. Qaphela isixhumi sesixazululi kwitheminali eyodwa kanye nejenali kwelinye, bese uxhuma kabusha:

sudo dbus-monitor --system "interface='org.freedesktop.resolve1.Manager'"
journalctl -fu systemd-resolved

Izingcingo ezintathu kufanele zivele: SetLinkDNS, SetLinkDomains no- SetLinkDefaultRoute. Lokho okubuya njengempendulo yephutha yikho okufanele kulungiswe. Leyo mpendulo ngokuvamile isho isizathu sayo, isibonelo org.freedesktop.DBus.Error.AccessDenied ngokumelene no- SetLinkDomains. Bhala ukuthi kwakuluphi ucingo, ngoba isigaba esilandelayo sikhuluma ngokuvumela lolo cingo ludlule.

Nikeza iklayenti izenzo ze-polkit elizidingayo

Funda inqubomgomo ngaphambi kokubhala umthetho. Iklayenti elisebenza njengesevisi alikwazi ukuphendula umbuzo wokuxhumana, ngakho-ke auth_admin_keep ongabonakali uyindawo eyomile.

pkaction --verbose --action-id org.freedesktop.resolve1.set-domains
pkaction --action-id org.freedesktop.resolve1.set-dns-servers --verbose

Uma impendulo iyi- auth_admin_keep, iklayenti lidinga umthetho ocacile. Isiqephu esingezansi sivumela izenzo ezine ze-resolve1 iklayenti le-VPN elizisebenzisayo ngesikhathi sokuxhuma futhi lishiya konke okunye ku- 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;
});

Kubeka ku- /etc/polkit-1/rules.d/ njengefayela ozolibona kamuva, isibonelo 50-azurevpn.rules, futhi ushintshe igama leqembu esiqephuni ubelele lakho ngaphambi kokuphuma nokungena futhi. Ligcine lincane, ngoba ukuvumela zonke izenzo ze-resolve1 kuzo zonke ama-akhawunti kubanzi kunalokho leli klayenti elikudingayo futhi kunzima kakhulu ukuyihlola kamuva.

Hlola i-XML yephrofayela ngaphambi kokuhlela i-polkit

Iphrofayela ehlelwe ngesandla ingase inganakwa ngaphandle kwegama. I-Microsoft ibhala isakhiwo esicaba lapho okufakiwe dnsserver kuhlezi ngqo ngaphakathi dnsservers, nezijobelelo ngaphakathi dnssuffixes. Ingxenye eyengeziwe yokugoqa izungeze ikheli ngalinye ayisona leso simo, futhi iklayenti libuyela buthule kulokho okuhambiswa isango.

Yenza isivivinyo sokususa ngaphambi kokuthinta i-polkit. Susa ibhloko lesijobelelo, xhuma kabusha futhi ubheke ukuthi ingxoxo iyashintsha yini. Uma ishintsha, ucingo olwehlulayo kwakuwukudluliswa kwesizindalwazi, futhi isisombululo siyimvume hhayi olunye uhlelo lwe-XML.

Qinisekisa isizindalwazi kusixhumanisi somhubhe

Xhuma kabusha futhi ufunde resolvectl status futhi, uhlola ukuthi isixhumanisi somhubhe sithwala iseva yamagama nesizindalwazi sokusesha ndawonye. Xazulula igama langasese elifushane esikhundleni elomphakathi. Uma igama lixazululeka kodwa isevisi engemuva ingaphenduli, ukudluliswa kwe-DNS kusebenzile futhi inkinga esele ukuqondisa.

Bhala kuthikithi umnikazi wesixazululi, ucingo lwe-D-Bus olwehlulayo, ifayela lomthetho kanye nenguqulo yephrofayela. Leyo migqa emine yenza i-laptop elandelayo ye-Linux ibe ukulungiswa okufushane esikhundleni sophenyo oluphindiwe.

Izihloko ezihlobene