Stap 7: Dnsmasq
Een ding dat je router thuis biedt is internetprotocol
adressen aan elke machine op het netwerk met je moetend de IPAdressen (aka computer telefoonnummers) handmatig wilt toewijzen aan alle systemen die een adres aanvragen. Het koppelt ook hostnamen voor systeem verbonden met het als een telefoonboek. Als om wat voor reden uw router mislukt, kunt u een bestaand systeem ter vervanging van deze diensten. U moet enkel het installeren van een softwarepakket Dnsmasq genoemd. Eigenlijk. dat is de exacte software die de meeste routers gebruikt als een Lokaliseer diensten van de domeinnaam. U zult willen gebruiken, een extra nic zodat later kunt u het systeem in een router.
Van de Debian wiki.
Dnsmasq is een lichtgewicht, eenvoudig te configureren, de DNS-doorstuurserver en de DHCP-server. Het is ontworpen om DNS en optioneel, DHCP, aan een klein netwerk. Het kan dienen de namen van lokale machines die niet in de globale DNS. De DHCP-server kan worden geïntegreerd met de DNS-server en laat machines met DHCP toegewezen adressen weergegeven in de DNS met namen geconfigureerd in elke host of in een centrale configuratiebestand. Dnsmasq ondersteunt statische en dynamische DHCP-leases en BOOTP/TFTP voor netwerk booting van schijfloze machines (Bron: uit de beschrijving van het pakket).
Basisinstallatie van DNS
Eerste dingen eerste, laten we het pakket te installeren:
sudo apt-get update sudo apt-get install dnsmasq
Als uw doel was om een eenvoudige DNS-server instellen, u bent gewoon geslaagd. Om het te testen, gebruik uw favoriete DNS-lookup wees op localhost:
graven debian.org
of
nslookup debian.org localhost
DNS is standaard geconfigureerd voor het doorsturen van alle aanvragen tot uw systeem standaard DNS-instellingen. In geval u niet wist, worden deze opgeslagen in het /etc/resolv.conf bestand. Zie Debian Reference of de resolv.conf(5) man pagina voor meer details.
Nu, als u toevoegen sommige namen voor uw DNS-server op te lossen voor uw klanten wilt, gewoon deze toevoegen aan uw/etc/hosts bestand.
Interfaces
Één ding die u zult waarschijnlijk willen doen is vertellen dnsmasq welke ethernet-interface kan en niet afluisteren, als we echt niet willen luisteren op het internet. Rond regel 69 van het /etc/dnsmasq.conf-bestand, zult u zien:
#interface =
Uncomment de lijn en het aangeven welke ethernet interface(s) u wilt het server IP-adressen aan. Bijvoorbeeld, als ik wil om te luisteren op eth1 (mijn DMZ) en eth2 (mijn lokale netwerk), dan het zou moeten uitzien:
Interface eth1 interface = = eth2
Als ik niet deze regel hebt bewerkt, zou het ook luisteren op eth0, mijn internetverbinding. Ik zou niet persoonlijk aanbevelen, aangezien het geeft die slechte jongens een paar deuren om te proberen om in te breken.
Elementaire dhcp setup
DHCP is standaard uitgeschakeld. Dit is een goede zaak, als je beneden welke netwerk waarmee u verbonden brengen kon bent als je niet voorzichtig bent.
Opdat het, er is ten minste één regel moet bewerken in het /etc/dnsmasq.conf bestand. Rond lijn 143, u zult zien: Zorg ervoor dat het bestaande netwerk u zijn inpluggen in niet 192.168.0.x
#dhcp-bereik = 192.168.0.50, 192.168.0.150, 12 h
Opdat de DHCP-server, moet u hieraan een bereik van IP-adressen uitdelen. In het bovenstaande voorbeeld, zou deze server 101 adres op 192.168.0.50 begint en eindigt bij 192.168.0.150 uitdelen. Het laatste nummer is hoe lang de DHCP-leases zijn goed voor. In dit voorbeeld zou zij goed voor twaalf uur.
(Ervan uitgaande dat hij drie NIC's gebruikt en u geen gebruikmaakt van een bestaand apparaat gebruiken dnsmasq) Daar heb ik twee verschillende netwerken moeten DHCP, 'm I gonna die regel te wijzigen:
DHCP-bereik = eth1, 192.168.100.100, 192.168.100.199, 4h dhcp-bereik = eth2, 192.168.200.100, 192.168.200.199, 4h
Aankondiging van het "eth1″ en"eth2″ etiketten in de bovenstaande regels? Het niet noodzakelijk, maar absoluut helpen zodra u begint te spelen met meer geavanceerde configuraties. Het helpt me herinneren die variëren is die ook. Nu uw dnsmasq-server opnieuw opstart, sluit omhoog een paar klanten en zien of ze autoconfigure zelf:
/etc/init.d/dnsmasq herstarten
Lokale cache
Met behulp van dnsmasq cache DNS-query's voor de lokale machine is een netelig beetje, aangezien alle DNS-query's van de noodzaak van de lokale machine naar dnsmasq, terwijl als zelfde tijd, dnsmasq moet worden geconfigureerd voor het doorsturen van alle die query's naar upstream DNS-servers.
Deze configuratie niet gebruiken als u een ander netwerk (bijvoorbeeld als u een laptop gebruikt!)
De dnsmasq(8) man pagina suggereert het volgende:
Om te kunnen configureren dnsmasq om op te treden als cache voor de host waarop het draait, zetten "nameserver 127.0.0.1″ in /etc/resolv.conf te dwingen lokale processen te sturen query's naar dnsmasq. Geef hetzij de upstream servers rechtstreeks aan dnsmasq gebruiken-Serveropties of hun adressen in een ander bestand, echte zetten zeggen /etc/resolv.dnsmasq en stormloop dnsmasq met de optie - r /etc/resolv.dnsmasq. Deze tweede techniek maakt het mogelijk voor dynamische updates van de serveradressen door PPP of DHCP.
Er is echter een eenvoudiger methode; gewoon zorgen dat de machine's lijst van nameservers de regel bevat
nameserver 127.0.0.1
Als de eerste regel, gevolgd door de stroomopwaartse nameservers. dnsmasq is slim genoeg om te negeren van deze lijn en doorsturen van alle query's op passende wijze, terwijl alle andere toepassingen alle hun zoekopdrachten naar dnsmasq stuurt.
Exaclty hoe dit te doen hangt af van de methode(n) voor netwerkconfiguratie in gebruik. Als u handmatig hardcoding de nameservers (hetzij in /etc/resolv.conf of elders, zoals een stanza in /etc/network/interfaces of in de GUI Wicd), dan gewoon een verwijzing toevoegen naar 127.0.0.1 als het eerste item in de lijst. Als u DHCP gebruikt, dan uw client prepend 127.0.0.1 naar de DHCP-servers de opdracht geven ontvangt het.
Bijvoorbeeld met dhclient, omvat de lijn
prepend domain-name-servers 127.0.0.1;
in het dhclient-configuratiebestand (/ etc/dhcp3/dhclient.conf). [Op mijn Sid-systeem, de standaard configuratiebestand meegeleverd met het pakket bevat die lijn, maar uitgecommentarieerd.] Opmerking: dat als u van plan bent te gebruiken dnsmasq voor het lokale systeem alleen, u het vergrendelt moet door toevoeging van de regel
Luister-adres = 127.0.0.1
de dnsmasq-configuratiebestand (/ etc/dnsmasq.conf).