تونل پورته کیږي، سند تصدیق کیږي او بیا یو خبرې اترې وایي چې DNS سرور یا ډومینونه تنظیم نشول. په Linux کې دا خبرې اترې معمولاً د ګیټوې په اړه نه دي: کلاینټ د نومونو ترتیب د D-Bus له لارې systemd-resolved ته سپاري، او رد شوې سپارنه انټرفیس پورته پاتې کوي، حل بیا هم زاړه اړیکې ته اشاره کوي. هماغه لپ ټاپ د پروفایل د ضمیمې له ترلاسه کولو دمخه نومونه ښه حل کوي، او دا هغه نښه ده چې تعقیبول یې ارزښت لري. د خبرو اترو د ښکارېدو په شېبه کې په تونل کې هېڅ نه و بدل شوی.

د ضمیمې پرته کلاینټ یوازې د نومونو سرورونه لیږي. د لټون ډومین اضافه کړئ او دویمه غوښتنه ورسره یوځای کیږي، SetLinkDomains، د خپل اجازې تفتیش سره، له همدې کبله هماغه پروفایل په Windows کې کار کوي او دلته ناکام کیږي. ګیټوې په دواړو حالتونو کې هماغه تنظیمات لیږي، او هغه برخه چې ردوي یې محلي ده.

تصدیق کړئ چې systemd-resolved حل کوونکی دی

دا کلاینټ یوازې له systemd-resolved سره خبرې کوي، له بل چا سره نه. Arch او څو نور خپرونې دا غیر فعال وړاندې کوي، او /etc/resolv.conf کېدای شي په بشپړ ډول بل حل کوونکي پورې اړه ولري، نو د اجازو کتلو دمخه مالک معلوم کړئ.

درې کمانډونه دا روښانه کوي:

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

تاسو فعال خدمت، /run/systemd/resolve/stub-resolv.conf ته اشاره کوونکی سمبولیک لینک، او په resolvectl کې هر لینک لپاره DNS لټوئ. کله چې مالکیت NetworkManager ولري، د کلاینټ سره د جګړې پرځای یې resolved ته انتقال کړئ؛ لاندې drop-in دواړه کیلي ټاکي:

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

هغه فایل چې شو، NetworkManager یو ځل بیا پیل کړئ. غیر فعال حل کوونکی او هغه کلاینټ چې د هغې D-Bus نوم غواړي، یوځای داسې تېروتنه جوړوي چې د دوی له هیچا نوم نه اخلي.

هغه D-Bus غوښتنه وڅارئ چې ناکام کیږي

دا ګام خبرې اترې په دقیق ځواب بدلوي. په یو ټرمینل کې د حل کوونکي انټرفیس او په بل کې ژورنال وګورئ، بیا بیا وصل شئ:

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

درې غوښتنې باید ښکاره شي: SetLinkDNS، SetLinkDomains او SetLinkDefaultRoute. هغه چې د تېروتنې ځواب په توګه راګرځي هماغه دی چې باید سم شي. هغه ځواب معمولاً خپل دلیل اخلي، لکه org.freedesktop.DBus.Error.AccessDenied په مقابل کې SetLinkDomains. یادداشت کړئ کومه غوښتنه وه، ځکه راتلونکې برخه هماغه غوښتنه تېرولو ته اشاره کوي.

کلاینټ ته اړین polkit عملونه ورکړئ

د قاعدې لیکلو دمخه پالیسي ولولئ. کلاینټ چې د خدمت په توګه ځي نشي کولی متقابل غوښتنې ته ځواب ووایي، نو پټ auth_admin_keep یوه تړلې لاره ده.

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

که ځواب auth_admin_keep وي، کلاینټ ته روښانه قاعده ته اړتیا ده. لاندې ټوټه هغه څلور resolve1 عملونه اجازه کوي چې VPN کلاینټ د نښلولو پر مهال کاروي او نور هر څه 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;
});

دا په /etc/polkit-1/rules.d/ کې داسې فایل کېږدئ چې وروسته یې پېژنئ، لکه 50-azurevpn.rules، او د وتلو او بیا ننوتلو دمخه په ټوټه کې د ډلې نوم خپل نوم کړئ. دا تنګ وساتئ، ځکه هر حساب لپاره هر resolve1 عمل اجازه کول د دې کلاینټ له اړتیا پراختر دي او وروسته پلټل ډېر سخت.

د polkit له سمولو دمخه د پروفایل XML وګورئ

په لاس سم شوی پروفایل کېدای شي بې کلمې نادیده وګڼل شي. Microsoft هواره چیدنه مستند کوي چې پکې د dnsserver ننوتنې مستقیم dnsservers په داخل کې دي او ضمیمې dnssuffixes په داخل کې. هر پته شاوخوا اضافي پوښ عنصر هغه بڼه نه ده، او کلاینټ په غلیمانه توګه هغه ته بیرته ځي چې ګیټوې یې لیږي.

د polkit لمسولو دمخه د لرې کولو ازموینه وکړئ. د ضمیمې بلاک لرې کړئ، بیا وصل شئ او وګورئ چې خبرې اترې بدلیږي که نه. که بدلیږي، ناکامه غوښتنه د ډومین سپارنه وه، او سمون اجازه ده، نه بله XML سمونه.

په تونل اړیکه کې ډومین تصدیق کړئ

بیا وصل شئ او resolvectl status بیا ولولئ، وګورئ چې تونل اړیکه د نومونو سرور او د لټون ډومین یوځای لري. د عام نوم پرځای لنډ شخصي نوم حل کړئ. کله چې نوم حل شي خو تر شا خدمت ځواب نه وایي، DNS سپارنه کار وکړ او پاتې ستونزه لارښونه ده.

په ټکټ کې د حل کوونکي مالک، ناکامه D-Bus غوښتنه، د قاعدې فایل او د پروفایل نسخه ولیکئ. هغه څلور کرښې بل Linux لپ ټاپ ته د بیا څیړنې پرځای لنډ سمون ګرځوي.

اړوندې مقالې