Instalasi dan Konfigurasi dnscrypt-proxy + dnsmasq di Archlinux

Pendahuluan: 
  

Apa itu dnscrypt-proxy?
- DNSCrypt mengenkripsi dan mengautentikasi lalu lintas DNS antara pengguna dan resolver DNS, mencegah spoofing lokal kueri DNS, memastikan bahwa tanggapan DNS dikirim oleh server pilihan. (wiki)

Apa itu dnsmasq?
- dnsmasq menyediakan layanan seperti cache DNS dan server DHCP. Sebagai server nama domain (DNS), ia dapat menyimpan permintaan DNS untuk meningkatkan kecepatan koneksi ke situs yang dikunjungi sebelumnya, dan, sebagai server DHCP, dnsmasq dapat digunakan untuk memberikan alamat IP internal dan rute ke komputer di LAN. Satu atau kedua layanan ini dapat diimplementasikan. dnsmasq dianggap ringan dan mudah dikonfigurasi; Ini dirancang untuk digunakan di komputer pribadi atau untuk digunakan di jaringan dengan kurang dari 50 komputer. Itu juga dilengkapi dengan server PXE. (wiki)

Apa yang saya gunakan?:
- Untuk mengedit file konfigurasi yang saya gunakan nano.
- Saya selalu melakukannya dengan akun root saya, tetapi jika sudah dikonfigurasi sudo, mereka dapat menggunakannya dengan tenang.
- Untuk memeriksa cache dengan perintah dig, itu ditemukan di bind-tools
dalam repositori resmi, pacman -S mengikat-alattool 

instalasi:

  • Sebagai root atau menggunakan sudo di terminal atau tty kami, kami menginstal paket dnscrypt-proxy dan dnsmasq seperti ini:
  • Pesan peringatannya adalah karena saya sudah menginstalnya, Anda hanya perlu mengkonfirmasi dengan menekan Enter:

Pengaturan:

1 - Mari aktifkan dnscrypt-proxy (ingat sebagai root atau gunakan sudo):


2 - Sekarang kami mengedit file / Etc / resolv.conf dan di nameserver kami menghapus apa yang ada di sana dan meletakkan 127.0.0.1 (jika mereka ingin mereka dapat membuat cadangan file) dan akan terlihat seperti ini:

  • Dengan mempertimbangkan bahwa NetworkManager menulis file resolv.conf, apa yang akan kita lakukan adalah melindunginya dari penulisan dengan perintah berikut:


    3 - Sekarang yang akan kita lakukan adalah mencari server yang paling dekat dengan lokasi kita, tetapi Anda dapat menggunakan server yang datang secara default yaitu dnscrypt.eu-nl, daftarnya dapat dibuka dengan localc di sini: / usr / bagikan / dnscrypt-proxy / dnscrypt-resolvers.csv seperti ini:

  • Jika kita ingin memodifikasi server yang menyelesaikan DNS default kita dapat mengedit seperti ini:
  • Di akhir file di bagian [Layanan] kami memodifikasi apa yang dipilih dalam warna abu-abu dan kami menempatkan server yang telah kami pilih dalam daftar:


    4 - Secara default dnscrypt-proxy menggunakan port 53, karena dnsmasq juga melakukannya, jadi yang akan kita lakukan adalah mengubahnya menggunakan lagi dengan:
    systemctl edit dnscrypt-proxy.service –full dan di bagian [Socket] kita biarkan seperti berikut:

Kami menyimpan perubahan dan menutup.

5 – Sekarang kita akan mengkonfigurasi dnsmasq. Mari kita edit file /etc/dnsmasq.conf dan tambahkan tiga baris ini di bagian akhir:

tidak terselesaikan
server = 127.0.0.1 # 40
dengar-alamat = 127.0.0.1

Kami menyimpan perubahan dan menutup.

6 - Sekarang kami melakukan hal berikut:
- Kami memulai ulang dnscrypt-proxy:
systemctl restart dnscrypt-proxy
- Kami mengaktifkan dnsmasq:
systemctl mengaktifkan dnsmasq
- Kami menjalankan dnsmasq:
systemctl mulai dnsmasq
- Kami memulai kembali koneksi internet kami:
systemctl mulai ulang NetworkManager

7 – Oke, sekarang kita akan menguji apakah ini benar-benar berfungsi dengan melakukan ping, misalnya, ke google.com.ar:

8 – Kita memeriksa apakah cache DNS berfungsi dengan perintah dig:

- Di sini kami memperhitungkan bahwa penggalian pertama yang saya lakukan ada penundaan 349 msec dan ketika saya melakukan kueri lagi dengan dig, apa yang terjadi? 0 msec, jadi cache dengan benar.

9 – dnscrypt-proxy dan dnsmasq sekarang telah dikonfigurasi dan berfungsi dengan benar!

Catatan: Saya ingin mengklarifikasi setelah mencari di beberapa tempat itu tidak berhasil untuk saya dengan cara apa pun yang mereka tunjukkan di arch wiki, versi bahasa Spanyol diterjemahkan dengan buruk (ini akan menjadi pertanyaan jika seseorang menerjemahkan dengan baik atau saya akan melakukannya di beberapa titik) jadi saya menggunakan versi di Inggris. Jadi pada dasarnya saya mengandalkan wiki tersebut, semua pujian untuk mereka. Dalam hal ini, ini adalah langkah-langkah yang saya gunakan dan berhasil untuk SAYA.
Setiap pertanyaan atau ketidaknyamanan yang mereka berikan kepada saya dan kami akan membicarakannya sampai berhasil!

Pelukan sasaran! 


Tambahkan sebagai sumber pilihan di Google