Zaštitite resolv.conf od DHCP-a na FreeBSD-u 10

Ako koristite vlastiti razrješavač ili ga želite koristiti od dobavljača treće strane, možda ćete otkriti da /etc/resolv.confDHCP prepisuje vašu datoteku. Postoji nekoliko načina za rješavanje ovog problema. Budući da ćete se vjerojatno htjeti ponovno pokrenuti kako biste bili sigurni da će se vaše promjene zadržati, i budući da ćete se na prvom mjestu zavaravati mrežnim postavkama, snažno predlažem da to učinite na probnoj instanci i/ili izvan vršne vrijednosti sati.

Dakle, evo tri metode, od najgore do najbolje. Imajte na umu da su sve metode u ovom vodiču napisane za FreeBSD 10. Korisnici Linuxa mogu pogledati ovaj vodič .

Metoda 1: Koristite statičke postavke sučelja

U mom ograničenom testiranju, ovo rezultira nešto bržim vremenom pokretanja jer ne morate čekati da DHCP dodijeli vaše mrežne postavke. Međutim, vidio sam da se u nekoliko Vultr dokumenata spominje da je korištenje statičkih postavki sučelja zabranjeno i da biste se trebali držati DHCP-a. Pretpostavljam da imaju dobar razlog za to i stoga sam i sam nastavio koristiti DHCP. Ipak, ako se odlučite krenuti ovim putem, slijedite dolje navedene korake.

  • Odredite IP vašeg poslužitelja, mrežnu masku i IP pristupnika.
  • Izmijenite /etc/rc.confda koristite ove vrijednosti umjesto DHCP.
  • Ponovno pokrenite za testiranje postavki.

Odredite IP/mrežnu masku/gateway

Pod pretpostavkom da je vaše sučelje vtnet0, izvršite sljedeće:

ifconfig vtnet0 | grep inet

Ovo bi vam trebalo dati IP adresu i mrežnu masku za vaš poslužitelj:

inet 10.10.10.10 netmask 0xffffff00 broadcast 10.10.10.255

FreeBSD voli koristiti hex za mrežnu masku. Gore se pretvara u 255.255.255.0ako ste znatiželjni. Možete naći pri ruci tablicu ovdje , ali ne bojte se: možete jednostavno kopirati hex adresu u vaše konfiguracijske datoteke (ili ga pretvoriti u decimale, ako vam je draže).

Gateway možete pronaći na više načina. evo jednog:

route get default | grep gateway vratit će nešto na sljedeći način:

gateway: 10.10.10.1

Izmijenite /etc/rc.confs novim vrijednostima

Naoružani IP-om, mrežnom maskom i pristupnikom, sada je vrijeme da ih dodate u konfiguraciju sustava. Ja čvrsto preporučujem backup datoteku prije donošenja bilo kakve promjene, jer će ga puno lakše poništiti bi ti zabrljati. Sada otvorite /etc/rc.confu uređivaču po izboru i napravite sljedeće promjene:

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

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

Očito, trebali biste biti sigurni da ste moj stvarni IP, mrežnu masku i pristupnik zamijenili mojim očitim lažnjacima.

Ponovno pokrenite i testirajte

Ponovo pokrenite poslužitelj koristeći shutdown -r nowi provjerite je li se ispravno vratio. Izvršite sve testove koje smatrate potrebnima kako biste bili sigurni da sve radi ispravno. Ako je mreža nedostupna, prijavite se putem konzole i poništite svoje promjene. Ako je sve u redu, u ovom trenutku možete staviti što god želite resolv.confbez straha da će biti izbrisano.

Ako iz bilo kojeg razloga ne možete ponovno pokrenuti, ovo bi trebalo funkcionirati, ali ja bih na vašem mjestu stvarno napravio ispravno ponovno pokretanje:

service netif restart && service routing restart

Metoda 2: Učinite resolv.confnepromjenjivim

Ovo je malo hak, ali je lako najbrže rješenje. Ne preporučam ga jer ne mogu jamčiti da to neće uzrokovati neke čudnosti u budućnosti kada nadogradite na novo izdanje operativnog sustava, a dhclient će se vjerojatno mnogo žaliti. Ipak, jednostavno chflags schg /etc/resolv.confje sve što je potrebno. Datoteka je sada potpuno zaštićena od pisanja, čak i od root-a. Možete provjeriti ovako:

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.

Poništi sa: chflags noschg /etc/resolv.conf

Metoda 3: Ljubazno recite FreeBSD-u da ostavi vaše postavke na miru

Ovo je daleko najčišći i najispravniji način da se to učini. Postoje dva pristupa koja možete poduzeti:

Konfigurirati dhclient

Uzmimo primjer od vrha i recimo da sve što želite učiniti je staviti svoj prilagođeni poslužitelj imena resolv.confi ne želite ga izgubiti svaki put kada DHCP učini svoje. U mom slučaju, želim koristiti razrješavač predmemorije koji sam instalirao i koji sluša na lokalnom hostu, pa ću urediti /etc/dhclient.conf(koji će vjerojatno biti prazan osim komentara) i dodati sljedeće:

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

To će omogućiti dhclientu da učini sve ostalo što trebate, ali kada mu DHCP poslužitelj pošalje popis poslužitelja imena koje će koristiti, vaš će zamijeniti (kao, potpuno zamijeniti) one koje nudi. Ako biste radije nadopunili (umjesto zamijenili) ponuđene, možete "dodati" ili "predodati" umjesto "zamijeniti", prema potrebi.

Usput, ako trebate više od jednog prilagođenog poslužitelja, navedite ih ovako:

supersede domain-name-servers 127.0.0.1, 127.0.0.2;

Nakon što izvršite izmjene, ponovno pokrenite dhclientkako bi odmah stupile na snagu:

service dhclient restart vtnet0

Pregledajte svoj /etc/resolv.confi trebali biste otkriti da sada ima vaše prilagođene poslužitelje imena u sebi.

Od ovog trenutka pisanja, poslužitelji imena jedina su stvar koju je Vultrov DHCP poslužitelj ikada stavio u moj resolv.conf, i jedina stvar koju sam želio prilagoditi. Međutim, ako ikada trebate nadjačati bilo koje druge postavke, pogledajte odličan priručnik za opsežan popis:

man 5 dhclient.conf

Na dnu su sjajni primjeri koji bi vam trebali dati ideju o tome što možete učiniti. Nepametno, mogu zamisliti da biste možda htjeli dodati nešto poput supersede domain-name "example.com";ako inače imate takvu crtu u svom resolv.conf. Opet, konzultirajte dokumente.

Konfigurirati resolvconf

Ovo je najjednostavnije rješenje ako samo želite resolv.confda vas ostave na miru. Prema priručniku:

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

Njegova se konfiguracija nalazi u /etc/resolvconf.conf, što vjerojatno ne postoji na vašem sustavu, stoga ga slobodno kreirajte. Da bi vaš bio resolv.confnepromjenjiv, dodajte ovo:

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

Ako koristite unboundkao svoj lokalni razrješavač predmemorije, to je redak koji dodaje (zajedno s nekoliko za sebe). To je u osnovi zavaravanje resolvconfda mislite da /etc/resolv.confse nalazite na /dev/null. Nešto malo manje zločesto, ali jednako učinkovito, bilo bi:

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

Ako želite učiniti nešto sofisticiranije od jednostavnog isključivanja, man stranice za resolvconfi resolvconf.confimaju puno informacija.

Ostavite komentar

Uspon strojeva: primjene AI u stvarnom svijetu

Uspon strojeva: primjene AI u stvarnom svijetu

Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.

DDOS napadi: kratak pregled

DDOS napadi: kratak pregled

Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.

Evolucija pohrane podataka – Infografika

Evolucija pohrane podataka – Infografika

Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više