Co to jest interfejs sieciowy ? Konfigurowanie

Transkrypt

Co to jest interfejs sieciowy ? Konfigurowanie
Co to jest interfejs sieciowy ?
–
–
–
Najogólniej interfejsem sieciowym w systemach linux nazywamy
urządzenia logiczne pozwalające na nawiązywanie połączeń różnego
typu.
Należy jednak pamiętać iż mówiąc interfejs sieciowy nie mamy
zawsze na myśli karty sieciowej. Interfejsem sieciowym jest np.
pętla zwrotna (lo). Mogą nim być też tunele VPN lub inne
programy i urządzenia pozwalające na komunikację z lokalnym lub
zdalnym hostem.
Tak więc interfejs często jest reprezentacją sterownika karty
sieciowej w systemie ale może też być urządzeniem "wirtualnym"
które realizuje programowo pewne zadania.
Konfigurowanie interfejsu sieciowego może być wykonane na
wiele sposobów.
–
–
–
–
Podstawowym jest polecenie inconfig za pomocą którego możemy
ręcznie skonfigurować karty sieciowe bez konieczności
instalowania dodatkowego oprogramowania ani edytowania plików
konfiguracyjnych. Jest to polecenie standardowe systemów
linuxowych i powinniśmy je zawsze znaleźć w naszym systemie.
Bardzo często korzysta się z plików konfiguracyjnych (zależnie
od systemu operacyjnego mogą znajdować się w różnych miejscach i
mieć różną postać). W przypadku systemów bazujących na
dystrybucji Debian dostępne są skrypty uruchamiające oraz
zatrzymujące karty sieciowe ifup / ifdown używające plików:
/etc/network/interfaces
Narzędzia do konfigurowania kart sieciowych w środowisku
tekstowym lub graficznym. Przykładem może być netcardconfig.
Automatyczne pobranie ustawień sieci od serwera DHCP za pomocą
polecenia pump lub innego klienta dhcp.
Ponadto konieczne może być skonfigurowanie serwera DNS oraz
określenie bramy domyślnej za pomocą pliku /etc/resolv.conf oraz
polecenia route.
Konfiguracja za pomocą DHCP
–
–
–
DHCP (dynamic host configuration protocol) jest protokołem
automatycznego wykrywania ustawień sieci lokalnej oraz
pobierania adresu ip, maski, konfiguracji DNS oraz domyślnej
bramy.
DHCP pozwala więc na automatyczne konfigurowanie wszystkich
hostów sieci lokalnej z jednego punktu centralnego którym jest
server dhcp. Zamiast konfigurować stacje ręcznie i każdorazowo
dokonywać zmian możemy ustawienia przechowywać na serwerze.
Każdy klient DHCP musi co ustalony czas (np. 30 min) odnowić
swój adres IP w przeciwnym razie zostanie uznany za niedostępny
a adres może być nadany innemy hostowi.
Aby automatycznie pobrać ustawienia (w knoppixie) należy uruchomić
polecenie pump. Spowoduje to nadanie adresu ip, maski sieciowej,
domyślnej bramy (sprawdź poleceniem route, ifconfig), ustawień
pliku /etc/resolv.conf
Knoppix po starcie automatycznie uruchamia polecenie pump by
wykryć sieć.
Ręczne ustawienie sieci
Abu skonfigurować kartę sieciową należy wykonać polecenie ifconfig
z odpowiednimi parametrami. Składnia polecenia :
ifconfig interfejs opcje
np.
ifconfig eth0 down
ifconfig eth0 up POZOSTAŁE_OPCJE
Należy pamiętać aby podać odpowiednie adres ip oraz maskę
wynikające z konfiguracji naszej sieci.
Wykonanie polecenia ifconfig bez parametrów pokaże informacje o
aktywnych interfejsach sieciowych (bardzo użyteczne !!!).
Więcej szczegółów w podręczniku do polecenia
man ifconfig
Zadanie:
– zatrzymaj program pump jeśli jest włączony (poleceniem killall
pump lub pump -k)
– znajdź w dokumentacji polecenia ifconfig odpowiednie parametry
by skonfigurować kartę sieciową eth0 w następujący sposób:
– adres IP 192.168.1.(numer komputera przylepiony na monitorze)
– maska 255.255.255.0
– adres sieci 192.168.1.0
– adres rozgłoszeniowy 192.168.1.255
– sprawdź działanie karty poleceniem ping (wpisz adres IP sąsiada
który skończył już to zadanie)
– jeśli coś się nie uda zatrzymaj kartę i spróbuj ponownie
Ręczne określenie używanego serwera DNS
Powyższe czynności spowodują poprawne skonfigurowanie sieci aby
można w pełni korzystać z zasobów sieci konieczne jest
uruchomienie usługi rozwiązywania nazw domen (DNS). Aby tego
dokonać dokonujemy wpisów w pliku
/etc/resolv.conf
(man resolv.conf)
Plik powinien zawierać wpis podobny do poniższego
nameserver 192.168.1.200
Oczywiście adres należy zastąpić właściwym adresem serwera DNS.
Plik może zawierać również domeny przeszukiwania. Jeżeli mamy np.
domenę domowa.pl to możemy dodać wpis
search domowa.pl
który spowoduje że będzie można używać samych nazw hostów zamiast
pełnej nazwy domenowej. Zamiast pisać w przeglądarce
komputer3.domowa.pl albo ftp.domowa.pl będzie można używać samego
ftp lub komputer3. To udogodnienie będzie dostępne w każdym
programie. Jeżeli nazwa domenowa nie zostanie znaleziona w DNS to
komputer będzie starał się znaleźć adres poprzez doklejenie domeny
wyszukiwania (w naszym wypadku domowa.pl).
Zadanie:
– przywróć ustawienia sieci z DHCP włączając pump'a
– ustaw serwer dns na 10.0.0.200
– sprawdź jak
działa polecenie ping wp.pl
– ustaw serwery dns na 194.204.159.1 oraz 212.191.134.35
– sprawdź ponownie
Ręczne określenie bramy
Po skonfigurowaniu interfejsu możliwa jest komunikacja jedynie w
obrębie lokalnego fragmentu sieci. Aby możliwa była komunikacja z
innymi sieciami konieczne jest ustawienie domyślnej bramy, tj.
routera który odpowiada za przekazywanie naszych pakietów do
odległych sieci. Najczęściej w małych sieciach dostępny jest jeden
router. Do ustawiania routingu (zasad przekazywania pakietów)
korzysta się z polecenia route.
przykład:
route
Takie wykonanie pokazuje aktualną tablicę routingu. Tablica
zawiera kolejno adres sieci docelowej, adres routera do którego
przekazywać pakiety, maskę sieci, flagi informacyjne, kosz trasy
oraz interfejs sieciowy do którego przekazać pakiet.
Aby zdefiniować domyślną bramę wpisujemy polecenie
route add default gw 192.168.0.1
Podajemy oczywiście adres faktycznej bramy nie podany w
przykładzie. Takie ustawienie spowoduje że wszystkie połączenia z
komputerami z poza lokalnej sieci będą wykonywane za pośrednictwem
bramy domyślnej.
W takiej sieci komputery z podsieci 192.168.3.0 ustawią adres
swojej domyślnej bramy na 192.168.3.1, komputery z podsieci
192.168.2.0 ustawią adres 192.168.2.1. Na powyższym rysunku
widzimy że router posiada 3 karty sieciowe po jednej w
obsługiwanych podsieciach oraz jedną łączącą go z internetem za
pośrednictwem jego routera dostępowego. Tak więc router posiadał
by wpisy przekierowujące pakiety pomiędzy dwoma podsieciami oraz
domyślną bramę pod adresem 212.191.65.1
Więcej szczegółów w podręczniku
man route
Zadanie:
– przywróć ustawienia sieci z dhcp zatrzymując i uruchamiając
klienta pump.
– ustaw domyślną bramę na adres 10.0.0.200 (jeśli trzeba sprawdź w
dokumentacji potrzebne parametry by usunąć zbędne wpisy)
– sprawdź działanie sieci poleceniami ping itd.
Konfiguracja za pomocą skryptów ifup/ifdown
W pliku /etc/networking/interfaces znajdują się wpisy
konfiguracyjne interfejsów sieciowych. Żeby nie trzeba każdorazowo
wpisywać wszystkich parametrów polecenia ifconfig można skorzystać
z tego pliku.
Gdy interfejs posiada wpis w /etc/networking/interfaces możemy go
aktywować za pomocą polecenia
ifup NAZWA_INTERFEJSU
oraz wyłączyć
ifdown NAZWA_INTERFEJSU
czyli np.
ifup eth0
Zadanie:
– zapoznaj się ze składnią pliku (szczególnie sekcja INET
INTERFACES FAMILY oraz jej podsekcją Static Metod)
– dokumentacja dostępna jest poprzez wykonanie polecenia
man interfaces
– dodaj odpowiedni wpis do pliku interfaces by polecenie ifup eth0
powodowało
– podniesienie interfejsu eth0 z adresem 192.168.1.(numer
komputera + 100)
– maska sieciowa 255.255.255.0
– sieć oraz broadcast jak w poprzednim zadaniu
– Przetestuj konfigurację włączając interfejs poleceniem ifup eth0
a następnie wykonując polecenie ping do komputera sąsiada
– sprawdź też poleceniem ifconfig czy wszystko się udało
Dwa sposoby dostarczania pakietów.
W sieciach IP każdy komputer działa niejako jak router. Nawet nasz
windows posiada tablice routingu na podstawie której określa jak
dostarczyć konkretne pakiety. Istnieją dwa sposoby dostarczenia
pakietów.
1.Jeśli komputer z jakim chcemy się połączyć znajduje się poza
naszą siecią system wysyła pakiety do swojej bramy domyślnej.
2.Jeśli komputer znajduje się w tej samej sieci pakiety
dostarczane są bezpośrednio.
Pakiety IP dostarczane są poprzez internet na podstawie adresu
sieci IP. W chwili osiągnięcia sieci docelowej są dostarczane
bezpośrednio. Do takiego bezpośredniego dostarczania używany jest
protokół ARP oraz adresy fizyczne MAC (z warstwy łącza danych).
Adres fizyczny MAC jest podobny do adresy IP z tą różnicą że
posiada 6 oktetów i zapisuje się je szesnastkowo, np.
00:03:AD:0B:12:4E
– Adres fizyczny jest na stałe wpisany w każdej karcie
sieciowej. (można go zmieniać programowo i przykrywać czasowo)
– Początkowe oktety adresu sieciowego zarezerwowane są dla
poszczególnych producentów kart, pozostałe nadawane są kolejno
przez każdego z producentów. Adresy MAC są unikalne. Na całym
świecie nie powinny znaleźć się karty o tych samych adresach.
– Każdy pakiet IP podróżujący w sieci ethernet posiada nagłówek
ramki z adresem MAC nadawcy oraz odbiorcy.
– Karta sieciowa pomija wszystkie komunikaty które nie są
adresowane do niej (nie zawierają jej adresu MAC). Pozwala to
na zmniejszenie obciążenia systemu.
– Wszystkie karty sieciowe w naszym segmencie sieci odbierają
ten komunikat, przetwarza go jednak tylko karta adresata.
Dostarczanie bezpośrednie:
–
Jeżeli adres IP z którym chcemy się połączyć jest w tej samej
sieci co my oprogramowanie IP tłumaczy adres IP na odpowiedni
adres MAC. Tworzy ramkę ethernetową wpisując swój adres MAC,
adres odbiorcy oraz dane i wysyła komunikat w sieć.
Dostarczanie pośrednie:
–
Jeżeli chcemy wysłać pakiet IP do komputera spoza naszej
sieci, system operacyjny utworzy ramkę ethernet dodając nasz
adres MAC oraz adres MAC naszej bramy domyślnej a następnie
wyśle siecią. Brama odbierze komunikat ponieważ będzie do jej
karty sieciowej i na podstawie adresu IP adresata określi
dalszą drogę pakietu.
Skąd nasz komputer zna adresy MAC ?
–
–
–
Jeżeli nasz komputer nie komunikował się jeszcze z komputerem
o podanym IP system nie zna jego adresu MAC i nie wie do
jakiej karty zaadresować ramkę ethernet.
Aby uzyskać adres MAC komputera docelowego system wysyła
rozgłoszenie z zapytaniem "jaki adres MAC odpowiada temu
adresowi IP". Komputer posiadający ten adres IP odpowiada
przez co nasz system może od tej pory komunikować się
bezpośrednio. Protokół służący do wykrywania adresów MAC
nazwany jest ARP (address resolution protocos).
System operacyjny buforuje skojarzenia MAC <-> IP by nie
trzeba było za każdym razem rozgłaszać zapytania. Bufor ten
nazywany jest też arp cache (keszem arp).
To poco nam IP skoro już mamy adresowanie MAC ?
–
–
–
Jak widać adresowanie tego typu możliwe jest tylko w małych
szybkich sieciach
Nie można przecież rozgłosić zapytania o adres MAC na cały
świat !!
Nie było by też możliwe dostarczenie tego pakietu ponieważ
każdy router musiał by pamiętać wszystkie adresy MAC by
wiedzieć w jakim kierunku wysłać pakiet.
Możemy łatwo sprawdzić zawartość naszego arp cache poleceniem arp
Pokazuje ono znane obecnie powiązania MAC <-> IP. Wpisy trafiają
do cache dopiero gdy będziemy starali się nawiązać połączenie z
konkretnym komputerem albo on z nami.
Zadanie:
1.za pomocą polecenia ifconfig sprawdź swój adres ip
2.poproś sąsiada o jego adres IP
3.wykonaj polecenie arp by zobaczyć listę buforowanych skojarzeń.
4.wykonaj polecenie ping na adres komputera kolegi
5.ponownie wykonaj polecenie arp
Co się stało:
– Przed połączeniem oprogramowanie nie potrafiło nawiązać
–
–
–
–
–
komunikacji z komputerem kolegi. Nie znało jego adresu MAC i nie
potrafiło skonstruować odpowiedniej ramki ethernetowej.
W chwili wykonania polecenia ping system stwierdził że adres IP
należy do naszej podsieci i srawdził skojarzenie arp chace.
Nie posiadając wpisu wysłał zapytanie "kto ma taki adres IP"
Odebrał odpowiedź od komputera kolegi i umieścił ją w arp cache.
Kontynuował normalną pracę polecenia ping.
Do czasu wygaśnięcia wpisu każda kolejna próba połączenia z
komputerem kolegi będzie wykonywana na podstawie buforowanego
adresu MAC.
Dla ciekawskich:
– Zaraz po wykonaniu ćwiczenia mamy w arp cache skojarzenie dla
adresu kolegi
– Zobaczmy co się stanie jeśli kolega zmieni adres MAC w swojej
karcie za pomocą polecenia ifconfig z odpowiednimi parametrami
– Zobaczmy ci się stanie gdy kolega przywróci poprzedni adres
– Zobaczmy co się stanie gdy kolega zmieni adres IP pozostawiając
oryginalny adres MAC
– Zobaczmy też co się stanie gdy po kolejnej zmianie adresu IP u
kolegi to on wykona polecenie ping do nas.
Podczas sprawdzania używaj polecenia ping do wysyłania komunikatów
oraz polecenia arp do podglądania aktualnej tablicy arp cache.