Jak skonfigurować dnsmasq na Ubuntu Server 18.04 LTS?

How Configure Dnsmasq Ubuntu Server 18



dnsmasq to bardzo lekki lokalny serwer DNS. dnsmasq można również skonfigurować jako serwer pamięci podręcznej DNS i serwer DHCP. dnsmasq obsługuje IPv4 i IPv6, w tym DHCPv4 i DHCPv6. dnsmasq jest idealny dla małych sieci.

W tym artykule pokażę, jak używać dnsmasq do konfiguracji lokalnego serwera DNS, buforowania serwera DNS i serwera DHCP. Więc zacznijmy.







Topologia sieci:

To jest topologia sieci w tym artykule. Tutaj skonfiguruję router jako serwer DNS i DHCP z dnsmasq. router posiada 2 interfejsy sieciowe, jeden ( pl33 ) łączy się z Internet i inni ( pl38 ) łączy się z a przełącznik sieci . Wszyscy pozostali gospodarze ( host1 , host2 , host3 ) w sieci korzysta z serwera DHCP skonfigurowanego na router do automatycznego przydzielania adresów IP i serwera DNS do rozpoznawania nazw.





Konfiguracja statycznego adresu IP:

W mojej topologii sieci widziałeś, mój router ma dwa interfejsy pl33 oraz pl38 . ens33 łączy router z internetem i pl38 jest połączony z a przełącznik sieciowy , z którymi łączą się inne komputery w sieci. Będę musiał użyć DHCP, aby uzyskać adres IP dla pl33 interfejs od mojego dostawcy Internetu do połączenia z Internetem. Ale pl38 interfejs musi być skonfigurowany ręcznie.





Skorzystajmy z sieci 192.168.10.0/24 dla interfejsu ens38 i innych komputerów w sieci. Jeśli korzystam z sieci 192.168.10.0/24, to adres IP pl38 interfejs routera powinien mieć numer 192.168.10.1/24. Jest to adres IP serwera DNS dnsmasq i serwera DHCP.

NOTATKA: Twoja nazwa interfejsu sieciowego może być inna. Możesz dowiedzieć się, co to jest dla Ciebie z ip a Komenda.



Na Ubuntu Server 18.04 LTS możesz użyć netplan aby skonfigurować interfejsy sieciowe. Domyślny plik konfiguracyjny netplan to /etc/netplan/50-cloud-init.yaml .

Najpierw otwórz plik konfiguracyjny /etc/netplan/50-cloud-init.yaml za pomocą następującego polecenia:

$sudo nano /itp/netplan/pięćdziesiąt-cloud-init.yaml

Teraz wpisz następujące wiersze i zapisz plik, naciskając + x śledzony przez oraz oraz .

Teraz zrestartuj swój router za pomocą następującego polecenia:

$sudorestart

Kiedyś router rozruchy, adresy IP należy przypisać zgodnie z oczekiwaniami.

Instalowanie dnsmasq:

dnsmasq jest dostępny w oficjalnym repozytorium pakietów Ubuntu. Możesz więc łatwo zainstalować go za pomocą menedżera pakietów APT.

Używa Ubuntu rozwiązany systemowo domyślnie do zarządzania serwerami DNS i buforowaniem DNS. Zanim zainstalujesz dnsmasq, musisz zatrzymać i wyłączyć rozwiązany systemowo usługi. W przeciwnym razie nie będziesz mógł w ogóle uruchomić dnsmasq.

Aby zatrzymać rozwiązany systemowo usługi, uruchom następujące polecenie:

$sudosystemctl zatrzymaj systemd-resolved

Aby wyłączyć rozwiązany systemowo usługi, uruchom następujące polecenie:

$sudosystemctl wyłącz systemd-resolved

Domyślnie /etc/resolv.conf plik jest połączony z innym plikiem konfiguracyjnym systemd, jak widać na poniższym zrzucie ekranu. Ale już tego nie chcemy.

Więc usuń /etc/resolv.conf link z następującym poleceniem:

$sudo rm -v /itp/resolv.conf

Teraz utwórz nowy /etc/resolv.conf i ustaw serwer DNS Google jako domyślny serwer DNS za pomocą następującego polecenia:

$wyrzucił „serwer nazw 8.8.8.8” | sudo trójnik /itp/resolv.conf

Teraz zaktualizuj pamięć podręczną repozytorium pakietów APT za pomocą następującego polecenia:

$sudotrafna aktualizacja

Teraz zainstaluj dnsmasq za pomocą następującego polecenia:

$sudotrafnyzainstalowaćdnsmasq

dnsmasq powinien być zainstalowany.

Konfiguracja serwera DNS dnsmasq:

Plik konfiguracyjny dnsmasq to /etc/dnsmasq.conf . Aby skonfigurować dnsmasq jako serwer DNS, musisz zmodyfikować ten plik.

