Skydda resolv.conf från DHCP på FreeBSD 10

Skydda resolv.conf från DHCP på FreeBSD 10

Om du kör din egen resolver, eller vill använda en från en tredjepartsleverantör, kan du upptäcka att din /etc/resolv.conffil skrivs över av DHCP. Det finns en handfull sätt att lösa detta problem. Eftersom du sannolikt kommer att vilja starta om för att se till att dina ändringar fastnar, och eftersom du kommer att apa med nätverksinställningar i första hand, rekommenderar jag starkt att du gör detta på en testinstans och/eller utanför peak timmar.

Nu då, här är tre metoder, från sämsta till bästa. Observera att alla metoder i den här guiden skrevs för FreeBSD 10. Linux-användare kan hänvisa till den här guiden .

Metod 1: Använd statiska gränssnittsinställningar

I min begränsade testning resulterar detta i något snabbare starttider eftersom du inte behöver vänta på att DHCP ska tilldela dina nätverksinställningar. Däremot har jag sett att det nämns i flera Vultr-dokument att användning av statiska gränssnittsinställningar är ogrundad och att du bör hålla dig till DHCP. Jag antar att de har en bra anledning till detta och därför har jag fortsatt att använda DHCP själv. Om du ändå skulle välja att gå den här vägen, följ stegen nedan.

  • Bestäm din servers IP, nätverksmask och gateway-IP.
  • Ändra för /etc/rc.confatt använda dessa värden istället för DHCP.
  • Starta om för att testa inställningarna.

Bestäm IP/nätmask/gateway

Förutsatt att ditt gränssnitt är vtnet0, utför följande:

ifconfig vtnet0 | grep inet

Detta bör ge dig IP-adressen och nätmasken för din server:

inet 10.10.10.10 netmask 0xffffff00 broadcast 10.10.10.255

FreeBSD gillar att använda hex för nätmasken. Ovanstående konverterar till 255.255.255.0om du är nyfiken. Du kan hitta en praktisk tabell här , men var inte rädd: du kan bara kopiera hex-adressen till dina konfigurationsfiler (eller konvertera den till decimal om du föredrar det).

Du kan hitta gatewayen på flera sätt. Här är en:

route get default | grep gateway kommer att returnera något i stil med:

gateway: 10.10.10.1

Ändra /etc/rc.confmed nya värden

Beväpnad med IP, nätmask och gateway är det nu dags att lägga till dem i systemkonfigurationen. Jag rekommenderar starkt att du säkerhetskopierar den här filen innan du gör några ändringar, eftersom det kommer att göra det mycket lättare att ångra om du skulle krångla. Öppna nu /etc/rc.confi din valfri redigerare och gör följande ändringar:

# Comment out this line:
# ifconfig_vtnet0="dhcp"

# Add these lines:
defaultrouter="10.10.10.1"
ifconfig_vtnet0="inet 10.10.10.10 netmask 0xffffff00"

Självklart bör du vara säker på att ersätta din faktiska IP, nätmask och gateway för mina uppenbara förfalskningar.

Starta om och testa

Starta om din server med shutdown -r nowoch se till att den kommer upp ordentligt. Utför de tester du anser nödvändiga för att säkerställa att allt fungerar korrekt. Om nätverket är otillgängligt, logga in via konsolen och återställ dina ändringar. Om allt är bra kan du vid det här laget lägga vad du vill i resolv.confutan rädsla för att det ska utplånas.

Om du av någon anledning inte kan starta om borde detta fungera, men jag skulle verkligen göra en ordentlig omstart om jag var du:

service netif restart && service routing restart

Metod 2: Gör resolv.confoföränderlig

Detta är lite av ett hack, men det är lätt den snabbaste lösningen. Jag rekommenderar det inte eftersom jag inte kan garantera att det inte kommer att orsaka några konstigheter i framtiden när du uppgraderar till en ny version av operativsystemet, och dhclient kommer sannolikt att klaga ett gäng. Som sagt, en enkel chflags schg /etc/resolv.confär allt som behövs. Filen är nu helt skrivskyddad, även från root. Du kan verifiera så här:

vultr [~]# chflags schg /etc/resolv.conf
vultr [~]# ls -ol /etc/resolv.conf
-rw-r--r--  1 root  wheel  schg 50 Nov 29 06:28 /etc/resolv.conf
vultr [~]# echo "so very untouchable" >> /etc/resolv.conf
/etc/resolv.conf: Operation not permitted.

Ångra med: chflags noschg /etc/resolv.conf

Metod 3: Säg artigt till FreeBSD att lämna dina inställningar ifred

Detta är det absolut renaste och mest korrekta sättet att få detta gjort. Det finns två tillvägagångssätt du kan ta:

Konfigurera dhclient

Låt oss ta exemplet från toppen och säga att allt du vill göra är att lägga in din anpassade namnserver resolv.confoch inte vill förlora den varje gång DHCP gör sitt. I mitt fall vill jag använda caching-resolvern jag installerade som lyssnar på localhost, så jag redigerar /etc/dhclient.conf(vilket troligen kommer att vara tomt förutom kommentarer) och lägger till följande:

interface "vtnet0" {
    supersede domain-name-servers 127.0.0.1;
}

Detta kommer att tillåta dhclient att göra allt annat du behöver den att göra, men när DHCP-servern skickar en lista över namnservrar att använda, kommer din att ersätta (som i, helt ersätta) de som den erbjuder. Om du föredrar att komplettera (istället för att ersätta) de som erbjuds kan du "lägga till" eller "prepend" istället för "supersede", beroende på vad som är lämpligt.

Om du skulle behöva mer än en anpassad server, specificera dem så här:

supersede domain-name-servers 127.0.0.1, 127.0.0.2;

När du har gjort dina ändringar, starta om för dhclientatt få dem att träda i kraft omedelbart:

service dhclient restart vtnet0

Undersök din /etc/resolv.confoch du bör se att den nu har dina anpassade namnservrar i sig.

När detta skrivs är namnservrar det enda Vultrs DHCP-server någonsin har lagt in i min resolv.conf, och det enda jag har brytt mig om att anpassa. Men om du någonsin behöver åsidosätta några andra inställningar, se den utmärkta manualen för en omfattande lista:

man 5 dhclient.conf

Det finns bra exempel längst ner som borde ge dig en uppfattning om vad du kan göra. Jag kan tänka mig att du kanske vill lägga till något som supersede domain-name "example.com";om du normalt har en sådan linje i din resolv.conf. Återigen, konsultera dokumenten.

Konfigurera resolvconf

Detta är den enklaste lösningen om du bara vill att du resolv.confska vara ifred. Enligt manualen:

resolvconf manages resolv.conf(5) files from multiple sources, such as DHCP and VPN clients

Dess konfiguration finns i /etc/resolvconf.conf, som sannolikt inte finns på ditt system, så skapa den gärna. För att göra din resolv.confoföränderlig, lägg till detta:

# prevent all updates to resolv.conf:
resolv_conf="/dev/null"

Om du använder unboundsom din lokala caching-resolver, är det raden den lägger till (tillsammans med några för sig själv). Det är i princip att lura att resolvconftro att du /etc/resolv.confligger på /dev/null. Något mindre elak, men lika effektivt, skulle vara:

# disable resolvconf from running any subscribers:
resolvconf="NO"

Om du vill göra något mer sofistikerat än att bara stänga av det, söker man efter resolvconfoch resolvconf.confhar massor av information.

Tags: #BSD #nätverk

Hur man installerar Tiny Tiny RSS Reader på en FreeBSD 11 FAMP VPS

Hur man installerar Tiny Tiny RSS Reader på en FreeBSD 11 FAMP VPS

Använder du ett annat system? Tiny Tiny RSS Reader är en gratis och öppen källkod, webbaserat nyhetsflöde (RSS/Atom) läsare och aggregator, utformad för att

Hur man installerar Wiki.js på FreeBSD 11

Hur man installerar Wiki.js på FreeBSD 11

Använder du ett annat system? Wiki.js är en gratis och öppen källkod, modern wiki-app byggd på Node.js, MongoDB, Git och Markdown. Wiki.js källkod är offentlig

Hur man installerar Pagekit 1.0 CMS på en FreeBSD 11 FAMP VPS

Hur man installerar Pagekit 1.0 CMS på en FreeBSD 11 FAMP VPS

Använder du ett annat system? Pagekit 1.0 CMS är ett vackert, modulärt, utbyggbart och lätt, gratis och öppen källkod Content Management System (CMS) med

Hur man installerar MODX Revolution på en FreeBSD 11 FAMP VPS

Hur man installerar MODX Revolution på en FreeBSD 11 FAMP VPS

Använder du ett annat system? MODX Revolution är ett snabbt, flexibelt, skalbart, öppen källkod, Enterprise-grade Content Management System (CMS) skrivet i PHP. Det jag

Installera OpenBSD 5.5 64-bitars

Installera OpenBSD 5.5 64-bitars

Den här artikeln leder dig genom att ställa in OpenBSD 5.5 (64-bitars) på KVM med en Vultr VPS. Steg 1. Logga in på Vultr kontrollpanelen. Steg 2. Klicka på DEPLOY

Hur man installerar osTicket på FreeBSD 12

Hur man installerar osTicket på FreeBSD 12

Använder du ett annat system? osTicket är ett biljettsystem för kundsupport med öppen källkod. osTicket källkod är offentligt värd på Github. I denna handledning

