CentOS/RHEL 8/7'de dnsmasq Kullanarak DNS/DHCP Sunucusu Nasıl Kurulur


Dinamik Ana Bilgisayar Yapılandırma Protokolü (DHCP) sunucusu, IP adreslerini ve diğer ağ yapılandırma parametrelerini ağdaki her cihaza dinamik olarak atar. LAN üzerindeki bir DNS ileticisi, yerel olmayan etki alanı adlarına ilişkin DNS sorgularını yukarı akışlı DNS sunucularına (o ağın dışındaki) iletir. Bir DNS önbellekleme sunucusu, istemcilerden gelen yinelenen istekleri yanıtlayarak DNS sorgusunun daha hızlı çözülebilmesini sağlar ve böylece daha önce ziyaret edilen sitelere yönelik DNS arama hızlarını artırır.

dnsmasq, küçük ağlar için hafif, yapılandırması kolay bir DNS iletici, DHCP sunucu yazılımı ve yönlendirici reklam alt sistemidir. Dnsmasq, Android'in yanı sıra Linux, *BSD, Mac OS X'i de destekler.

Tüm sorgu türlerinin yukarı akış özyinelemeli DNS sunucularına iletilmesi ve ortak kayıt türlerinin önbelleğe alınması ile ağ için yerel bir DNS sunucusu sağlayan bir DNS alt sistemine sahiptir. DHCP alt sistemi DHCPv4, DHCPv6, BOOTP, PXE ve bir TFTP sunucusunu destekler. Yönlendirici reklam alt sistemi de IPv6 ana bilgisayarları için temel otomatik yapılandırmayı destekler.

Bu makalede, CentOS/RHEL 8/7dnsmasq Kullanarak DNS/DHCP Sunucusunun nasıl kurulacağı ve kurulacağı konusunda size yol göstereceğiz. > dağıtımlar.

CentOS ve RHEL Linux'ta dnsmasq'ı yükleme

1. dnsmasq paketi varsayılan depolarda mevcuttur ve gösterildiği gibi YUM paket yöneticisi kullanılarak kolayca kurulabilir.

yum install dnsmasq

2. dnsmasq paketi kurulumu tamamlandıktan sonra dnsmasq hizmetini şimdilik başlatmanız ve sistem önyüklemesinde otomatik olarak başlamasını etkinleştirmeniz gerekir. Ayrıca, aşağıdaki systemctl komutlarını kullanarak çalışır durumda olduğundan emin olmak için durumunu kontrol edin.

systemctl start dnsmasq
systemctl enable dnsmasq
systemctl status dnsmasq

CentOS ve RHEL Linux'ta dnsmasq Sunucusunu Yapılandırma

3. dnsmasq sunucusu, /etc/dnsmasq.conf dosyası (iyi yorumlanmış ve açıklanmış seçenekler içerir) aracılığıyla yapılandırılabilir ve kullanıcı -tanımlı yapılandırma dosyaları /etc/dnsmasq.d dizinine de eklenebilir.

DNS varsayılan olarak etkindir, dolayısıyla herhangi bir değişiklik yapmadan önce /etc/dnsmasq.conf dosyasının yedeğini oluşturduğunuzdan emin olun.

cp /etc/dnsmasq.conf /etc/dnsmasq.conf.orig

4. Şimdi favori metin tabanlı düzenleyicinizi kullanarak /etc/dnsmasq.conf dosyasını açın ve aşağıdaki önerilen yapılandırma ayarlarını yapın.

vi /etc/dnsmasq.conf 

listen-address seçeneği dnsmasq'ın dinleyeceği IP adresini ayarlamak için kullanılır. LAN üzerindeki DHCP ve DNS isteklerini dinlemek üzere CentOS/RHEL sunucunuzu kullanmak için listen-address seçeneğini LAN IP adreslerine ekleyin (127.0.0.1 eklemeyi unutmayın). Sunucu IP'sinin statik olması gerektiğini unutmayın.

listen-address=::1,127.0.0.1,192.168.56.10

Yukarıdakilerle ilgili olarak, arayüz seçeneğini kullanarak dnsmasq'ın dinlediği arayüzü kısıtlayabilirsiniz (birden fazla arayüz için daha fazla satır ekleyin).

interface=eth0

5. Bir alan'ın (sonraki şekilde gösterildiği gibi ayarlayabilirsiniz) bir ana bilgisayar dosyasındaki basit adlara otomatik olarak eklenmesini istiyorsanız, genişletmenin açıklamasını kaldırın. ana bilgisayar seçeneği.

expand-hosts

6. dnsmasq için alan adını ayarlamak; bu, DHCP istemcilerinin, ayarlanan alan adı eşleştirildiği sürece tam nitelikli alan adlarına sahip olacağı anlamına gelir ve "alan adını" ayarlar. ” Tüm istemciler için DHCP seçeneği.

domain=tecmint.lan

7. Ardından, gösterildiği gibi sunucu seçeneğini (sunucu=dns_sunucu_ip biçiminde) kullanarak yerel olmayan alanlar için yukarı akış DNS sunucusunu da tanımlayın. .

