Anda mungkin menjalankan systemd-resolved
sebagai layanan.
systemd-resolved
menghasilkan dua file konfigurasi dengan cepat, untuk penggunaan opsional oleh pustaka klien DNS (seperti pustaka klien BIND DNS di pustaka C):
/run/systemd/resolve/stub-resolv.conf
memberi tahu pustaka klien DNS untuk mengirim kueri mereka ke 127.0.0.53. Di sinilahsystemd-resolved
process mendengarkan kueri DNS, yang kemudian diteruskan./run/systemd/resolve/resolv.conf
memberi tahu pustaka klien DNS untuk mengirim kueri mereka ke alamat IP yangsystemd-resolved
telah memperoleh dengan cepat dari file konfigurasinya dan informasi server DNS yang terkandung dalam penyewaan DHCP. Secara efektif, ini melewatisystemd-resolved
langkah penerusan, dengan mengorbankan semuasystemd-resolved
logika untuk membuat keputusan kompleks tentang tujuan penerusan sebenarnya, untuk setiap transaksi tertentu.
Dalam kedua kasus, systemd-resolved
mengonfigurasi daftar pencarian sufiks nama domain, sekali lagi diperoleh dengan cepat dari file konfigurasinya dan sewa DHCP (yang diceritakan melalui mekanisme yang berada di luar cakupan jawaban ini).
/etc/resolv.conf
secara opsional dapat berupa:
- tautan simbolis ke salah satu dari ini;
- tautan simbolis ke statis yang disediakan paket file di
/usr/lib/systemd/resolv.conf
, yang juga menentukan 127.0.0.53 tetapi tidak ada domain penelusuran yang dihitung dengan cepat; - sepenuhnya beberapa file lain.
Kemungkinan Anda memiliki tautan simbolis. Dalam hal ini, hal yang diketahui tentang pengaturan 192.168.1.1, yang (mungkin) diberikan dalam penyewaan DHCP oleh server DHCP di LAN Anda, adalah systemd-resolved
, yang meneruskan lalu lintas kueri ke sana seperti yang telah Anda amati. Pustaka klien DNS Anda, dalam program aplikasi Anda, hanya berkomunikasi dengan systemd-resolved
.
Ironisnya, meskipun bisa karena Anda belum menangkap lalu lintas antarmuka loopback ke/dari 127.0.0.53 dengan benar, kemungkinan besar Anda tidak melihatnya karena systemd-resolved
juga (opsional) melewati Klien DNS BIND di pustaka C Anda dan tidak menghasilkan lalu lintas seperti itu untuk direkam.
Ada modul NSS yang dilengkapi dengan systemd-resolved
, bernama nss-resolve
, itu adalah plugin untuk pustaka C Anda. Sebelumnya, pustaka C Anda akan menggunakan plugin lain bernama nss-dns
yang menggunakan Klien DNS BIND untuk membuat kueri menggunakan protokol DNS ke server yang tercantum dalam /etc/resolv.conf
, menerapkan sufiks domain yang tercantum di dalamnya.
nss-resolve
terdaftar di depan dari nss-dns
di /etc/nsswitch.conf
Anda file, menyebabkan pustaka C Anda tidak menggunakan Klien DNS BIND, atau protokol DNS, untuk melakukan pencarian nama → alamat sama sekali. Sebagai gantinya, nss-resolve
berbicara protokol non-standar dan istimewa melalui Bus Desktop (seluruh sistem) ke systemd-resolved
, yang lagi-lagi membuat kueri backend 192.168.1.1 atau apa pun yang dikatakan oleh file konfigurasi dan sewa DHCP Anda.
Untuk mencegat itu Anda harus memantau lalu lintas Bus Desktop dengan dbus-monitor
atau alat semacam itu. Ini bahkan bukan lalu lintas IP, apalagi lalu lintas IP melalui antarmuka jaringan loopback. karena Bus Desktop dicapai melalui AF_LOCAL
soket.
Jika Anda ingin menggunakan server DNS proksi penyelesaian pihak ketiga di 1.1.1.1, atau beberapa alamat IP lainnya, Anda memiliki tiga pilihan:
- Konfigurasi server DHCP Anda untuk membagikannya alih-alih membagikan 192.168.1.1.
systemd-resolved
akan mempelajarinya melalui penyewaan DHCP dan menggunakannya. - Konfigurasi
systemd-resolved
melalui mekanisme konfigurasinya sendiri untuk menggunakannya alih-alih apa yang dilihatnya dalam penyewaan DHCP. - Buat
/etc/resolv.conf
Anda sendiri file, file reguler yang sebenarnya alih-alih tautan simbolik, daftarkan 1.1.1.1 di sana dan ingat untuk mematikannss-resolve
sehingga Anda kembali menggunakannss-dns
dan Klien DNS BIND.
systemd-resolved
file konfigurasi adalah sejumlah besar file di berbagai direktori yang digabungkan, dan cara mengonfigurasinya untuk pilihan kedua yang disebutkan di atas berada di luar cakupan jawaban ini. Baca resolved.conf
(5) halaman manual untuk itu.
Seluruh 127.0.0.0/8
Blok CIDR digunakan untuk perutean loopack. Host Anda tampaknya (atau setidaknya mengira demikian) menjalankan server DNS-nya sendiri pada alamat loopback tertentu.
Karena lalu lintas loopback (umumnya) tidak pernah tersambung, tidak mengherankan jika Anda tidak melihat lalu lintas TCP/53 di alat snipping seperti Wireshark, karena mereka mungkin tidak memantau lalu lintas loopback dengan pengaturan default. Menggunakan alat seperti ss
(misalnya ss -plnt | grep ':53'
akan menunjukkan kepada Anda proses mana, jika ada, yang mendengarkan pada port TCP tersebut untuk diselidiki lebih lanjut.
Mungkin dirilis adalah bahwa Ubuntu tampaknya menggunakan penyelesai loopback, systemd-resolved
dalam rilis yang lebih baru, seperti yang dibahas dalam jawaban ini di AskUbuntu.