Personliga intranätet (del 2). (1 / 6 steg)
Steg 1: Byta ut router 1 för en dator och installera dnsmasq.
DNSmasq erbjuder två tjänster, antingen som kan användas fristående.
- DNS-tjänsten
- DHCP-tjänsten (inklusive funktioner avser nätverksstart)
En lokal DNS-cache kan snabba upp internet beter eftersom webbläsaren inte behöver komma åt en server domännamn när det ser upp en domännamn datorn har besökt tidigare.
Med DHCP kan användarens dator tilldelas nätverksadresser till andra datorer i trådnät eller trådlösa nätverk. En dator behöver en unik nätverksadress för att kommer åt internet.
DNSmasq är inte avsedd för så kallade "Internet-anslutningsdelning," det ger emellertid en hel del de tjänster som behövs i bakgrunden. Med DNSmasq ställa in, kan endast två ytterligare kommandon ställa in internet connection sharing (ref?).
Notera att paketet "dnsmasq" interfererar med Network Manager som använder "dnsmasq-base" för att ge DHCP-tjänster när du delar en internet-anslutning. Därför, om du använder network manager (böter i enkla uppställningar endast), sedan installera dnsmasq-base, men inte dnsmasq. Om du har en mer komplicerad set-up, avinstallera network manager, använda dnsmasq eller liknande programvara (bind9, dhcpd, etc) och konfigurera saker för hand.
Installationsprogrammet för dnsmasq
Så mycket av Ubuntu-paket är dnsmasq i universum. Se till att dess aktiverad, sedan köra de här kommandona
$ sudo lämplig-få installera dnsmasq
dnsmasq kan konfigureras genom att redigera filen
$ nano /etc/dnsmasq.conf
Lokal DNS-Cache
En DNS-server löser mänskligt läsbara domännamn till IP-adresser. Till exempel när man begär ubuntu.com, hittar DNS-servern IP-adressen för ubuntu.com. Man kan köra en DNS-cache på en dator via stegen nedan. Detta kommer att förkorta den tid som krävs att slå upp domännamn när du surfar. Skillnaden i tid är storleksordningen hundratals millisekunder.
Efter dnsmasq har installerats, Använd textredigeraren val, till exempel gedit, nano eller vim att redigera:
/etc/dnsmasq.conf
Obs: för att spara ändringar, redaktör måste köras med administratörsbehörighet, e.g. sudo gedit /etc/dnsmasq.conf . Ändra raden som ser ut som (bör vara runt linje 90):
#listen-adress =
till,
lyssna-adress = 127.0.0.1
Nu, redigera filen
/etc/dhcp3/dhclient.conf
Se till att runt linje 20 ser ut som följande:
#supersede domännamn "fugue.com home.vix.com";
prepend domän-namn-servers 127.0.0.1;
begäran-nätmask, broadcast-adress, tid-offset, routrar,
domännamn, domän-namn-servrar, värdnamn,
NetBIOS-namnservrar, netbios-scope;
Prepend domän-namn-servers 127.0.0.1, är den viktiga delen av konfigurationen. Att lägga till alternativet prepend säkerställer att 127.0.0.1 visas högst upp på listan över DNS-servrar. 127.0.0.1 refererar till användarens egen dator. När användarens dator behöver matcha ett domännamn, kommer den vidarebefordra denna begäran till dnsmasq (som körs på 127.0.0.1).
Nu, redigera filen:
/etc/resolv.conf
Filen bör se ut ungefär så här:
Sök yourisp.com
nameserver 192.168.0.1
nameserver 205.171.3.25
nameserver 205.171.3.26
Oroa dig inte om de ovan listade nameserver siffror är inte samma som vad visas i redigeraren. Men att lägga till användarens dator som en nameserver överst på listan:
Sök yourisp.com
nameserver 127.0.0.1
nameserver 192.168.0.1
nameserver 205.171.3.25
nameserver 205.171.3.26
Allt som återstår är att starta om dnsmasq så att de ändringar vi gjort i konfigurationsfilen träda i kraft. Vi gör det via kommandot:
$ sudo /etc/init.d/dnsmasq restart
Nu finns det en DNS-cache på användarens dator. För att se skillnaden i hastighet, kan vi använda kommandot gräva två gånger på våra test hemsida:
$ gräva ubuntu.com
Första gången detta händer, ser utdata ut:
;; Fråga tid: 117 MSEK
Andra gången ser ut:
;; Fråga tid: 0 MSEK
Särskilda fall
- Om du är i ett stort LAN (t.ex. företag eller universitet) kan det inte vara önskvärt att ge namntjänsten eller DHCP för tusen kollegor, så Lägg till raden:
utom-interface = eth0 om eth0 är användarens internet/LAN-anslutna gränssnitt.
- Lägg till DHCP-servern:
dhcp-intervall = 192.168.0.20, 192.168.0.254, 255.255.255.0 Detta intervall måste inte vara i konflikt med din LAN IP-adress.
Spara och avsluta filen, starta om daemon:
sudo åberopa-rc.d dnsmasq vila
DNSmasq lyssnar nu på vissa gränssnitt för DNS-uppslagningar och/eller DHCP-begäranden. Man kan kontrollera detta genom att köra:
SS - ltp
# -l = lyssna, -t = tcp, -p = Visa programnamnet
Användaren kan lägga till raden: nameserver 127.0.0.1 överst i filen /etc/resolv.conf att använda den lokala DNS-cachen först.
Alternativt kan sorterar paketet resolvconf allt detta ut automatiskt.
Obs: Om du har paketet resolvconf installerat, du kan inte använda den "resolv-fil =" alternativet i konfigurationsfilen /etc/dnsmasq.conf som detta värde kommer att åsidosättas av init.d -skript när dnsmasq startas. Du bör ange din överordnade DNS-servrar med en dns-namnservrar linje (och eventuellt en dns-sökning linje och andra dns-alternativ) för varje gränssnitt i/Interfaces. Resolvconf skripten kommer att automatiskt skapa en särskild fil som ligger på /var/run/dnsmasq/resolv.conf med din överordnade servrar och sätta 127.0.0.1 i /etc/resolv.conf för DNS-frågor på din lokala dator användning dnsmasq. För mer information, se sidan resolvconf(8) mannen.UFW
Till skillnad från ISC DHCP servern som "... i vissa konfigurationer förbifartsleder kernel brandväggsregler helt" - http://thekelleys.org.uk/dnsmasq/docs/FAQ
-för dnsmasq att arbeta, iptables får inte blockera den DHCP-porten
$ sudo ufw tillåta bootps
^ Detta kommando kommer att orsaka UFW öppna DHCP-porten, heta bootps i/etc/Services