Hur man installerar Flarum Forum på FreeBSD 12

Hur man installerar Flarum Forum på FreeBSD 12

Använder du ett annat system? Flarum är en gratis och öppen källkod nästa generations forummjukvara som gör diskussioner online roliga. Flarum källkod är värd o

Hur man aktiverar TLS 1.3 i Nginx på FreeBSD 12

Hur man aktiverar TLS 1.3 i Nginx på FreeBSD 12

Använder du ett annat system? TLS 1.3 är en version av TLS-protokollet (Transport Layer Security) som publicerades 2018 som en föreslagen standard i RFC 8446

Installera WordPress på OpenBSD 6.2

Installera WordPress på OpenBSD 6.2

Inledning WordPress är det dominerande innehållshanteringssystemet på internet. Det driver allt från bloggar till komplexa webbplatser med dynamiskt innehåll

Hur man installerar Subrion 4.1 CMS på en FreeBSD 11 FAMP VPS

Hur man installerar Subrion 4.1 CMS på en FreeBSD 11 FAMP VPS

Använder du ett annat system? Subrion 4.1 CMS är ett kraftfullt och flexibelt innehållshanteringssystem (CMS) med öppen källkod som ger ett intuitivt och tydligt innehåll

Hur man konfigurerar DJBDNS på FreeBSD

Hur man konfigurerar DJBDNS på FreeBSD

Denna handledning visar dig hur du konfigurerar en DNS-tjänst som är lätt att underhålla, lätt att konfigurera och som i allmänhet är säkrare än den klassiska BIN

Hur man installerar Nginx, MySQL och PHP (FEMP) Stack på FreeBSD 12.0

Hur man installerar Nginx, MySQL och PHP (FEMP) Stack på FreeBSD 12.0

En FEMP-stack, som är jämförbar med en LEMP-stack på Linux, är en samling programvara med öppen källkod som vanligtvis installeras tillsammans för att möjliggöra en FreeBS

Installerar MongoDB på FreeBSD 10

Installerar MongoDB på FreeBSD 10

MongoDB är en NoSQL-databas i världsklass som ofta används i nyare webbapplikationer. Det ger högpresterande frågor, skärning och replikering

Hur man installerar Monica på FreeBSD 12

Hur man installerar Monica på FreeBSD 12

Använder du ett annat system? Monica är ett personligt relationshanteringssystem med öppen källkod. Se det som ett CRM (ett populärt verktyg som används av säljteam i th

OpenBSD som en e-handelslösning med PrestaShop och Apache

OpenBSD som en e-handelslösning med PrestaShop och Apache

Introduktion Denna handledning visar OpenBSD som en e-handelslösning som använder PrestaShop och Apache. Apache krävs eftersom PrestaShop har komplex UR

Installera Fork CMS på FreeBSD 12

Installera Fork CMS på FreeBSD 12

Använder du ett annat system? Fork är ett CMS med öppen källkod skrivet i PHP. Forks källkod finns på GitHub. Den här guiden visar hur du installerar Fork CM

Hur man installerar Directus 6.4 CMS på en FreeBSD 11 FAMP VPS

Hur man installerar Directus 6.4 CMS på en FreeBSD 11 FAMP VPS

Använder du ett annat system? Directus 6.4 CMS är ett kraftfullt och flexibelt, gratis och öppen källkod Headless Content Management System (CMS) som tillhandahåller utvecklare

Förbättra säkerheten för FreeBSD med hjälp av IPFW och SSHGuard

Förbättra säkerheten för FreeBSD med hjälp av IPFW och SSHGuard

VPS-servrar riktas ofta mot inkräktare. En vanlig typ av attack dyker upp i systemloggar som hundratals obehöriga ssh-inloggningsförsök. Installation

Ställ in httpd i OpenBSD

Ställ in httpd i OpenBSD

Inledning OpenBSD 5.6 introducerade en ny demon som heter httpd, som stöder CGI (via FastCGI) och TLS. Inget ytterligare arbete behövs för att installera den nya http

Ställ in iRedMail på FreeBSD 10

Ställ in iRedMail på FreeBSD 10

Denna handledning kommer att visa dig hur du installerar groupware iRedMail på en ny installation av FreeBSD 10. Du bör använda en server med minst en gigabyte o

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.

DDOS-attacker: En kort översikt

DDOS-attacker: En kort översikt

Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.

Har du någonsin undrat hur hackare tjänar pengar?

Har du någonsin undrat hur hackare tjänar pengar?

Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...

Technological Singularity: A Distant Future of Human Civilization?

Technological Singularity: A Distant Future of Human Civilization?

När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.

Utveckling av datalagring – Infographic

Utveckling av datalagring – Infographic

Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.

Funktioner för Big Data Reference Architecture Layers

Funktioner för Big Data Reference Architecture Layers

Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer