|
1.
Automatyczne wykrywanie sieci
Może po prostu działa?
Jeżeli komputer jest podłączony do sieci Ethernet z serwerem DHCP, jest bardzo
prawdopodobne, że połączenie zostało skonfigurowane automatycznie. Dzięki temu
od razu można skorzystać z wielu narzędzi sieciowych dostępnych na płycie
instalacyjnej, takich jak ssh, scp, ping, irssi,
wget czy links.
Jeśli sieć jest skonfigurowana prawidłowo, polecenie /sbin/ifconfig
powinno wyświetlić oprócz lo także inne urządzenia, na przykład eth0:
Listing 1.1: Wynik /sbin/ifconfig przy poprawnej konfiguracji sieci |
# /sbin/ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:BA:8F:61:7A
inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::50:ba8f:617a/10 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1498792 errors:0 dropped:0 overruns:0 frame:0
TX packets:1284980 errors:0 dropped:0 overruns:0 carrier:0
collisions:1984 txqueuelen:100
RX bytes:485691215 (463.1 Mb) TX bytes:123951388 (118.2 Mb)
Interrupt:11 Base address:0xe800
|
Opcjonalnie: Konfigurowanie proxy
Jeśli korzystamy z proxy, musimy skonfigurować je w czasie instalacji. Jest to
bardzo proste, wystarczy zdefiniować odpowiednią zmienną, zawierającą informacje
o serwerze proxy.
W większości przypadków można zdefiniować tę zmienną przy pomocy jego domeny.
Pokażemy to na przykładzie serwera proxy.gentoo.org i portu 8080.
Listing 1.1: Definiowanie serwerów proxy |
# export http_proxy="http://proxy.gentoo.org:8080"
# export ftp_proxy="ftp://proxy.gentoo.org:8080"
# export RSYNC_PROXY="rsync://proxy.gentoo.org:8080"
|
Jeżeli proxy wymaga podania hasła i nazwy użytkownika, należy użyć następującej
składni:
Listing 1.1: Dodawanie nazwy i hasła użytkownika do zmiennej |
http://username:password@proxy.gentoo.org:8080
|
Testowanie sieci
Jeśli chcemy się upewnić, że pakiety dochodzą do celu, możemy spróbować
pingowania któregoś z serwerów DNS (z pliku /etc/resolv.conf) lub
dowolnie wybranej strony WWW.
Listing 1.1: Testowanie sieci |
# ping -c 3 www.gentoo.org
|
Działa? Jeśli tak, można pominąć resztę tego rozdziału i bezpośrednio przejść do
(przygotowania dysków). Jeśli nie, trzeba
będzie zapoznać się z dalszą częścią tego tekstu.
1.
Automatyczne konfigurowanie sieci
Niektóre media instalacyjne pozwalają na skorzystanie z narzędzia
net-setup (dla typowych lub bezprzewodowych sieci) jeśli sieć nie
zadziała od razu, pppoe-setup (dla użytkowników ASDL) albo pptp
(dla użytkowników PPTP - dostępne tylko dla architektury x86, amd64, alpha, ppc
oraz ppc64).
W przypadku gdy nośnik instalacyjny nie zawiera żadnego z wymienionych narzędzi
lub sieć wciąż nie funkcjonuje prawidłowo, należy przejść do akapitu Ręczna konfiguracja sieci.
Domyślnie: Używanie net-setup
Najprostszą metodą konfigurowania sieci (poza automatyczną) jest skorzystanie ze
skryptu net-setup:
Listing 1.1: Uruchamianie skryptu net-setup |
# net-setup eth0
|
Następnie należy udzielić odpowiedzi na serię dotyczących różnych parametrów
sieci. Po zakończeniu wszystko powinno być skonfigurowane. Sprawdzamy połączenie
tak jak opisano to wyżej. Jeśli wszystko działa, pora zacząć instalację
Gentoo. Można pominąć resztę tego rozdziału i przejść od razu do (przygotowywania dysków).
Jeśli sieć wciąż nie działa, przechodzimy do ręcznej
konfiguracji sieci.
Alternatywnie: Używanie RP-PPPoE
Jeśli do połączenia z Internetem potrzebne jest PPPoE, należy skorzystać z
programu ppp nagranego na naszej płycie instalacyjnej. Skrypt
pppoe-setup służy do konfiguracji połączenia. Zostaniemy zapytani o
urządzenie sieciowe podłączone do modemu adsl, nazwę użytkownika i hasło oraz o
IP serwerów DNS i o to czy potrzebujemy podstawowego firewalla.
Listing 1.1: Używanie ppp |
# pppoe-setup
# pppoe-start
|
Jeśli coś pójdzie nie tak, należy sprawdzić czy w
/etc/ppp/pap-secrets lub /etc/ppp/chap-secrets podano
prawidłową nazwę użytkownika i hasło oraz upewnić się, że wybrano właściwe
urządzenie sieciowe. Jeśli nie zostało ono wykryte, konieczne będzie ręczne
załadowanie odpowiednich sterowników. W takim wypadku należy przejść do ręcznej konfiguracji sieci, gdzie szerzej to omówimy.
Jeżeli wszystko zadziałało przechodzimy do (przygotowania dysków).
Alternatywnie: Używanie PPTP
Jeśli potrzebna jest obsługa PPTP, należy skorzystać z pptpclient
zamieszczonego na płycie instalacyjnej. Najpierw jednak należy dodać prawidłową
nazwę użytkownika i hasło do /etc/ppp/pap-secrets lub
/etc/ppp/chap-secrets:
Listing 1.1: Edytowanie /etc/ppp/chap-secrets |
# nano -w /etc/ppp/chap-secrets
|
Następnie konfigurujemy /etc/ppp/options.pptp:
Listing 1.1: Edytowanie /etc/ppp/options.pptp |
# nano -w /etc/ppp/options.pptp
|
Po zakończeniu uruchamiamy program pptp (razem z niemożliwymi do
ustawienia w options.pptp opcjami), aby połączyć się z serwerem:
Listing 1.1: Łączenie z serwerem dial-in |
# pptp <server ip>
|
Kolejny etap instalacji to (przygotowywanie
dysków).
1.
Ręczne konfigurowanie sieci
Ładowanie odpowiednich modułów sieciowych
W czasie uruchamiania płyty instalacyjnej system spróbuje wykryć sprzęt i
załadować odpowiednie sterowniki. W większości przypadków wykrywanie przebiega
prawidłowo, czasem jednak trzeba ręcznie skorygować niektóre ustawienia.
Jeśli zawiódł net-setup lub pppoe-setup, możliwe, że nie została
wykryta karta sieciowa. Oznacza to, że trzeba będzie ręcznie załadować
odpowiedni sterownik.
Do wyświetlenia listy modułów kernela ze sterownikami dla urządzeń sieciowych
używamy polecenia ls:
Listing 1.1: Szukanie modułów |
# ls /lib/modules/`uname -r`/kernel/drivers/net
|
Gdy znajdziemy odpowiedni sterownik dla karty sieciowej, ładujemy go przy pomocy
polecenia modprobe:
Listing 1.1: Ładowanie modułów kernela za pmocą modprobe |
# modprobe pcnet32
|
Aby sprawdzić czy karta sieciowa została wykryta, korzystamy z polecenia
ifconfig. Prawidłowy rezultat powinien wyglądać mniej więcej tak:
Listing 1.1: Sprawdzanie dostępności karty sieciowej. Wynik pozytywny |
# ifconfig eth0
eth0 Link encap:Ethernet HWaddr FE:FD:00:00:00:00
BROADCAST NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
|
Następujący błąd oznacza, że karta nie została wykryta:
Listing 1.1: Sprawdzanie dostępności karty sieciowej. Wynik negatywny |
# ifconfig eth0
eth0: error fetching interface information: Device not found
|
Jeżeli w komputerze znajduje się kilka kart sieciowych, będą one miały nazwy
(kolejno) eth0, eth1, itp. Należy się upewnić czy karta sieciowa,
której chcemy używać działa poprawnie i pamiętać o używaniu poprawnego
nazewnictwa przy wykonywaniu czynności opisanych w dalszej części tego
dokumentu. W tym Podręczniku zakładamy, że karta sieciowa nazywa się
eth0.
Jeśli karta jest już prawidłowo rozpoznawana przez system, można ponownie użyć
programów net-setup lub pppoe-setup (tym razem powinny zadziałać)
lub skorzystać z poniższych instrukcji, aby połączenie skonfigurować ręcznie.
Następnie przechodzimy do jednej z następujących części:
Używanie DHCP
DHCP (Dynamic Host Configuration Protocol) umożliwia automatyczne otrzymywanie
informacji o parametrach sieci (adresu IP, maski sieciowej, adresów broadcast,
bramy, serwerów nazw, etc.). Niestety z metody tej można skorzystać tylko wtedy,
gdy w sieci działa serwer DHCP (lub gdy ISP udostępnia taką usługę). Jeśli tak
jest, można automatycznie skonfigurować połączenie przy pomocy dhcpd:
Listing 1.1: Używanie dhcpcd |
# dhcpcd eth0
# dhcpcd -HD eth0
|
Jeśli to zadziała (sprawdzamy pingując jakiś serwis internetowy, np. Google), wszystko jest gotowe i można pominąć
resztę tego rozdziału i przejść bezpośrednio do (przygotowywania dysków).
Przygotowanie bezprzewodowego dostępu
Uwaga:
Program iwconfig dostępny jest wyłącznie na płytach instalacyjnych dla
architektur x86, amd64 oraz ppc. Opis instalacji dla pozostałych płyt znajduje
się na stronach
projektu linux-wlan-ng.
|
Jeśli używamy karty bezprzewodowej (802.11), musimy ją odpowiednio
skonfigurować. Aby poznać aktualne ustawienia skorzystamy z polecenia
iwconfig. Rezultat wygląda zwykle tak:
Listing 1.1: Wyświetlanie aktualnych ustawień interfejsów kart do połączeń bezprzewodowych |
# iwconfig eth0
eth0 IEEE 802.11-DS ESSID:"GentooNode"
Mode:Managed Frequency:2.442GHz Access Point: 00:09:5B:11:CC:F2
Bit Rate:11Mb/s Tx-Power=20 dBm Sensitivity=0/65535
Retry limit:16 RTS thr:off Fragment thr:off
Power Management:off
Link Quality:25/10 Signal level:-51 dBm Noise level:-102 dBm
Rx invalid nwid:5901 Rx invalid crypt:0 Rx invalid frag:0 Tx
excessive retries:237 Invalid misc:350282 Missed beacon:84
|
Uwaga:
Nazwa urządzenia karty bezprzewodowej to wlan0 zamiast eth0.
Uruchomienie polecenia iwconfig bez dodatkowych parametrów pozwoli na
poznanie nazwy odpowiedniego urządzenia.
|
W większości przypadków wystarcza zmodyfikowanie tylko dwóch opcji: ESSID (czyli
nazwy sieci bezprzewodowej) oraz klucza WEP. Jeśli wyświetlone ESSID i Access
Point są prawidłowe dla punktu dostępu i nie korzystamy z WEP, połączenie już
działa. Aby zmodyfikować ESSID lub dodać klucz WEP, skorzystamy z następujących
poleceń:
Uwaga:
Jeśli nasza sieć bezprzewodowa zabezpieczona jest kluczem WPA lub WPA2 będziemy
musieli użyć programu wpa_supplicant. Więcej informacji na ten temat
znajdziemy w rozdziale (Konfiguracja sieci
bezprzewodowej) podręcznika Gentoo Linux.
|
Listing 1.1: Modyfikowanie ESSID i/lub dodawanie klucza WEP |
# iwconfig eth0 essid GentooNode
# iwconfig eth0 key 1234123412341234abcd
# iwconfig eth0 key s:some-password
|
Można zatwierdzić te ustawienia ponownie wykonując iwconfig. Jeżeli sieć
już działa, należy przejść do konfiguracji opcji na poziomie IP, opisanych w
kolejnym paragrafie, zatytułowanym (Terminologia
sieciowa) lub wykorzystać omówiony wcześniej program net-setup.
Terminologia sieciowa
Uwaga:
Znając adres IP, broadcast, maskę sieciową i serwery nazw, można pominąć tę
część i od razu przejść do Używania ifconfig i
route.
|
Jeżeli wszystkie powyższe zabiegi zawiodły, można jeszcze ręcznie skonfigurować
sieć. Nie jest to bardzo trudne. Opiszemy najpierw różne parametry sieci,
których znajomość jest konieczna. Opowiemy także o tym czym jest brama,
do czego służy maska sieciowa, jak ustala się adres broadcast i do
czego potrzebne są serwery nazw.
Komputery w sieci są identyfikowane na podstawie adresów IP (Internet
Protocol address). Każdy z nich jest kombinacją czterech liczb od 0 do 255. Cóż,
przynajmniej my tak to widzimy. W rzeczywistości jest to ciąg 32 bitów (zer i
jedynek). Pokażemy to na przykładzie:
Listing 1.1: Przykład adresu IP |
Adres IP (liczby): 192.168.0.2
Adres IP (bity): 11000000 10101000 00000000 00000010
-------- -------- -------- --------
192 168 0 2
|
Adres IP musi być unikalny dla każdego komputera, przynajmniej w obrębie jednej
sieci. Aby oddzielić maszyny w sieci i poza nią, IP podzielono na dwie części:
część sieci oraz część hosta.
Podział zapisany jest za pomocą maski sieciowej, czyli zbioru zer
poprzedzonego zbiorem jedynek. Ta część adresu, którą można odwzorować w
jedynkach jest częścią sieci, reszta to część hosta. Zazwyczaj maskę zapisujemy
jak zwykły adres IP.
Listing 1.1: Przykład oddzielenia sieci/hosta |
Adres IP: 192 168 0 2
11000000 10101000 00000000 00000010
Maska: 11111111 11111111 11111111 00000000
255 255 255 0
+--------------------------+--------+
Sieć Host
|
Innymi słowy, 192.168.0.14 wciąż jest częścią naszej przykładowej sieci, ale
192.168.1.2 już nie.
Adres broadcast składa się z części sieci takiej samej jak reszta
komputerów oraz samych jedynek w części hosta. Każdy komputer nasłuchuje jego
adresu IP, gdyż służy on do nadawania pakietów rozgłaszających.
Listing 1.1: Adres broadcast |
Adres IP: 192 168 0 2
11000000 10101000 00000000 00000010
Broadcast: 11000000 10101000 00000000 11111111
192 168 0 255
+--------------------------+--------+
Sieć Host
|
Aby "surfować" po Internecie, trzeba wiedzieć, który komputer udostępnia z nim
połączenie. Komputer ten nazywamy bramą. To zwykły komputer ze zwyczajnym
adresem IP (np. 172.168.0.1).
Wcześniej napisaliśmy, że każdy komputer ma własny adres IP. Aby móc się z nim
połączyć za pomocą nazwy, potrzebna jest usługa tłumacząca domeny (czyli na
przykład dev.gentoo.org) na adresy IP (np. 64.5.62.82). Nazywa się
ona serwerem nazw. Aby z niej skorzystać dodajemy ją do pliku
/etc/resolv.conf.
Czasami brama może służyć również jako serwer nazw. Jeśli nie, to trzeba wpisać
adresy DNS-ów dostarczanych przez ISP.
Podsumowując: potrzebne są następujące informacje:
| Parametr |
Przykład |
| Adres IP |
192.168.0.2 |
| Maska |
255.255.255.0 |
| Broadcast |
192.168.0.255 |
| Brama |
192.168.0.1 |
| Serwer(y) nazw |
195.130.130.5, 195.130.130.133 |
Używanie ifconfig i route
Konfiguracja sieci składa się z trzech etapów. Najpierw przypisujemy sobie adres
IP za pomocą ifconfig. Potem konfigurujemy bramę programem route.
Na końcu wpisujemy adresy serwerów nazw do /etc/resolv.conf.
Aby przypisać komputerowi adres IP, należy oprócz niego znać również broadcast i
maskę. Następnie wykonuje się następujące polecenie, zastępując wpisy
${IP_ADDR} swoim IP, ${BROADCAST} adresem broadcast i
${NETMASK} maską:
Listing 1.1: Używanie ifconfig |
# ifconfig eth0 ${IP_ADDR} broadcast ${BROADCAST} netmask ${NETMASK} up
|
Bramę ustawiamy poleceniem route. Wpis ${GATEWAY} należy zastąpić
jej adresem IP:
Listing 1.1: Używanie route |
# route add default gw ${GATEWAY}
|
Następnie otwieramy swoim ulubionym edytorem (w przykładzie skorzystamy z
nano) plik /etc/resolv.conf:
Listing 1.1: Tworzenie /etc/resolv.conf |
# nano -w /etc/resolv.conf
|
I wypełniamy go jak w przykładzie. Zamieniamy przy tym ${NAMESERVER1}
oraz ${NAMESERVER2} adresami serwerów nazw:
Listing 1.1: Przykładowy /etc/resolv.conf |
nameserver ${NAMESERVER1}
nameserver ${NAMESERVER2}
|
Na koniec testujemy sieć pingując jakiś serwer internetowy (na przykład Google). Jeśli wszystko działa, można
rozpocząć instalację Gentoo, rozpoczynając od (Przygotowywania dysków).
|