Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



26.10.2020

Nowa wersja nVision

Można już pobierać nową wersję nVision
26.10.2020

Monitorowanie infrastruktury

Vertiv Environet Alert
23.10.2020

Telefonia w chmurze

NFON Cloudya
23.10.2020

Nowości w EDR

Bitdefender GravityZone
23.10.2020

Wykrywanie anomalii

Flowmon ADS11
23.10.2020

Mobilny monitor

AOC 16T2
22.10.2020

HP Pavilion

HP zaprezentowało nowe laptopy z linii Pavilion.
22.10.2020

Inteligentny monitoring

WD Purple SC QD101
22.10.2020

Przełącznik 2,5GbE

QNAP QSW-1105-5T

FREEBSD – obsługa sieci

Data publikacji: 27-08-2020 Autor: Grzegorz Kuczyński

FreeBSD to relatywnie mało popularny system uniksowy – nie przechodzi rewolucji z każdą nową wersją, chociaż ma już ponad 25 lat, a mimo to nie jest pozbawiony wartościowych innowacji. Jest to bardzo ciekawe rozwiązanie dla osób szukających systemu operacyjnego, który byłby bazą do implementacji własnych rozwiązań.

 

Głównym założeniem przyświecającym rozwojowi Free­BSD jest dokonywanie zmian tylko wtedy, gdy istnieje ku temu ważny powód. Skutkuje to szeroką kompatybilnością wsteczną i łatwością migracji do nowych wersji. System pozostaje wierny ideom głoszonym przez twórców systemu Unix i jest rozwijany jako kompletny projekt. Dzięki temu nierzadko pozostaje lepiej zorganizowany i udokumentowany niż GNU/Linux. Z drugiej strony obsługuje te same aplikacje co Linux, przede wszystkim w zakresie usług sieciowych.


Chociaż społeczność skupiona wokół projektu FreeBSD zajmuje się kompleksowo całym systemem operacyjnym, tj. rozwojem jądra, bibliotek i aplikacji, to można o nim myśleć również jako o półprodukcie. Nie posiada komercyjnego wsparcia, ale też nie wymaga udostępniania kodu stworzonego na jego podstawie. Jest również coraz częściej dostępny wśród największych usługodawców VPS. W rezultacie każdy, kto myśli o stworzeniu własnego produktu i potrzebuje do tego systemu operacyjnego typu Unix, powinien wziąć pod uwagę właśnie FreeBSD. Jego głównym zastosowaniem, podobnie jak w przypadku systemów GNU/Linux, są usługi sieciowe. Dlatego pierwszą czynnością, z jaką przyjdzie nam się zmierzyć zaraz po instalacji, będzie konfiguracja sieci. Omawiane przykłady będą realizowane na FreeBSD 12.


> INSTALACJA SYSTEMU


Podczas instalacji systemu zostaniemy zapytani o dane niezbędne do prawidłowej pracy sieciowej. O ile ich znaczenie będzie oczywiste, o tyle ich lokalizacja może być zaskoczeniem dla nowych użytkowników. W porównaniu z systemami Linux konfiguracja jest bardziej scentralizowana i znajduje się zazwyczaj w pliku /etc/rc.conf. Jest to plik konfiguracyjny, w którym definiowane są zmienne używane przez systemowe skrypty konfiguracyjne. Jeżeli jakiejś zmiennej nie zostanie przypisana wartość we wspomnianym pliku, to zostanie użyta jej wartość domyślna przechowywana w /etc/defaults/rc.conf. Potocznie zmienne te są nazywane opcjami. Nazwa hosta podana podczas instalacji zostanie zapisana jako opcja hostname. Jednak nie wszystkie dane zostaną zapisane w rc.conf. Na przykład serwer DNS, z którego zamierzamy korzystać, oraz domena dla naszego hosta zostaną zapisane w pliku /etc/resolv.conf. Podczas konfiguracji wybranego interfejsu sieciowego zostaniemy zapytani o adres IP, maskę i bramę. Informacje te zostaną zapisane w rc.conf na przykład w następującej postaci:


/etc/rc.conf:
ifconfig_vtnet0="inet 172.16.3.100 netmask 255.255.255.0"
defaultrouter="172.16.3.1"


Obie opcje wykorzystywane są przez oddzielne usługi (skrypty), a każda z nich bazuje na odpowiednich narzędziach (poleceniach) systemu. Pierwsza opcja dostarcza danych dla polecenia ifconfig, które we FreeBSD odpowiada za większość konfiguracji sieciowej. Druga opcja będzie wykonana za pomocą komendy route. Zatem powyższe opcje są odpowiednikami poleceń:


# ifconfig vtnet0 inet 172.16.3.100 netmask 255.255.255.0
# route add default 172.16.3.1


Oczywiście polecenia te nie zostaną zachowane po restarcie skryptów sieciowych bądź samego systemu. Warto jeszcze nadmienić, iż w przypadku wyboru automatycznej konfiguracji interfejsu za pomocą DHCP podczas instalacji systemu w pliku konfiguracyjnym dane zostaną zapisane w następujący sposób:


/etc/rc.conf:
ifconfig_vtnet0="DHCP"


> ZMIANA OPCJI

 

Plik rc.conf jest plikiem, w którym zapisujemy parametry sieciowe, ale za ich przeładowanie odpowiadają skrypty usług. Są to tradycyjne uniksowe skrypty rc uruchamiane podczas startu systemu przez proces init. Wspomniany plik można edytować ręcznie, przy użyciu dowolnego edytora, lub za pośrednictwem przeznaczonego do tego narzędzia sysrc. Jest to zdecydowanie lepsze rozwiązanie, gdy chcemy zautomatyzować wprowadzanie zmian w rc.conf. Do sprawdzenia wartości, jakie posiada dana opcja, należy użyć składni:


# sysrc defaultrouter
defaultrouter: 172.16.3.1


Aby ją zmienić, należy dopisać oczekiwaną wartość:


# sysrc defaultrouter="172.16.3.254"
defaultrouter: 172.16.3.1 -> 172.16.3.254


Narzędzie to obsługuje również operatory += i -= służące do dodawania bądź usuwania określonych ciągów znaków. Z kolei opcja -a wydrukuje ustawienia inne niż domyślne z pliku rc.conf.


> ZARZĄDZANIE USŁUGAMI


Jeżeli wprowadzimy zmiany opcji sieciowych i chcemy, aby zaczęły one obowiązywać, to należy przeładować skrypty odpowiednich usług. Za obsługę sieci we FreeBSD odpowiadają dwie usługi – netif i routing. Ponieważ pierwsza z nich podczas resetowania ustawień interfejsu usuwa z routingu również dotyczące jej wpisy, musimy również zresetować drugą usługę. Zostaną dodane trasy do bezpośrednio podłączonych sieci, ale brama domyślna musi zostać ponownie ustawiona przez usługę routing. Ponadto gdy zmian tych dokonujemy zdalnie, to sekwencję tę musimy wykonać w ramach jednego polecenia w poniższy sposób:


# service netif restart && service routing restart


Usługi można włączać i wyłączać – ich stan możemy sprawdzić za pomocą polecenia service -e.

 

[...]

 

Autor zawodowo zajmuje się informatyką. Jest członkiem społeczności open source, prowadzi blog nt. systemu GNU/Linux.

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

prenumerata Numer niedostępny Spis treści

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"