Dalam artikel ini, saya akan menunjukkan kepada anda bagaimana menggunakan dnsmasq untuk mengkonfigurasi pelayan DNS tempatan, pelayan DNS cache dan pelayan DHCP. Oleh itu, mari kita mulakan.
Topologi Rangkaian:
Ini adalah topologi rangkaian artikel ini. Di sini, saya akan mengkonfigurasi penghala sebagai pelayan DNS dan DHCP dengan dnsmasq. penghala mempunyai 2 antara muka rangkaian, satu (ens33) menghubungkan ke internet dan yang lain (ens38) menghubungkan ke a rangkaian swtich. Semua hos yang lain (tuan rumah1, tuan rumah2, tuan rumah3) pada rangkaian menggunakan pelayan DHCP yang dikonfigurasi pada penghala untuk penetapan automatik alamat IP dan pelayan DNS untuk penyelesaian nama.
Mengkonfigurasi IP Statik:
Dalam topologi rangkaian saya, anda lihat, saya penghala mempunyai dua antara muka ens33 dan ens38. ens33 menghubungkan penghala ke internet dan ens38 disambungkan ke a pertukaran rangkaian, yang disambungkan oleh komputer lain di rangkaian. Saya harus menggunakan DHCP untuk mendapatkan alamat IP untuk ens33 antara muka dari ISP saya untuk sambungan internet. Tetapi, ens38 antara muka harus dikonfigurasi secara manual.
Mari gunakan rangkaian 192.168.10.0/24 untuk antara muka ens38 dan komputer lain di rangkaian. Sekiranya saya menggunakan rangkaian 192.168.10.0/24, maka alamat IP dari ens38 antara muka penghala harus 192.168.10.1/24. Ini adalah alamat IP pelayan DNS dnsmasq dan pelayan DHCP.
NOTA: Nama antara muka rangkaian anda mungkin berbeza. Anda boleh mengetahui apa itu untuk anda dengan ip a perintah.
Pada Pelayan Ubuntu 18.04 LTS, anda boleh gunakan rancangan bersih untuk mengkonfigurasi antara muka rangkaian. Fail konfigurasi netplan lalai adalah / etc / netplan / 50-cloud-init.keladi.
Pertama, buka fail konfigurasi / etc / netplan / 50-cloud-init.keladi dengan arahan berikut:
$ sudo nano / etc / netplan / 50-cloud-init.keladi
Sekarang, ketik baris berikut dan simpan fail dengan menekan
Sekarang, but semula penghala dengan arahan berikut:
but semula $ sudo
Sekali penghala but, alamat IP harus diberikan seperti yang diharapkan.
Memasang dnsmasq:
dnsmasq boleh didapati di repositori pakej rasmi Ubuntu. Oleh itu, anda boleh memasangnya dengan mudah menggunakan pengurus pakej APT.
Ubuntu menggunakan diselesaikan secara sistematik secara lalai untuk menguruskan pelayan DNS dan cache DNS. Sebelum memasang dnsmasq, anda mesti berhenti dan mematikannya diselesaikan secara sistematik perkhidmatan. Jika tidak, anda tidak akan dapat menjalankan dnsmasq sama sekali.
Untuk menghentikan diselesaikan secara sistematik perkhidmatan, jalankan arahan berikut:
$ sudo systemctl stop systemd-diselesaikan
Untuk melumpuhkan diselesaikan secara sistematik perkhidmatan, jalankan arahan berikut:
$ sudo systemctl lumpuhkan sistemd-diselesaikan
Secara lalai, / etc / resolv.pengesahan fail dihubungkan ke fail konfigurasi systemd yang lain seperti yang anda lihat dalam tangkapan skrin di bawah. Tetapi, kita tidak mahu lagi.
Jadi, keluarkan / etc / resolv.pengesahan pautan dengan arahan berikut:
$ sudo rm -v / etc / resolv.pengesahan
Sekarang, buat yang baru / etc / resolv.pengesahan fail dan tetapkan pelayan DNS Google sebagai pelayan DNS lalai dengan arahan berikut:
$ echo "pelayan nama 8.8.8.8 "| sudo tee / etc / resolv.pengesahan
Sekarang, kemas kini cache repositori pakej APT dengan arahan berikut:
$ sudo apt kemas kini
Sekarang, pasang dnsmasq dengan arahan berikut:
$ sudo apt pasang dnsmasq
dnsmasq harus dipasang.
Mengkonfigurasi pelayan DNS dnsmasq:
Fail konfigurasi dnsmasq adalah / dll / dnsmasq.pengesahan. Untuk mengkonfigurasi dnsmasq sebagai pelayan DNS, anda harus mengubah fail ini.
Lalai / dll / dnsmasq.pengesahan fail mengandungi banyak dokumentasi dan memberi komen pilihan. Jadi, saya rasa lebih baik untuk menamakan semula / dll / dnsmasq.pengesahan failkan ke / dll / dnsmasq.pengesahan.bk dan buat yang baru.
Anda boleh menamakan semula fail konfigurasi dengan arahan berikut:
$ sudo mv -v / etc / dnsmasq.conf / etc / dnsmasq.pengesahan.bk
Sekarang, buat fail konfigurasi / dll / dnsmasq.pengesahan seperti berikut:
$ sudo nano / etc / dnsmasq.pengesahan
Sekarang, ketik baris berikut dan simpan fail dengan menekan
pelabuhan = 53
diperlukan domain
palsu-priv
perintah ketat
mengembangkan-host
domain = contoh.com
NOTA: Ubah contoh.com ke nama domain anda sendiri.
Sekarang, mulakan semula perkhidmatan dnsmasq dengan arahan berikut:
$ sudo systemctl mulakan semula dnsmasq
Tidak, kesilapan. Hebat!
Sekarang, anda mesti menetapkan 192.168.10.1 sebagai alamat pelayan DNS lalai di / etc / resolv.pengesahan.
Untuk melakukan itu, buka / etc / resolv.pengesahan fail dengan arahan berikut:
$ sudo nano / etc / resolv.pengesahan
Sekarang, taipkan pelayan nama 192.168.10.1 sebelum talian pelayan nama 8.8.8.8 seperti yang ditunjukkan dalam tangkapan skrin di bawah. Kemudian simpan fail.
Itu sahaja.
Menambah Rekod DNS:
Sekarang, anda boleh menambahkan entri DNS anda ke / dll / tuan rumah fail.
Pertama, buka / dll / tuan rumah fail dengan arahan berikut:
$ sudo nano / etc / hostSekarang, masukkan entri DNS anda dalam format berikut:
IP_ADDR DOMAIN_NAMESaya telah menambah 4 penyertaan penghala.contoh.com (192.168.10.1), tuan rumah1.contoh.com (192.168.10.51), tuan rumah2.contoh.com (192.168.10.52) , dan tuan rumah3.contoh.com (192.168.10.53) seperti yang ditandakan pada tangkapan skrin di bawah. Anda boleh menambah seberapa banyak entri DNS yang anda mahukan.
Setelah selesai, simpan fail dengan menekan
Sekarang, mulakan semula perkhidmatan dnsmasq dengan arahan berikut:
$ sudo systemctl mulakan semula dnsmasq
Menguji Pelayan DNS:
Seperti yang anda lihat, resolusi DNS tempatan berfungsi.
penghala $ dig.contoh.com
Penyelesaian nama internet juga berfungsi.
$ gali google.com
Mengkonfigurasi Pelayan DHCP:
Untuk mengkonfigurasi pelayan DHCP, buka fail konfigurasi dnsmasq / dll / dnsmasq.pengesahan sekali lagi seperti berikut:
$ sudo nano / etc / dnsmasq.pengesahan
Sekarang, tambahkan baris yang ditandai ke hujung fail. Kemudian simpan fail.
# Konfigurasi DHCPdhcp-range = 192.168.10.50,192.168.10.240,255.255.255.0,24jam
dhcp-option = option: router, 192.168.10.1
dhcp-option = option: dns-server, 192.168.10.1
dhcp-option = option: netmask, 255.255.255.0
dhcp-host = 00: 0C: 29: A5: BD: 4A, 192.168.10.51
dhcp-host = 00: 0C: 29: A5: BD: 5B, 192.168.10.52
dhcp-host = 00: 0C: 29: A5: BD: 6C, 192.168.10.53
Di sini, julat dhcp digunakan untuk menetapkan julat alamat IP yang akan diberikan oleh pelayan DHCP kepada host.
pilihan dhcp digunakan untuk mengatur pintu masuk (pilihan: penghala), Alamat pelayan DNS (pilihan: pelayan dns), dan netmask (pilihan: netmask)
tuan rumah dhcp digunakan untuk menetapkan alamat IP tertentu ke host bergantung pada alamat MAC yang ditentukan.
Sekarang, mulakan semula perkhidmatan dnsmasq dengan arahan berikut:
$ sudo systemctl mulakan semula dnsmasq
Menguji Pelayan DHCP:
Seperti yang anda lihat, komputer tuan rumah1 mendapat alamat IP 192.168.10.51/24 dari pelayan DHCP.
Resolusi DNS juga berfungsi dari tuan rumah1.
Cara yang sama, tuan rumah2 dan tuan rumah3 juga mendapat alamat IP yang betul dari pelayan DHCP dan penyelesaian DNS berfungsi pada masing-masing.
Kemana Pergi Seterusnya:
Sekiranya anda ingin mengetahui lebih lanjut mengenai dnsmasq, maka periksa fail konfigurasi lalai / dll / dnsmasq.pengesahan (kini dinamakan semula menjadi / dll / dnsmasq.pengesahan.bk). Ia mempunyai keterangan terperinci mengenai semua pilihan konfigurasi dnsmasq.
$ kurang / etc / dnsmasq.pengesahan.bk
Fail konfigurasi dnsmasq lalai dari Ubuntu Server 18.04 LTS.
Jadi, begitulah cara anda mengkonfigurasi dnsmasq pada Ubuntu Server 18.04 LTS. Terima kasih kerana membaca artikel ini.