Beskyt resolv.conf fra DHCP på FreeBSD 10

Beskyt resolv.conf fra DHCP på FreeBSD 10

Hvis du kører din egen resolver eller ønsker at bruge en fra en tredjepartsudbyder, kan du opleve, at din /etc/resolv.conffil bliver overskrevet af DHCP. Der er en håndfuld måder at løse dette problem på. Da du sandsynligvis vil genstarte for at sikre, at dine ændringer holder, og da du kommer til at abe med netværksindstillinger i første omgang, foreslår jeg kraftigt, at du gør dette på en testinstans og/eller uden for peak. timer.

Så, her er tre metoder, fra værste til bedste. Bemærk, at alle metoder i denne vejledning er skrevet til FreeBSD 10. Linux-brugere kan henvise til denne vejledning .

Metode 1: Brug statiske grænsefladeindstillinger

I min begrænsede test resulterer dette i lidt hurtigere opstartstider, da du ikke behøver at vente på, at DHCP tildeler dine netværksindstillinger. Jeg har dog set nævne i flere Vultr-dokumenter, at brug af statiske grænsefladeindstillinger er ildeset, og at du bør holde dig til DHCP. Jeg går ud fra, at de har en god grund til dette, og jeg er derfor selv blevet ved med at bruge DHCP. Ikke desto mindre, hvis du beslutter dig for at gå denne rute, skal du følge trinene nedenfor.

  • Bestem din servers IP, netværksmaske og gateway IP.
  • Rediger for /etc/rc.confat bruge disse værdier i stedet for DHCP.
  • Genstart for at teste indstillinger.

Bestem IP/netmaske/gateway

Hvis du antager, at din grænseflade er vtnet0, skal du udføre følgende:

ifconfig vtnet0 | grep inet

Dette skulle give dig IP-adressen og netmasken til din server:

inet 10.10.10.10 netmask 0xffffff00 broadcast 10.10.10.255

FreeBSD kan lide at bruge hex til netmasken. Ovenstående konverteres til, 255.255.255.0hvis du er nysgerrig. Du kan finde en praktisk tabel her , men frygt ikke: du kan bare kopiere hex-adressen ind i dine konfigurationsfiler (eller konvertere den til decimal, hvis du foretrækker det).

Du kan finde gatewayen på flere måder. Her er en:

route get default | grep gateway vil returnere noget i retning af:

gateway: 10.10.10.1

Ændre /etc/rc.confmed nye værdier

Bevæbnet med IP, netmaske og gateway er det nu tid til at tilføje dem til systemkonfigurationen. Jeg anbefaler kraftigt at sikkerhedskopiere denne fil, før du foretager nogen ændringer, da det vil gøre det meget nemmere at fortryde, hvis du roder. Åbn nu op /etc/rc.confi din valgte editor og foretag følgende ændringer:

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

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

Selvfølgelig skal du være sikker på at erstatte din faktiske IP, netmaske og gateway med mine åbenlyse forfalskninger.

Genstart og test

Genstart din server ved hjælp af shutdown -r nowog sørg for, at den kommer korrekt op igen. Udfør de test, du finder nødvendige for at sikre, at alt fungerer korrekt. Hvis netværket er utilgængeligt, skal du logge på via konsollen og fortryde dine ændringer. Hvis alt er i orden, kan du på dette tidspunkt putte hvad du vil i resolv.confuden frygt for at det bliver udslettet.

Hvis du af en eller anden grund ikke kan genstarte, burde dette virke, men jeg ville virkelig lave en ordentlig genstart, hvis jeg var dig:

service netif restart && service routing restart

Metode 2: Gør resolv.confuforanderlig

Dette er lidt af et hack, men det er let den hurtigste løsning. Jeg anbefaler det ikke, fordi jeg ikke kan garantere, at dette ikke vil forårsage nogle underligheder i fremtiden, når du opgraderer til en ny udgivelse af operativsystemet, og dhclient vil sandsynligvis klage en masse. Når det er sagt, er en simpel chflags schg /etc/resolv.confalt, hvad der er nødvendigt. Filen er nu fuldstændig skrivebeskyttet, selv fra root. Du kan bekræfte sådan:

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.

Fortryd med: chflags noschg /etc/resolv.conf

Metode 3: Bed FreeBSD høfligt om at lade dine indstillinger være

Dette er langt den reneste og mest korrekte måde at få dette gjort på. Der er to tilgange, du kan tage:

Konfigurer dhclient