Domyślny /etc/dnsmasq.conf plik zawiera dużo dokumentacji i zakomentowanych opcji. Więc myślę, że lepiej zmienić nazwę /etc/dnsmasq.conf plik do /etc/dnsmasq.conf.bk i utwórz nowy.

Możesz zmienić nazwę pliku konfiguracyjnego za pomocą następującego polecenia:

$sudo mv -v /itp/dnsmasq.conf/itp/dnsmasq.conf.bk

Teraz utwórz plik konfiguracyjny /etc/dnsmasq.conf następująco:

$sudo nano /itp/dnsmasq.conf

Teraz wpisz następujące wiersze i zapisz plik, naciskając + x śledzony przez oraz oraz .

# Konfiguracja DNS
Port=53

domena-potrzebna
fałszywy-priv
ścisły porządek

expand-hosts
domena=przyklad.com

NOTATKA: Reszta przykład.com do własnej nazwy domeny.

Teraz uruchom ponownie usługę dnsmasq za pomocą następującego polecenia:

$sudosystemctl restart dnsmasq

Bez błędów. Świetny!

Teraz musisz ustawić 192.168.10.1 jako domyślny adres serwera DNS w /etc/resolv.conf .

Aby to zrobić, otwórz /etc/resolv.conf plik za pomocą następującego polecenia:

$sudo nano /itp/resolv.conf

Teraz wpisz serwer nazw 192.168.10.1 przed linią serwer nazw 8.8.8.8 jak pokazano na zrzucie ekranu poniżej. Następnie zapisz plik.

Otóż ​​to.

Dodawanie rekordów DNS:

Teraz możesz dodać swoje wpisy DNS do /etc/hosty plik.

Najpierw otwórz /etc/hosty plik za pomocą następującego polecenia:

$sudo nano /itp/zastępy niebieskie

Teraz wpisz swoje wpisy DNS w następującym formacie:

IP_ADDR DOMAIN_NAME

Dodałem 4 wpisy router.przyklad.com (192.168.10.1) , host1.przyklad.com (192.168.10.51) , host2.przyklad.com (192.168.10.52) , oraz host3.example.com (192.168.10.53) jak zaznaczono na zrzucie ekranu poniżej. Możesz dodać dowolną liczbę wpisów DNS.

Gdy skończysz, zapisz plik, naciskając + x śledzony przez oraz oraz .

Teraz uruchom ponownie usługę dnsmasq za pomocą następującego polecenia:

$sudosystemctl restart dnsmasq

Testowanie serwera DNS:

Jak widać, działa lokalna rozdzielczość DNS.

$tyrouter.example.com

Działa również rozpoznawanie nazw internetowych.

$tyGoogle com

Konfiguracja serwera DHCP:

Aby skonfigurować serwer DHCP, otwórz plik konfiguracyjny dnsmasq /etc/dnsmasq.conf ponownie w następujący sposób:

$sudo nano /itp/dnsmasq.conf

Teraz dodaj zaznaczone linie na końcu pliku. Następnie zapisz plik.

# Konfiguracja DHCP
zakres dhcp=192.168.10.50,192.168.10.240,255.255.255.0,24h
dhcp-option=opcja:router,192.168.10.1
dhcp-opcja=opcja:dns-server,192.168.10.1
dhcp-option=opcja:maska ​​sieci,255.255.255.0

host-dhcp=00:00C:29:A5:BD:4A,192.168.10.51
host-dhcp=00:00C:29:A5:BD:5B,192.168.10.52
host-dhcp=00:00C:29A5:BD:6C,192.168.10.53

Tutaj, zakres dhcp służy do ustawiania zakresu adresów IP, które serwer DHCP przypisze do hostów.

dhcp-opcja służy do ustawienia bramy ( opcja: router ), adres serwera DNS ( opcja:dns-server ) i maskę sieci ( opcja: maska ​​sieci )

host-dhcp służy do ustawiania określonych adresów IP na hostach w zależności od określonych adresów MAC.

Teraz uruchom ponownie usługę dnsmasq za pomocą następującego polecenia:

$sudosystemctl restart dnsmasq

Testowanie serwera DHCP:

Jak widać komputer host1 dostałem adres IP 192.168.10.51/24 z serwera DHCP.

Rozdzielczość DNS działa również od host1 .

W ten sam sposób, host2 oraz host3 pobiera również poprawny adres IP z serwera DHCP, a rozdzielczość DNS działa na każdym z nich.

Gdzie iść dalej:

Jeśli chcesz dowiedzieć się więcej o dnsmasq, sprawdź domyślny plik konfiguracyjny /etc/dnsmasq.conf (teraz przemianowany na /etc/dnsmasq.conf.bk ). Zawiera szczegółowy opis wszystkich opcji konfiguracyjnych dnsmasq.

$mniej /itp/dnsmasq.conf.bk

Domyślny plik konfiguracyjny dnsmasq Ubuntu Server 18.04 LTS.

Tak więc konfigurujesz dnsmasq na Ubuntu Server 18.04 LTS. Dziękuję za przeczytanie tego artykułu.