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 DNSPort=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 niebieskieTeraz wpisz swoje wpisy DNS w następującym formacie:
IP_ADDR DOMAIN_NAMEDodał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 DHCPzakres 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.