Chroń resolv.conf przed DHCP na FreeBSD 10

Jeśli korzystasz z własnego resolwera lub chcesz użyć jednego z zewnętrznych dostawców usług, może się okazać, że /etc/resolv.confplik jest zastępowany przez DHCP. Istnieje kilka sposobów rozwiązania tego problemu. Ponieważ najprawdopodobniej będziesz chciał zrestartować komputer, aby upewnić się, że zmiany się utrzymają, a ponieważ przede wszystkim będziesz małpował z ustawieniami sieci, zdecydowanie zalecamy zrobienie tego w instancji testowej i / lub poza szczytem godziny.

Teraz są trzy metody, od najgorszego do najlepszego. Zauważ, że wszystkie metody zawarte w tym przewodniku zostały napisane dla FreeBSD 10. Użytkownicy Linuksa mogą zapoznać się z tym przewodnikiem .

Metoda 1: Użyj ustawień interfejsu statycznego

W moich ograniczonych testach powoduje to nieco krótszy czas uruchamiania, ponieważ nie musisz czekać na DHCP, aby przypisać ustawienia sieciowe. Jednak widziałem wzmiankę w kilku dokumentach Vultr, że używanie statycznych ustawień interfejsu jest niezadowolone i że powinieneś trzymać się DHCP. Zakładam, że mają ku temu dobry powód, dlatego sam nadal korzystałem z DHCP. Niemniej jednak, jeśli zdecydujesz się wybrać tę trasę, wykonaj poniższe czynności.

  • Określ adres IP serwera, maskę sieci i adres IP bramy.
  • Zmodyfikuj, /etc/rc.confaby używać tych wartości zamiast DHCP.
  • Uruchom ponownie, aby przetestować ustawienia.

Określ adres IP / maskę sieci / bramę

Zakładając, że twój interfejs to vtnet0, wykonaj następujące czynności:

ifconfig vtnet0 | grep inet

To powinno dać ci adres IP i maskę sieci dla twojego serwera:

inet 10.10.10.10 netmask 0xffffff00 broadcast 10.10.10.255

FreeBSD lubi używać hexa do maski sieci. Powyższe konwertuje na, 255.255.255.0jeśli jesteś ciekawy. Można znaleźć poręczny stolik tutaj , ale nie bój się: można po prostu skopiować adres hex w plikach konfiguracyjnych (lub przekształcić go po przecinku, jeśli wolisz).

Bramę można znaleźć na wiele sposobów. Tutaj jest jeden:

route get default | grep gateway zwróci coś w następujący sposób:

gateway: 10.10.10.1

Zmodyfikuj za /etc/rc.confpomocą nowych wartości

Uzbrojeni w adres IP, maskę sieci i bramę, czas dodać je do konfiguracji systemu. I zdecydowanie zaleca utworzenie kopii zapasowej tego pliku przed dokonaniem jakichkolwiek zmian, ponieważ pozwoli on znacznie łatwiej powinien cofnąć bałagan. Teraz otwórz /etc/rc.confw wybranym edytorze i wprowadź następujące zmiany:

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

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

Oczywiście, powinieneś koniecznie zastąpić swoje rzeczywiste IP, maskę sieci i bramę moimi oczywistymi podróbkami.

Uruchom ponownie i przetestuj

Uruchom ponownie serwer za pomocą shutdown -r nowi upewnij się, że poprawnie się zrestartował. Wykonaj wszelkie testy, które uznasz za konieczne, aby upewnić się, że wszystko działa poprawnie. Jeśli sieć jest niedostępna, zaloguj się za pomocą konsoli i przywróć zmiany. Jeśli wszystko jest w porządku, w tym momencie możesz włożyć wszystko, co chcesz, resolv.confbez obawy, że zostanie to zatarte.

Jeśli z jakiegokolwiek powodu nie możesz zrestartować komputera, powinno to zadziałać, ale naprawdę zrobiłbym właściwy restart, gdybym był tobą:

service netif restart && service routing restart

Metoda 2: Uczyń resolv.confniezmienną

