Panduan ini akan menunjukkan cara menginstal dan mengkonfigurasi Server DNS di RHEL 8 / CentOS 8 dalam mode caching saja atau sebagai Server DNS tunggal, tanpa konfigurasi master-slave. Contoh zona mundur dan maju disediakan.
Dalam tutorial ini Anda akan mempelajari:
- Cara menginstal server DNS di RHEL 8 / CentOS 8
- Cara mengkonfigurasi server sebagai server DNS caching saja
- Cara mengkonfigurasi server sebagai Server DNS tunggal
Klien menyelesaikan kueri melalui server DNS.
Persyaratan dan Konvensi Perangkat Lunak yang Digunakan
Kategori | Jaringan |
---|---|
Sistem | RHEL 8 / CentOS 8 |
Perangkat Lunak | mengikat |
Lainnya | Akses istimewa ke sistem Linux Anda sebagai root atau melalui sudo perintah. |
Konvensi | # – membutuhkan perintah linux yang diberikan untuk dieksekusi dengan hak akses root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah$ – membutuhkan perintah linux yang diberikan untuk dieksekusi sebagai pengguna biasa yang tidak memiliki hak istimewa |
Prasyarat
Sebelum memulai diasumsikan bahwa:
- Anda atau organisasi Anda telah membuat akun di Red Hat
- RHEL 8 / CentOS 8 telah diunduh dan diinstal
- Sistem sudah terdaftar melalui Langganan
Manajer - Anda telah menyiapkan repositori lokal atau jarak jauh
Instalasi Server DNS
- Instalasi Bind
Kita akan menginstal paket BIND, Server DNS Open Source yang paling terkenal, melaluidnf
alat yang sekarangyum
berbasis.
Perintah yang dijalankan adalah:# dnf -y install bind*
Yang harus menginstal semua paket ini:
Daftar paket bind
Konfigurasi Server DNS Umum
- Mengonfigurasi Firewall
Kita perlu mengaktifkan layanan DNS:# firewall-cmd --permanent --zone=public --add-service=dns
dan muat ulang konfigurasi:
# firewall-cmd --reload
- Mencadangkan file konfigurasi utama
Selalu merupakan kebiasaan yang baik untuk membuat salinan cadangan awal dari file konfigurasi bind utama; juga sebelum perubahan apa pun.# cp /etc/named.conf /etc/named.conf.org # cp /etc/named.rfc1912.zones /etc/named.rfc1912.zones.org
- Memeriksa konfigurasi jaringan
Server DNS harus memiliki alamat IP statis, mari kita verifikasi kasusnya:$ cat /etc/sysconfig/network-scripts/ifcfg-enp0s3|egrep -i "boot|ipaddr|mask|gateway"
Yang, misalnya, menghasilkan hasil di bawah ini:
BOOTPROTO=static ONBOOT=yes IPADDR=10.0.0.63 NETMASK=255.255.255.0 GATEWAY=10.0.0.1
Tentu saja konfigurasi jaringan Anda mungkin berbeda, sekali lagi alamat IP harus statis.
- Memilih nama domain
Untuk menetapkan Nama Domain yang Memenuhi Syarat Sepenuhnya atau FQDN# hostnamectl set-host name dns-srv.vulcansys-local.com
Anda tentu saja dapat memilih nama lain, di sini saya telah menemukan nama domain yang tampaknya tidak terdaftar di organisasi mana pun.
- Konfigurasi pemecah masalah
Kita akan mengonfigurasiresolv.conf
mengajukan. Baris pertama harus:search vulcansys-local.com nameserver 10.0.0.63
Ini ada di server dan di klien mana pun yang menanyakan DNS kami; tentu saja Anda perlu menambahkan server nama kedua untuk menyelesaikan situs internet atau domain lainnya.
- Menonaktifkan konfigurasi otomatis DNS Network Manager
Kami tidak ingin Network Manager mengubahresolv.conf
mengajukan. Untuk melakukannya, kita cukup menambahkan
baris:dns=none
dalam file/etc/NetworkManager/NetworkManager.conf
, dan kami memuat ulang layanan:# systemctl reload NetworkManager
- Mengaktifkan layanan bind saat startup
Kami perlu memastikan layanan DNS dimulai dengan sistem sehingga:# systemctl enable named
Jenis Server DNS
Dimungkinkan untuk mengonfigurasi server DNS agar berfungsi di salah satu mode di bawah ini, hanya satu kali dalam satu waktu:
- Server Root
- Server Tunggal
- Server Sekunder
- Server khusus cache
- Server Penerusan
Dalam artikel ini kami hanya akan menjelaskan cara menyiapkan Server Caching-only dan Server Tunggal.
Server DNS caching saja tidak menghosting zona apa pun dan tidak otoritatif untuk domain tertentu; ketika server awalnya dimulai, ia tidak memiliki informasi cache dan informasi tersebut diperoleh dari waktu ke waktu karena permintaan klien
dipuaskan.
Server DNS primer atau tunggal adalah otoritatif untuk sebuah domain, tetapi kami tidak memiliki ketersediaan tinggi dan oleh karena itu jika sedang down atau tidak dapat dijangkau, tidak ada permintaan DNS untuk domain yang akan berfungsi, kecuali di-cache atau diduplikasi dalam file statis /etc/hosts
.
Apa yang telah kami konfigurasikan sejauh ini adalah umum "mode konfigurasi" mana pun yang akan kami pilih.
- Hanya Caching DNS Server
Kami memastikan baris berikut diubah/dikonfigurasi dinamed.conf
berkas:listen-on port 53 { 127.0.0.1; 10.0.0.63; }; #listen-on-v6 port 53 { ::1; }; allow-query { 127.0.0.1; 10.0.0.0/24; }; recursion yes; allow-recursion { 127.0.0.1; 10.0.0.0/24; };
Untuk kesederhanaan di sini server tidak akan mendengarkan pada alamat IPv6 ( karena itu baris relatif dikomentari ). Untuk memeriksa apakah konfigurasi sudah OK, kita dapat menjalankan perintah:
# named-checkconf
jika semuanya baik-baik saja, tidak ada output yang dikembalikan. Terakhir, kita perlu meminta layanan memuat ulang konfigurasinya:
# systemctl reload named
- Server DNS tunggal
Jika kami memilih jenis ini, server DNS otoritatif kami akan bertanggung jawab atas resolusi nama apa pun di domain yang telah kami pilih. Di sini juga kita akan mengedit/etc/named.conf
:listen-on port 53 { localhost; 10.0.0.63; }; #listen-on-v6 port 53 { ::1; }; allow-query { 127.0.0.1; 10.0.0.0/24; }; recursion no;
Dalam panduan ini, untuk kesederhanaan, kami tidak menyetel layanan bind untuk mendengarkan pada alamat IPv6.
Opsi
recursion no
memastikan DNS tidak akan melakukan semua pekerjaan untuk memberikan jawaban atas kueri tertentu, tetapi akan mendelegasikan ke server root jika perlu dan ke server otoritatif lainnya tugas untuk nama atau IP yang tidak dikenal tersebut. Dengan kata lain:server otoritatif tidak boleh rekursif .Setelah itu kita harus menentukan file zona kita; di sini kita akan mengonfigurasi zona maju (untuk menyelesaikan ke IP dari nama) dan zona terbalik (untuk menyelesaikan nama yang diberikan alamat IP) masing-masing dalam file spesifiknya, dengan menambahkan baris berikut ke file
named.rfc1912.zones
berkas:zone "vulcansys-local.com" IN { type master; file "forward.zone"; allow-update { none; }; }; zone "63.0.0.10.in-addr.arpa" IN { type master; file "reverse.zone"; allow-update { none; }; };
Opsi
allow-update
mengacu pada pembaruan dinamis DNS, yang berarti aplikasi di host dapat menambahkan catatan DNS; untuk alasan keamanan ini dinonaktifkan secara default dan oleh karena itu hanya administrator sistem yang dapat menambahkan catatan dan secara manual.Sekarang kita perlu membuat file
forward.zone
danreverse.zone
. Biasanya file zona berada di dalam
direktori/var/named
seperti yang dapat kita simpulkan daridirectory
pilihan dinamed.conf
file konfigurasi.forward.zone
Our kami file akan berisi:$TTL 1D @ IN SOA dns-srv.vulcansys-local.com. root.vulcansys-local.com. ( 2019022400 ; serial 3h ; refresh 15 ; retry 1w ; expire 3h ; minimum ) IN NS dns-srv.vulcansys-local.com. dns-srv IN A 10.0.0.63
Dan
reverse.zone
berkas:$TTL 1D @ IN SOA dns-srv.vulcansys-local.com. root.vulcansys-local.com. ( 2019022400 ; serial 3h ; refresh 15 ; retry 1w ; expire 3h ; minimum ) IN NS dns-srv.vulcansys-local.com. 63 IN PTR dns-srv.vulcansys-local.com
Dalam file konfigurasi yang disebutkan
SOA
(Start Of Authority) mendefinisikan parameter global untuk zona (domain); hanya satu Rekam Sumber Daya yang dapat ditentukan (baris dengan kata kunci SOA dengan nama domain kami yang sepenuhnya memenuhi syarat). Time To Leave ($TTL) secara default adalah 1 hari (atau 86400 detik) dan harus dipersingkat sementara jika mengubah entri apa pun dalam file konfigurasi ini karena memberi tahu server DNS berapa lama untuk menyimpan informasi apa pun yang diambil. Yang paling penting adalah ingat untuk mengakhiri Nama Domain yang Memenuhi Syarat Sepenuhnya dalam file konfigurasi ini dengan titik .Di sini
root.vulcansys-local.com
adalah alamat email dan2019022400
bidang serial yang dalam praktiknya ada untuk melacak setiap perubahan dalam file zona dan secara konvensional dalam bentukYYYYmmddss
, di manass
adalah angka dua digit.Dalam file sebaliknya Anda mungkin telah memperhatikan semuanya terlihat sama kecuali baris terakhir. Disana kita tentukan dengan
PTR
pencarian terbalik yang akan menghasilkan10.0.0.63
; hanya perlu mengetikkan digit terakhir63
yang mengidentifikasi host (karena netmask adalah255.255.255.0
).Sekarang kami memastikan untuk memiliki izin yang benar:
# chgrp named /var/named/reverse.zone # chgrp named /var/named/forward.zone
Untuk memeriksa apakah file zona telah dikonfigurasi dengan benar, Anda dapat mengeluarkan perintah:
# named-checkzone vulcansys-local.com /var/named/forward.zone # named-checkzone 10.0.0.63 /var/named/reverse.zone
Dan untuk memverifikasi konfigurasi keseluruhan:
# named-checkconf -v
Jika semuanya baik-baik saja, kami dapat memuat ulang layanan:
# systemctl reload named
Konfigurasi klien
- Mengonfigurasi Firewall
Kita perlu mengkonfigurasi firewall seperti yang dijelaskan di atas dengan server. Untuk kesederhanaan, saya berasumsi bahwa klien juga adalah RHEL 7 atau 8. - Konfigurasi Resolver
Server nama pertama harus DNS server kita, juga di sini pastikan Pengelola Jaringan tidak mengubah file resolv.conf. - Menyetel Hostname
Untuk konsistensi, setiap klien di domain akan memiliki nama host FQDN yang ditetapkan.
Akhirnya kami memverifikasi konfigurasi DNS kami berfungsi, dari klien, dengan mencoba melakukan ping ke server DNS dengan nama.
Klien menyelesaikan kueri melalui server DNS.Kesimpulan
Menyiapkan Server DNS adalah tugas yang harus dilakukan oleh administrator serius setidaknya sekali dan di RHEL 8 cara melakukannya tidak sulit.