Google's nameservers
server=8.8.8.8
server=8.8.4.4

8. Ardından, gösterildiği gibi adres seçeneğini kullanarak yerel alanınızı bir IP adresine/adreslerine zorlayabilirsiniz.

address=/tecmint.lan/127.0.0.1 
address=/tecmint.lan/192.168.56.10

9. Dosyayı kaydedin ve gösterildiği gibi yapılandırma dosyası sözdiziminde hatalar olup olmadığını kontrol edin.

dnsmasq --test

Dnsmasq'ı /etc/resolv.conf Dosyasıyla Yapılandırma

10. Bu adımda, /etc/resolv.conf dosyasına localhost adreslerini tek ad sunucusu olarak ekleyerek tüm sorguların dnsmasq'a gönderilmesini sağlamanız gerekir.

vi /etc/resolv.conf

11. /etc/resolv.conf dosyası yerel bir arka plan programı, özellikle de NetworkManager tarafından korunur, bu nedenle kullanıcı tarafından yapılan değişikliklerin üzerine yazılacaktır. Bunu önlemek için, gösterildiği gibi chattr komutunu kullanarak değişmez dosya özelliğini ayarlayarak (dosyaya yazma erişimini devre dışı bırakarak) dosyayı yazmaya karşı koruyun.

chattr +i /etc/resolv.conf
lsattr /etc/resolv.conf

DNS Ana Bilgisayarlarını ve Adlarını Tanımlama

12. Dnsmasq, /etc/hosts dosyasındaki tüm DNS ana makinelerini ve adlarını okur, bu nedenle DNS ana makinelerinizin IP adreslerini ve ad çiftlerini ekleyin gosterildigi gibi.

127.0.0.1       dnsmasq
192.168.56.10 	dnsmasq 
192.168.56.1   	gateway
192.168.56.100	maas-controller 
192.168.56.20 	nagios
192.168.56.25 	webserver1

Önemli: Yerel DNS adları, DHCP alt sisteminden adlar içe aktarılarak veya çok çeşitli yararlı kayıt türlerinin yapılandırılmasıyla da tanımlanabilir.

13. Yukarıdaki değişiklikleri uygulamak için dnsmasq hizmetini gösterildiği gibi yeniden başlatın.

systemctl restart dnsmasq

14. Güvenlik duvarı hizmeti çalışıyorsa, güvenlik duvarı yapılandırmasında DNS ve DHCP hizmetlerini açmanız gerekir. LAN'ınızdaki ana bilgisayarlardan gelen isteklerin dnsmasq sunucusuna geçmesine izin vermek için.

firewall-cmd --add-service=dns --permanent
firewall-cmd --add-service=dhcp --permanent
firewall-cmd --reload

Yerel DNS'yi test etme

15. Yerel DNS sunucusunun veya yönlendirmenin düzgün çalışıp çalışmadığını test etmek amacıyla, DNS sorguları gerçekleştirmek için dig veya nslookup gibi araçları kullanmanız gerekir. Bu araçlar bind-utils paketi tarafından sağlanır ve bu paket CentOS/RHEL 8'e önceden yüklenmiş olarak gelmeyebilir, ancak bunu gösterildiği gibi yükleyebilirsiniz.

yum install bind-utils

16. Kurulumu yaptıktan sonra yerel alan adınızda gösterildiği gibi basit bir sorgu çalıştırabilirsiniz.

dig tecmint.lan
OR
nslookup tecmint.lan

17. Ayrıca sunuculardan birinin FQDN'sini sorgulamayı da deneyebilirsiniz.

dig webserver1.tecmint.lan
OR
nslookup webserver1.tecmint.lan

18. Ters IP aramasını test etmek için benzer bir komut çalıştırın.

dig -x 192.168.56.25
OR
nslookup 192.168.56.25

dnsmasq Kullanarak DHCP Sunucusunu Etkinleştirme

19. dhcp-range seçeneğinin açıklamasını kaldırarak DHCP sunucusunu etkinleştirebilir ve kiralanabilen adres aralığını ve isteğe bağlı olarak bir kiralama süresini belirtebilirsiniz. örneğin (birden fazla ağ için tekrarlayın).

dhcp-range=192.168.0.50,192.168.0.150,12h

20. Aşağıdaki seçenek DHCP sunucusunun kiralama veritabanını nerede tutacağını tanımlar, bu size atadığı IP adreslerini kolayca kontrol etmenize yardımcı olur.

dhcp-leasefile=/var/lib/dnsmasq/dnsmasq.leases

21. DHCP sunucusunu yetkili moda geçirmek için seçeneğin açıklamasını kaldırın.

dhcp-authoritative

22. Dosyayı kaydedin ve son değişiklikleri uygulamak için dnsmasq hizmetini yeniden başlatın.

systemctl restart dnsmasq

Bu bizi bu kılavuzun sonuna getiriyor. Bu kılavuzla ilgili paylaşmak istediğiniz soru veya düşünceleriniz için bize ulaşmak için aşağıdaki geri bildirim formunu kullanın.