Jest to trochę włamanie, ale łatwo jest najszybszym rozwiązaniem. Nie polecam tego, ponieważ nie mogę zagwarantować, że nie spowoduje to jakiejś dziwności w przyszłości, kiedy uaktualnisz system do nowej wersji systemu operacyjnego, a dhclient prawdopodobnie narzeka. To powiedziawszy, wystarczy proste chflags schg /etc/resolv.conf. Plik jest teraz całkowicie chroniony przed zapisem, nawet przed rootem. Możesz to sprawdzić w następujący sposób:

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.

Cofnij za pomocą: chflags noschg /etc/resolv.conf

Metoda 3: Uprzejmie powiedz FreeBSD, aby zostawił twoje ustawienia w spokoju

Jest to zdecydowanie najczystszy i najbardziej odpowiedni sposób, aby to zrobić. Istnieją dwa podejścia, które możesz zastosować:

Konfiguruj dhclient

Weźmy przykład z góry i powiedzmy, że wszystko, co chcesz zrobić, to umieścić niestandardowy serwer nazw resolv.confi nie chcieć go tracić za każdym razem, gdy DHCP to robi. W moim przypadku chcę użyć programu tłumaczącego buforowanie, który zainstalowałem, który nasłuchuje na localhost, więc dokonuję edycji /etc/dhclient.conf(która prawdopodobnie będzie pusta oprócz komentarzy) i dodaję:

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

Pozwoli to dhclient zrobić wszystko, czego potrzebujesz, ale kiedy serwer DHCP wyśle ​​mu listę serwerów nazw do użycia, twój zastąpi te, które oferuje. Jeśli wolisz uzupełnić (zamiast zastąpić) oferowane, możesz odpowiednio „dołączyć” lub „uzupełnić” zamiast „zastąpić”.

Nawiasem mówiąc, jeśli potrzebujesz więcej niż jednego serwera niestandardowego, określ je w następujący sposób:

supersede domain-name-servers 127.0.0.1, 127.0.0.2;

Po wprowadzeniu zmian uruchom ponownie, dhclientaby natychmiast zaczęły obowiązywać:

service dhclient restart vtnet0

Zbadaj swój /etc/resolv.confi powinieneś znaleźć, że teraz masz w nim niestandardowe serwery nazw.

W tym momencie serwery nazw są jedyną rzeczą, jaką serwer DHCP firmy Vultr kiedykolwiek włożył do mojego resolv.confi jedyną rzeczą, którą chciałem dostosować. Jeśli jednak chcesz zmienić inne ustawienia, zapoznaj się z doskonałą instrukcją, aby uzyskać wyczerpującą listę:

man 5 dhclient.conf

Na dole znajdują się świetne przykłady, które powinny dać ci wyobrażenie o tym, co możesz zrobić. Z czubka mojej głowy mogę sobie wyobrazić, że możesz chcieć dodać coś takiego, supersede domain-name "example.com";jeśli normalnie masz taką linię w swoim resolv.conf. Znów zajrzyj do dokumentacji.

Konfiguruj resolvconf

Jest to najprostsze rozwiązanie, jeśli chcesz, abyś resolv.confzostał sam. Zgodnie z instrukcją:

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

Jego konfiguracja znajduje się w /etc/resolvconf.conf, co prawdopodobnie nie istnieje w twoim systemie, więc możesz ją utworzyć. Aby twój stał się resolv.confniezmienny, dodaj to:

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

Jeśli używasz unboundjako lokalnego programu rozpoznawania pamięci podręcznej, to dodaje wiersz (wraz z kilkoma dla siebie). To w zasadzie podstępne resolvconfmyślenie, w którym się /etc/resolv.confznajdujesz /dev/null. Coś nieco mniej złośliwego, ale równie skutecznego, byłoby:

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

Jeśli chcesz zrobić coś bardziej skomplikowanego niż tylko wyłączając go, strony MAN resolvconfi resolvconf.confmają mnóstwo informacji.



Leave a Comment

Funkcjonalności warstw architektury referencyjnej Big Data

Funkcjonalności warstw architektury referencyjnej Big Data

Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.

Wgląd w 26 technik analizy Big Data: część 2

Wgląd w 26 technik analizy Big Data: część 2

Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.

Ataki DDOS: krótki przegląd

Ataki DDOS: krótki przegląd

Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.