Lad os tage eksemplet fra toppen og sige, at alt du vil gøre er at sætte din brugerdefinerede navneserver ind resolv.confog ikke vil miste den, hver gang DHCP gør sit. I mit tilfælde vil jeg bruge den caching-resolver, jeg installerede, som lytter på localhost, så jeg redigerer /etc/dhclient.conf(som sandsynligvis vil være tom bortset fra kommentarer) og tilføjer følgende:

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

Dette vil tillade dhclient at gøre alt det andet, du har brug for, men når DHCP-serveren sender den en liste over navneservere, der skal bruges, vil din erstatte (som i, fuldstændigt erstatte) dem, den tilbyder. Hvis du foretrækker at supplere (i stedet for at erstatte) de tilbudte, kan du "tilføje" eller "tilføje" i stedet for "overtræde", alt efter hvad der er relevant.

Hvis du i øvrigt har brug for mere end én brugerdefineret server, skal du angive dem sådan:

supersede domain-name-servers 127.0.0.1, 127.0.0.2;

Når du har foretaget dine ændringer, skal du genstarte for dhclientat få dem til at træde i kraft med det samme:

service dhclient restart vtnet0

Undersøg din, /etc/resolv.confog du skulle finde ud af, at den nu har din(e) brugerdefinerede navneserver(e) i sig.

Når dette skrives, er navneservere det eneste, som Vultrs DHCP-server nogensinde har sat ind i min resolv.conf, og det eneste, jeg har tænkt mig at tilpasse. Men hvis du nogensinde har brug for at tilsidesætte andre indstillinger, kan du konsultere den fremragende manual for en omfattende liste:

man 5 dhclient.conf

Der er gode eksempler nederst, der burde give dig en idé om, hvad du kan gøre. Fra toppen af ​​mit hoved kan jeg forestille mig, at du måske vil tilføje noget som supersede domain-name "example.com";hvis du normalt har sådan en linje i din resolv.conf. Igen, konsulter dok.

Konfigurer resolvconf

Dette er den enkleste løsning, hvis du bare ønsker, at du resolv.confskal være alene. Ifølge manualen:

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

Dens konfiguration ligger i /etc/resolvconf.conf, som sandsynligvis ikke findes på dit system, så du er velkommen til at oprette den. resolv.confTilføj dette for at gøre din uforanderlig:

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

Hvis du bruger unboundsom din lokale caching-resolver, er det den linje, den tilføjer (sammen med et par til sig selv). Det er dybest set at narre resolvconftil at tro, at du /etc/resolv.confer placeret på /dev/null. Noget lidt mindre betydeligt, men lige så effektivt, ville være:

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

Hvis du ønsker at gøre noget mere sofistikeret end blot at slukke for det, bladrer man efter resolvconfog resolvconf.confhar masser af info.

Tags: #BSD #netværk

Sådan installeres Tiny Tiny RSS Reader på en FreeBSD 11 FAMP VPS

Sådan installeres Tiny Tiny RSS Reader på en FreeBSD 11 FAMP VPS

Bruger du et andet system? Tiny Tiny RSS Reader er en gratis og open source selv-hostet webbaseret nyhedsfeed (RSS/Atom) læser og aggregator, designet til at allo

How to Install Wiki.js on FreeBSD 11

How to Install Wiki.js on FreeBSD 11

Using a Different System? Wiki.js is a free and open source, modern wiki app built on Node.js, MongoDB, Git and Markdown. Wiki.js source code is publicl

Sådan installeres Pagekit 1.0 CMS på en FreeBSD 11 FAMP VPS

Sådan installeres Pagekit 1.0 CMS på en FreeBSD 11 FAMP VPS

Bruger du et andet system? Pagekit 1.0 CMS er et smukt, modulært, udvideligt og let, gratis og open source Content Management System (CMS) med

Sådan installeres MODX Revolution på en FreeBSD 11 FAMP VPS

Sådan installeres MODX Revolution på en FreeBSD 11 FAMP VPS

Bruger du et andet system? MODX Revolution er et hurtigt, fleksibelt, skalerbart, open source, enterprise-grade Content Management System (CMS) skrevet i PHP. Det jeg

Opsætning af OpenBSD 5.5 64-bit

Opsætning af OpenBSD 5.5 64-bit

Denne artikel guider dig gennem opsætning af OpenBSD 5.5 (64-bit) på KVM med en Vultr VPS. Trin 1. Log ind på Vultr kontrolpanelet. Trin 2. Klik på DEPLAY

Sådan installeres osTicket på FreeBSD 12

Sådan installeres osTicket på FreeBSD 12

Bruger du et andet system? osTicket er et open source kundesupport billetsystem. osTicket-kildekoden er offentligt hostet på Github. I denne tutorial

Sådan installeres Flarum Forum på FreeBSD 12

