Flera nätverkskort. (7 / 9 steg)
Steg 7: Dnsmasq
En sak att du hem routern ger är internet-protokoll
adresser till varje maskin på nätverket med ut med att manuellt tilldela IP-adresser (aka dator telefonnummer) till alla system som begär en adress. Det associerar också värdnamn för system anslutna till det som en telefonkatalog. Om av någon anledning inte din router, kan du använda ett befintligt system för att ersätta dessa tjänster. Du behöver bara installera ett programpaket som kallas Dnsmasq. I själva verket. som är den exakta programvara använder de flesta routrar för att vara en lokalisera domännamn tjänster. Du kommer att använda en extra nic så att senare kan du aktivera systemet till en router.
Från Debians wiki.
Dnsmasq är en lätt, lätt att konfigurera DNS-vidarebefordrare och DHCP-servern. Den är avsedd att förse DNS och DHCP, till ett litet nätverk. Det kan tjäna namnen på lokala maskiner som inte är i den globala DNS. DHCP-servern integreras med DNS-servern och gör maskiner med DHCP-allokerade adresser i DNS med namn konfigureras antingen i varje värd eller i en central konfigurationen arkivera. Dnsmasq stöder statiska och dynamiska DHCP-lån och BOOTP/TFTP för nätverksuppstart av disklösa maskiner (Källa: från beskrivningen).
Grundläggande DNS-inställningar
Första saker först, låt oss installera paketet:
apt-get update apt-get install dnsmasq
Om ditt mål var att skapa en enkel DNS-server, lyckats du bara. Testa det med din favorit DNS lookup Verktyg pekade på localhost:
gräva debian.org
eller
nslookup debian.org localhost
Som standard konfigureras DNS för att vidarebefordra alla begäranden till systemets standard DNS-inställningarna. Om du inte visste, lagras dessa i filen /etc/resolv.conf. Se Debian Reference eller resolv.conf(5) man-sida för mer detaljer.
Nu, om du vill lägga till några namn för din DNS-server att matcha för dina kunder, helt enkelt lägga till dem till din hosts.
Gränssnitt
En sak du kommer antagligen vill göra är berätta dnsmasq som ethernet-gränssnittet kan och inte kan lyssna på, som vi verkligen inte vill det lyssnar på internet. Runt linje 69 av filen /etc/dnsmasq.conf ser du:
#interface =
Avkommentera linjen och ange vilka ethernet interface(s) du vill ha det server IP-adresser till. Till exempel, om jag vill att det ska lyssna på eth1 (min DMZ) och eth2 (mitt lokala nätverk), då det ska se ut:
Interface = eth1 interface = eth2
Om jag inte redigera denna linje, skulle det också lyssna på eth0, min internet förbindelsen. Jag skulle inte personligen rekommendera detta, eftersom det ger de onda killarna ett par dörrar att försöka bryta sig in.
Grundläggande DHCP-konfiguration
Som standard inaktiveras DHCP. Detta är en bra sak, som du kunde få ner oavsett nätverk du är ansluten till om du inte är försiktig.
För att aktivera det, finns det åtminstone en linje måste du redigera i filen /etc/dnsmasq.conf. Runt linje 143, kommer du att se: se till att befintliga nätverket du ansluta till inte är 192.168.0.x
#dhcp-intervall = 192.168.0.50, 192.168.0.150, 12 h
Om du vill aktivera DHCP-servern, måste du ge det ett intervall IP-adresser att dela ut. I exemplet ovan skulle denna server dela ut 101 adress på 192.168.0.50 och slutar på 192.168.0.150. Det senaste numret är hur länge de DHCP-lån är bra för. I det här exemplet skulle de vara bra för tolv timmar.
(Om han använder tre nätverkskort och du inte använder en befintlig enhet med dnsmasq) Eftersom jag har två olika nätverk som behöver DHCP, ska jag ändra det fodrar till:
DHCP-intervall = eth1, 192.168.100.100, 192.168.100.199, 4h dhcp-intervall = eth2, 192.168.200.100, 192.168.200.199, 4h
Meddelandet "eth1″ och"eth2″ etiketter i raderna ovan? Det är inte nödvändigt, men definitivt hjälpa när du börjar spela med mer avancerade konfigurationer. Det hjälper också mig minnas som sträcker sig är vilken. Nu startar din dnsmasq server, koppla upp ett fåtal kunder, och se om de autoconfigure sig:
/etc/init.d/dnsmasq restart
Lokal cachelagring
Med dnsmasq på cache DNS-frågor för den lokala datorn är lite knepigt, sedan alla DNS-frågor från den lokala datorn behöver gå till dnsmasq, som samtidigt dnsmasq måste konfigureras för att vidarebefordra alla dessa frågor till överordnade DNS-servrar.
Använd inte den här konfigurationen om du använder olika nätverk (t.ex. om du använder en bärbar dator!)
Sidan dnsmasq(8) man föreslår följande:
För att konfigurera dnsmasq att fungera som cache för värden som det körs, sätta "nameserver 127.0.0.1″ i /etc/resolv.conf tvinga lokala processer att skicka frågor till dnsmasq. Sedan ange antingen de överordnade servrarna direkt till dnsmasq använda – alternativ eller sätta deras adresser verkliga i en annan fil, säger /etc/resolv.dnsmasq och köra dnsmasq med alternativet - r /etc/resolv.dnsmasq. Denna andra teknik möjliggör dynamisk uppdatering av serveradresser av PPP eller DHCP.
Det är dock en enklare metod. se bara till att maskinens lista över namnservrar innehåller raden
nameserver 127.0.0.1
den första raden, följt av den uppströms namnservrar. dnsmasq är smart nog att ignorera denna linje och vidarebefordra alla frågor korrekt, medan alla andra program kommer att skicka alla sina frågor till dnsmasq.
Exaclty hur du gör detta beror på den eller de metoder för nätverkskonfiguration används. Om du manuellt hardcoding nameservers (antingen i /etc/resolv.conf eller någon annanstans, till exempel en strof i/Interfaces eller Wicd GUI), sedan bara lägga till en referens till 127.0.0.1 som den första posten i listan. Om du använder DHCP, sedan instruera din klient till prepend 127.0.0.1 till DHCP-servrar får.
T.ex. med dhclient, skriver du
prepend domän-namn-servers 127.0.0.1;
i dhclient konfigurationsfil (/ etc/dhcp3/dhclient.conf). [På min Sid system, standard konfigurationsfilen levereras med paketet innehåller den linjen, men kommenteras ut.] Obs: att om du planerar att använda dnsmasq för det lokala systemet bara, du bör låsa det genom att lägga till raden
lyssna-adress = 127.0.0.1
att dnsmasq konfigurationsfil (/ etc/dnsmasq.conf).