Chráňte resolv.conf pred DHCP na FreeBSD 10

Ak používate svoj vlastný prekladač alebo chcete použiť jeden od poskytovateľa tretej strany, možno zistíte, že váš /etc/resolv.confsúbor prepisuje DHCP. Existuje niekoľko spôsobov, ako tento problém vyriešiť. Keďže pravdepodobne budete chcieť reštartovať, aby ste sa uistili, že sa vaše zmeny zachovajú, a keďže sa v prvom rade budete opičiť s nastaveniami siete, dôrazne vám odporúčam, aby ste to urobili na testovacej inštancii a/alebo mimo špičky hodiny.

Teraz sú tu tri spôsoby, od najhoršieho po najlepšie. Všimnite si, že všetky metódy v tejto príručke boli napísané pre FreeBSD 10. Používatelia Linuxu si môžu prečítať túto príručku .

Metóda 1: Použite nastavenia statického rozhrania

V mojom obmedzenom testovaní to má za následok mierne rýchlejšie časy zavádzania, pretože nemusíte čakať, kým DHCP priradí vaše sieťové nastavenia. V niekoľkých dokumentoch Vultr som však videl zmienku o tom, že používanie nastavení statického rozhrania je odsúvané a že by ste sa mali držať DHCP. Predpokladám, že na to majú dobrý dôvod, a preto som sám pokračoval v používaní DHCP. Ak sa však rozhodnete ísť touto cestou, postupujte podľa nižšie uvedených krokov.

  • Zistite IP svojho servera, masku siete a IP brány.
  • Upravte, /etc/rc.confaby sa tieto hodnoty používali namiesto DHCP.
  • Reštartujte a otestujte nastavenia.

Určite IP/masku siete/bránu

Za predpokladu, že vaše rozhranie je vtnet0, vykonajte nasledovné:

ifconfig vtnet0 | grep inet

Toto by vám malo získať IP adresu a masku siete pre váš server:

inet 10.10.10.10 netmask 0xffffff00 broadcast 10.10.10.255

FreeBSD rád používa hex pre masku siete. Vyššie uvedené sa prevedie na, 255.255.255.0ak ste zvedaví. Šikovnú tabuľku nájdete tu , ale nebojte sa: hexadecimálnu adresu môžete jednoducho skopírovať do svojich konfiguračných súborov (alebo ju previesť na desatinné číslo, ak chcete).

Bránu môžete nájsť niekoľkými spôsobmi. Tu je jeden:

route get default | grep gateway vráti niečo v zmysle:

gateway: 10.10.10.1

Upravte /etc/rc.confpomocou nových hodnôt

Vyzbrojení IP, sieťovou maskou a bránou je teraz čas pridať ich do systémovej konfigurácie. Ja dôrazne odporúčame zálohovať tento súbor pred vykonaním akýchkoľvek zmien, pretože to bude robiť to oveľa jednoduchšie undo by ste mali pokaziť. Teraz otvorte /etc/rc.confeditor podľa vlastného výberu a vykonajte nasledujúce zmeny:

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

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

Samozrejme, mali by ste si byť istí, že ste za moje zjavné falzifikáty nahradili svoju skutočnú IP, sieťovú masku a bránu .

Reštartujte a otestujte

Reštartujte server pomocou shutdown -r nowa uistite sa, že sa správne vracia. Vykonajte všetky testy, ktoré považujete za potrebné, aby ste sa uistili, že všetko funguje správne. Ak je sieť nedostupná, prihláste sa cez konzolu a vráťte svoje zmeny. Ak je všetko v poriadku, v tomto bode môžete vložiť do resolv.confčoho chcete, bez strachu, že to bude vymazané.

Ak z nejakého dôvodu nemôžete reštartovať, malo by to fungovať, ale na vašom mieste by som skutočne urobil správny reštart:

service netif restart && service routing restart

Metóda 2: Urobte resolv.confnemenné

Toto je trochu hack, ale je to jednoducho najrýchlejšie riešenie. Neodporúčam to, pretože nemôžem zaručiť, že to v budúcnosti nespôsobí nejaké podivnosti, keď upgradujete na nové vydanie operačného systému, a dhclient sa pravdepodobne bude veľa sťažovať. To znamená, že chflags schg /etc/resolv.confvšetko, čo je potrebné , je jednoduché . Súbor je teraz úplne chránený proti zápisu, dokonca aj z root. Overiť môžete takto:

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.

Vrátiť späť pomocou: chflags noschg /etc/resolv.conf

Metóda 3: Zdvorilo povedzte FreeBSD, aby nechal vaše nastavenia na pokoji

Toto je zďaleka najčistejší a najsprávnejší spôsob, ako to dosiahnuť. Môžete použiť dva prístupy:

Konfigurovať dhclient

Zoberme si príklad zhora a povedzme, že všetko, čo chcete urobiť, je umiestniť svoj vlastný nameserver resolv.confa nechcete ho stratiť zakaždým, keď DHCP urobí svoju vec. V mojom prípade chcem použiť caching resolver, ktorý som si nainštaloval a ktorý počúva na localhost, takže upravím /etc/dhclient.conf(čo bude pravdepodobne prázdne okrem komentárov) a pridám nasledovné:

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

To umožní dhclientu robiť všetko ostatné, čo od neho potrebujete, ale keď mu DHCP server pošle zoznam nameserverov na použitie, váš nahradí (ako v, úplne nahradí) tie, ktoré ponúka. Ak uprednostňujete doplniť (a nie nahradiť) ponúkané, môžete podľa potreby namiesto "nahradiť" "pripojiť" alebo "pripojiť".

Mimochodom, ak potrebujete viac ako jeden vlastný server, zadajte ich takto:

supersede domain-name-servers 127.0.0.1, 127.0.0.2;

Po vykonaní zmien reštartujte, dhclientaby sa okamžite prejavili:

service dhclient restart vtnet0

Preskúmajte svoj /etc/resolv.confa mali by ste zistiť, že teraz obsahuje váš vlastný nameserver(y).

V čase písania tohto článku sú menné servery jedinou vecou, ​​ktorú server DHCP Vultr vložil do môjho resolv.conf, a jedinou vecou, ​​ktorú som si dal prispôsobiť. Ak by ste však niekedy potrebovali prepísať akékoľvek iné nastavenia, pozrite si vynikajúci návod, kde nájdete úplný zoznam:

man 5 dhclient.conf

V spodnej časti sú skvelé príklady, ktoré by vám mali poskytnúť predstavu o tom, čo môžete urobiť. Z hlavy si viem predstaviť, že by ste mohli chcieť pridať niečo podobné, supersede domain-name "example.com";ak bežne máte vo svojom resolv.conf. Opäť sa obráťte na dokumentáciu.

Konfigurovať resolvconf

Toto je najjednoduchšie riešenie, ak chcete, resolv.confaby ste zostali sami. Podľa manuálu:

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

Jeho konfigurácia sa nachádza v /etc/resolvconf.conf, ktorý pravdepodobne vo vašom systéme neexistuje, takže si ho môžete vytvoriť. Ak chcete, aby bol váš resolv.confnemenný, pridajte toto:

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

Ak používate unboundako svoj lokálny caching resolver, toto je riadok, ktorý pridáva (spolu s niekoľkými pre seba). To je v podstate oklamanie, resolvconfaby ste si mysleli, že /etc/resolv.confsa nachádzate na adrese /dev/null. Niečo o niečo menej priemerné, ale rovnako efektívne by bolo:

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

Ak chcete urobiť niečo sofistikovanejšie, ako len vypnúť, manuálové stránky pre resolvconfa resolvconf.confmajú veľa informácií.

Zanechať komentár

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.

Útoky DDOS: Stručný prehľad

Útoky DDOS: Stručný prehľad

Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.

Funkcionality vrstiev referenčnej architektúry veľkých dát

Funkcionality vrstiev referenčnej architektúry veľkých dát

Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.

Vývoj ukladania dát – Infografika

Vývoj ukladania dát – Infografika

Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac