HOME


 
Jeżeli ładowanie trwa zbyt długo (powyżej 2 min.), to zapraszam o innej porze.
Zobacz statystyki odwiedzin by ustalić porę najmniejszego obciążenia serwera.

Spakowana witryna o Linuksie w formacie RAR
 
gorzow-wlkp.pl/linux
INTERFEJSY SIECIOWE


 
Jest to ciąg dalszy ze strony ZARZĄDZANIE.
 
Interfejsy to sprzętowy lub programowy pośrednik pomiędzy... i tu mamy wielki obszar do wymieniania. Interfejs może łączyć urządzenia wejścia-wyjścia z jądrem systemu (porty szeregowe, równoległe, USB itd). Interfejsem programowym jest np. powłoka okienkowa KDE, która pośredniczy w przekazywaniu treści zlecenia (wynikłej po kliknięciu myszy) do shella. Nas interesują tutaj interfejsy sieciowe.

Mamy interfejsy sieciowe urządzeń warstwy sieciowej (eth0, ppp0 itp.) oraz wirtualne interfejsy sieciowe: lo oraz sit0 (lo to interfejs pętli zwrotnej loopback, zaś sit0 służy do tunelowania protokołu IPv6 wewnątrz IPv4).
Interfejsy sieciowe typu eth0 (karta sieciowa pierwsza), eth1 (karta sieciowa druga), ppp0 (modem np. SDI pracujący pod kontrolą demona pppd) to nazwy urządzeń warstwy sieciowej, jednak należy pamiętać, że faktycznym urządzeniem (warstwą fizyczną) dla protokołu PPP (modem) jest najczęściej port szeregowy (w Linuksie oznaczany ttyS0, ttyS1). Tak więc konfigurujemy interfejsy sieciowe urządzeń warstwy sieciowej (ewentualnie interfejsy wirtualne) i uznajemy, że sterowniki warstwy fizycznej (sterowniki kart sieciowych, urządzeń typu port szeregowy) są zainstalowane. W przypadku modemu powinien działać demon pppd (opis instalacji na przykładzie Mandrake 10.0).

Aby w Linuksie zobaczyć jakie mamy interfejsy sieciowe, proponuję byś jako root wydał polecenie ifconfig (lub ifconfig -a).

 

 
W powyższym przykładzie mamy następujący zestaw: eth0 (czyli karta sieciowa pracująca na adresie np. 192.168.0.1), lo (czyli wirtualny interfejs, który jest potrzebny do komunikacji serwera z samym sobą na zasadzie tzw. "pentelki", pracujący na adresie 127.0.0.1), ppp0 (czyli modem np. SDI pracujący na adresie np. 217.96.171.101).

Oczywiście zlecenie ifconfig umie znacznie więcej: wyświetla ustawienia interfejsów sieciowych, konfiguruje je oraz aktywuje/wyłącza. Opcji jest wiele np.:

  • up (lub down)- aktywuje lub dezaktywuje określony interfejs np. eth0
  • netmask - ustawia maskę
  • irq numer - ustawia nr przerwania IRQ dla danego urządzenia
  • adress - określa adres IP przypisany temu interfejsowi

 

*

 

Uwaga: opis wyliczania parametrów sieci (maska, broadcast itp.) w postaci przykładowych zadań, znajdziesz na stronie: IPsieciABC.php.

 

*

 

Sieć uruchomisz zleceniem o następującej budowie (spacje oddzielają poszczególne segmenty zlecenia):

ifconfig eth0 IP netmask MASKA up
czyli w praktyce:
ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up

Wyjaśnienie: na interfejsie eth0 będzie ustawiony IP o numerze 192.168.0.1. Maska sieci otrzyma postać 255.255.255.0. Wpis up oznacza start.

 

*

 

Wpis uruchamiający łączność z siecią (na komputerze klienckim) - zwróć uwagę, że podano więcej parametrów:

ifconfig eth0 IP netmask IP_maski_podsieci broadcast IP_Broadcast gateway IP_routera-bramy up
czyli w praktyce:
ifconfig eth0 192.168.0.10 netmask 255.255.255.0 broadcast 255.255.255.255 gateway 192.168.0.1 up

 

*

 

Oczywiście tak ustawione parametry interfejsu eth0 będą nietrwałe (do restartu systemu), dlatego utworzono plik /etc/sysconfig/network-scripts/ifcfg-eth0 zawierający dane sieciowe odczytywane przez system. Dane te mogą być czytane podczas startu (gdy aktywna jest opcja ONBOOT=yes) lub po wydaniu zlecenia ifconfig eth0 up (nie trzeba podawać szczegółowych parametrów, gdyż te są zapisane w pliku ifcfg-eth0). Polecam przeglądnąć zawartość katalogu /etc/sysconfig/network-scripts

Przykładowa zawartość pliku /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.0.255
IPADDR=192.168.0.1
NETMASK=255.255.255.0
NETWORK=192.168.0.0
ONBOOT=yes


 


 
Mamy skonfigurowaną i włączoną kartę sieciową. Podłączamy ją fizycznie do switha, gdyż będziemy konfigurować na naszym Linuksie router i udostępnianie Internetu (dostarczanego poprzez modem SDI na interfejsie ppp0) wg schematu:
[INTERNET] ----- ppp0 - [Linux] - eth0 --------------[klient w domowej sieci]

Chwila teorii: klienty w wewnętrznej sieci muszą wiedzieć jaki komputer (o jakim adresie IP) nasłuchuje, aby umożliwić kontakt z inną siecią np. Internetem. Przyjmujemy, że skonfigurowany przed chwilą Linux ma dwa interfejsy: wewnętrzny oraz zewnętrzny. Wewnętrzny o adresie 192.168.0.1, na interfejsie eth0, będzie pełnił funkcję BRAMY (GATEWAY). Zewnętrzny, o adresie np. 217.96.171.101, na interfejsie ppp0, będzie pod takim adresem widziany w Internecie. Przed wykonaniem jakichkolwiek kroków sprawdźmy jak obecnie wygląda nasz routing (tablica routingu) zleceniem:

route czyli /sbin/route - bierząca tablica routingu
lub
route -n - tablica routingu Kernela bez tłumaczenia nazw hostów (bez kontakowania się z DNS)
lub
netstat -nr (j.w.)

 

 

Jeżeli w tablicy routingu nie ma nic, wpisz jako root zlecenie:
route add default gw 192.168.0.1
Ustawisz w ten sposób domyślną trasę do adresu 192.168.0.1

Co jednak w sytuacji, gdy za jedną bramą pakiet z komputera-klienta musi przejść przez kolejną sieć (klient znajdzuje się w podsieci, która łączy się z Internetem poprzez nadrzędną, kolejną sieć)? Trzeba jako root dodać nową trasę routingu (nie kasując starej) zleceniem:
route add -net 192.168.200.0 netmask 255.255.255.0 gw 192.168.0.1
Teraz klient o numerze np. 192.168.0.26 z sieci 192.168.0.0 (nie musimy tutaj podawać maski) wyśle wezwanie do Internetu na komputer-router (BRAMĘ) o adresie adres 192.168.0.1. Następnie w nowej sieci 192.168.200.0/255.255.255.0 będzie szukał informacji o kolejnej BRAMIE.

Powyższe zlecenia konfiguracyjne wykonywaliśmy na linuksowym routerze. Natomiast na linuksowym kliencie w domowej sieci, BRAMĘ ustawimy zleceniem:
route add default gw 192.168.0.1
(jeżeli łączymy się poprzez kartę sieciową opartą na eth0, nasz adres sieci to 192.168.0.xxx, a BRAMA to 192.168.0.1).

W przypadku konfigurowania routera dostępowego do Internetu, należy pamiętać o ustawieniu opcji masq za pomocą firewalla. Serwer dhcpd będzie narzucał IP klientom w domowej sieci.

 

*

 

Na koniec kilka dodatkowych informacji związanych z konfiguracją sieci. Należy wiedzieć, że w sieci ruch pakietów odbywa się pod opieką numerów IP. Oczywiście z czysto praktycznych powodów stosujemy także adresy słowne (domeny) np. adres 217.96.171.101 dzięku serwerom DNS jest także dostępny w sieci pod domeną pd100.gorzow.sdi.tpnet.pl. Plik /etc/resolv.conf (znany Ci już z konfiguracji SDI) zawiera informacje konieczne do odnajdywania nazw hostów z pomocą usługi DNS. W moim przykładzie wpisując adres pimpek zmusimy system do próby połaczenia z adresem pimpek.sdi.tpnet.pl . Jeżeli nie istnieje, to będzie dalej szukał innych domen (jeżeli w pliku resolv.conf po spacji dopisałeś inne domeny). Pozycja nameserver to adres IP serwera DNS. Oczywiście system umie także skorzystać z danych w pliku /etc/hosts . Aby narzucić systemowi kolejność odczytywania plików w trakcie zamiany nazw domenowych na IP, należy w pliku /etc/nsswitch.conf, w wierszu hosts: files dns ustawić kolejność: files (czyli /etc/hosts), dns (czyli /etc/resolv.conf).

 

*

 

Można zmienić nr MAC kart sieciowych - opis na sąsiedniej stronie.

 

*

 

Ciekawa stronka na temat narzędzi sieciowych: http://pl.docs.pld-linux.org/siec_narzedzia.html (mam ją w swoim archiwum).

 

*

 


 
twarogal@wp.pl

Wszelkie prawa są zastrzeżone, z wyłączeniem hobbystów, którzy umieszczają opracowania na stronach bez reklam. Dla hobbystów zawartość tej strony jest dostępna bez ograniczeń - używanie i przerabianie moich artykułów są jak najbardziej wskazane, ale na swoją odpowiedzialność.

Aby uniknąć zasysania całej witryny gorzow-wlkp.pl/linux za pomocą programów typu TeleportPro, WebCopier itd. informuję, że udostępniłem spakowaną wersję (w formacie RAR).

 




 

gorzow-wlkp.pl