Sådan installeres Flarum Forum på FreeBSD 12

Bruger du et andet system? Flarum er en gratis og open source næste generations forumsoftware, der gør online diskussion sjov. Flarum kildekode er hostet o

Sådan aktiveres TLS 1.3 i Nginx på FreeBSD 12

Sådan aktiveres TLS 1.3 i Nginx på FreeBSD 12

Bruger du et andet system? TLS 1.3 er en version af Transport Layer Security (TLS) protokollen, der blev offentliggjort i 2018 som en foreslået standard i RFC 8446

Installer WordPress på OpenBSD 6.2

Installer WordPress på OpenBSD 6.2

Introduktion WordPress er det dominerende content management system på internettet. Det driver alt fra blogs til komplekse websteder med dynamisk indhold

Sådan installeres Subrion 4.1 CMS på en FreeBSD 11 FAMP VPS

Sådan installeres Subrion 4.1 CMS på en FreeBSD 11 FAMP VPS

Bruger du et andet system? Subrion 4.1 CMS er et kraftfuldt og fleksibelt open source Content Management System (CMS), der bringer et intuitivt og klart indhold

Sådan konfigureres DJBDNS på FreeBSD

Sådan konfigureres DJBDNS på FreeBSD

Denne vejledning viser dig, hvordan du konfigurerer en DNS-tjeneste, der er nem at vedligeholde, nem at konfigurere, og som generelt er mere sikker end den klassiske BIN

Sådan installeres Nginx, MySQL og PHP (FEMP) Stack på FreeBSD 12.0

Sådan installeres Nginx, MySQL og PHP (FEMP) Stack på FreeBSD 12.0

En FEMP-stak, som kan sammenlignes med en LEMP-stak på Linux, er en samling open source-software, der typisk installeres sammen for at aktivere en FreeBS

Installation af MongoDB på FreeBSD 10

Installation af MongoDB på FreeBSD 10

MongoDB er en NoSQL-database i verdensklasse, der ofte bruges i nyere webapplikationer. Det giver højtydende forespørgsler, sharding og replikering

Sådan installeres Monica på FreeBSD 12

Sådan installeres Monica på FreeBSD 12

Bruger du et andet system? Monica er et open source system til styring af personlige relationer. Tænk på det som et CRM (et populært værktøj, der bruges af salgsteams i th

OpenBSD som en e-handelsløsning med PrestaShop og Apache

OpenBSD som en e-handelsløsning med PrestaShop og Apache

Introduktion Denne tutorial demonstrerer OpenBSD som en e-handelsløsning, der bruger PrestaShop og Apache. Apache er påkrævet, fordi PrestaShop har kompleks UR

Installation af Fork CMS på FreeBSD 12

Installation af Fork CMS på FreeBSD 12

Bruger du et andet system? Fork er et open source CMS skrevet i PHP. Forks kildekode er hostet på GitHub. Denne vejledning viser dig, hvordan du installerer Fork CM

Sådan installeres Directus 6.4 CMS på en FreeBSD 11 FAMP VPS

Sådan installeres Directus 6.4 CMS på en FreeBSD 11 FAMP VPS

Bruger du et andet system? Directus 6.4 CMS er et kraftfuldt og fleksibelt, gratis og open source Headless Content Management System (CMS), der giver udviklere

Forbedring af sikkerheden for FreeBSD ved hjælp af IPFW og SSHGuard

Forbedring af sikkerheden for FreeBSD ved hjælp af IPFW og SSHGuard

VPS-servere er ofte målrettet af ubudne gæster. En almindelig type angreb dukker op i systemlogfiler som hundredvis af uautoriserede ssh-loginforsøg. Sætte op

Opsæt httpd i OpenBSD

Opsæt httpd i OpenBSD

Introduktion OpenBSD 5.6 introducerede en ny dæmon kaldet httpd, som understøtter CGI (via FastCGI) og TLS. Der kræves ikke yderligere arbejde for at installere den nye http

Konfigurer iRedMail på FreeBSD 10

Konfigurer iRedMail på FreeBSD 10

Denne vejledning viser dig, hvordan du installerer groupware iRedMail på en ny installation af FreeBSD 10. Du bør bruge en server med mindst én gigabyte o

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.

DDOS-angreb: et kort overblik

DDOS-angreb: et kort overblik

Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.

Udvikling af datalagring – Infografik

Udvikling af datalagring – Infografik

Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af ​​dataene. Denne blog dækker udviklingen af ​​datalagring på basis af en infografik.

Funktioner af Big Data Reference Architecture Layers

Funktioner af Big Data Reference Architecture Layers

Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af ​​mac-maskiner. Læs denne artikel for at lære mere