Заштитите ресолв.цонф од ДХЦП-а на ФрееБСД-у 10

Ако користите сопствени резолвер или желите да га користите од провајдера треће стране, можда ћете открити да /etc/resolv.confДХЦП замењује вашу датотеку. Постоји неколико начина да се реши овај проблем. Пошто ћете вероватно желети да се поново покренете да бисте били сигурни да ће ваше промене остати на снази, и пошто ћете се на првом месту заваравати са мрежним подешавањима, топло предлажем да то урадите на пробној инстанци и/или ван врха сати.

Дакле, ево три методе, од најгорег до најбољег. Имајте на уму да су све методе у овом водичу написане за ФрееБСД 10. Корисници Линук-а могу погледати овај водич .

Метод 1: Користите статичка подешавања интерфејса

У мом ограниченом тестирању, ово резултира нешто бржим временом покретања јер не морате да чекате да ДХЦП додели ваша мрежна подешавања. Међутим, видео сам да се у неколико Вултр докумената помиње да је коришћење статичких подешавања интерфејса забрањено и да би требало да се држите ДХЦП-а. Претпостављам да имају добар разлог за ово и самим тим сам наставио да користим ДХЦП. Ипак, ако одлучите да кренете овим путем, следите доле наведене кораке.

  • Одредите ИП адресу вашег сервера, мрежну маску и ИП мрежног пролаза.
  • Измените /etc/rc.confда бисте користили ове вредности уместо ДХЦП-а.
  • Поново покрените да бисте тестирали подешавања.

Одредите ИП/мрежну маску/гејтвеј

Под претпоставком да је ваш интерфејс втнет0, извршите следеће:

ifconfig vtnet0 | grep inet

Ово би требало да добијете ИП адресу и мрежну маску за ваш сервер:

inet 10.10.10.10 netmask 0xffffff00 broadcast 10.10.10.255

ФрееБСД воли да користи хек за мрежну маску. Горе се претвара у 255.255.255.0ако сте радознали. Можете наћи при руци сто овде , али не бојте се: можете једноставно копирати хек адресу у своје конфигурацијске датотеке (или претворити га у децимале ако желите).

Гатеваи можете пронаћи на више начина. ево једног:

route get default | grep gateway вратиће нешто на следећи начин:

gateway: 10.10.10.1

Измените /etc/rc.confса новим вредностима

Наоружани ИП-ом, мрежном маском и мрежним пролазом, сада је време да их додате у системску конфигурацију. Ја препоручујем бацкуп ову слику пре било какве измене, јер ће бити много лакше да се поништи би требало да неред. Сада отворите /etc/rc.confу уређивачу по свом избору и унесите следеће промене:

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

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

Очигледно, требало би да будете сигурни да замените своју стварну ИП адресу, мрежну маску и капију за моје очигледне лажне.

Поново покрените и тестирајте

Поново покрените сервер користећи shutdown -r nowи уверите се да се исправно враћа. Извршите све тестове које сматрате потребним да бисте били сигурни да све ради како треба. Ако је мрежа недоступна, пријавите се преко конзоле и поништите промене. Ако је све у реду, у овом тренутку можете ставити шта год желите resolv.confбез страха да ће бити избрисано.

Ако из било ког разлога не можете поново да покренете систем, ово би требало да функционише, али ја бих на вашем месту заиста урадио одговарајуће рестартовање:

service netif restart && service routing restart

Метод 2: Учините resolv.confнепроменљивим

Ово је мало хак, али је лако најбрже решење. Не препоручујем га јер не могу да гарантујем да ово неће изазвати неке чудности у будућности када надоградите на ново издање оперативног система, а дхцлиент ће се вероватно много жалити. Ипак, једноставно chflags schg /etc/resolv.confје све што је потребно. Датотека је сада потпуно заштићена од писања, чак и од роот-а. Можете проверити овако:

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.

Поништи са: chflags noschg /etc/resolv.conf

Метод 3: Љубазно реците ФрееБСД-у да остави ваша подешавања на миру

Ово је далеко најчистији и најисправнији начин да се ово уради. Постоје два приступа која можете предузети:

Конфигуришите dhclient

Узмимо пример од врха и кажемо да све што желите да урадите је да убаците свој прилагођени сервер имена resolv.confи не желите да га изгубите сваки пут када ДХЦП уради своје. У мом случају, желим да користим кеш резолвер који сам инсталирао и који слуша на локалном хосту, тако да мењам /etc/dhclient.conf(који ће вероватно бити празан осим коментара) и додајем следеће:

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

Ово ће омогућити дхцлиенту да уради све остало што треба да уради, али када му ДХЦП сервер пошаље листу сервера имена које треба да користи, ваш ће заменити (као у потпуности заменити) оне које нуди. Ако бисте радије допунили (уместо да замените) оне који су понуђени, можете да „додате“ или „предоставите“ уместо „замените“, према потреби.

Узгред, ако вам је потребно више од једног прилагођеног сервера, наведите их овако:

supersede domain-name-servers 127.0.0.1, 127.0.0.2;

Након што извршите промене, поново покрените dhclientда би оне одмах ступиле на снагу:

service dhclient restart vtnet0

Прегледајте свој /etc/resolv.confи требало би да откријете да сада има ваше прилагођене сервере имена у себи.

Од овог писања, сервери имена су једина ствар коју је Вултров ДХЦП сервер икада ставио у мој resolv.conf, и једина ствар коју сам желео да прилагодим. Међутим, ако икада будете морали да заобиђете било која друга подешавања, погледајте одличан приручник за свеобухватну листу:

man 5 dhclient.conf

На дну су сјајни примери који би требало да вам дају идеју шта можете да урадите. На памети, могу да замислим да бисте можда желели да додате нешто попут тога supersede domain-name "example.com";да обично имате такву линију у свом resolv.conf. Опет, консултујте документе.

Конфигуришите resolvconf

Ово је најједноставније решење ако само желите resolv.confда вас оставе на миру. Према приручнику:

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

Његова конфигурација се налази у /etc/resolvconf.conf, што вероватно не постоји на вашем систему, па га слободно креирајте. Да бисте учинили свој resolv.confнепроменљивим, додајте ово:

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

Ако користите unboundкао свој локални разређивач кеширања, то је линија коју додаје (заједно са неколико за себе). То у суштини вара resolvconfда мислите да /etc/resolv.confсе налазите на /dev/null. Нешто мало мање подло, али једнако ефикасно, било би:

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

Ако желите да урадите нешто софистицираније од једноставног искључивања, ман странице за resolvconfи resolvconf.confимају много информација.

Остави коментар

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више