Comandă | Descriere scurtă |
---|---|
dhclient | cofigurare dinamică temporară |
ifconfig | afișarea configurărilor/configurarea unei inerfețe de rețea |
route | afișarea/configurarea tabelei de rutare |
ip | afișarea configurărilor/configurarea unei inerfețe de rețea, rutelor, etc |
ifup | trecerea unei interfețe în starea UP |
ifdown | trecerea unei interfețe în starea DOWN |
Laboratorul folosește două mașini virtuale, sheldon și leonard. Ambele au instalat Debian GNU/Linux 5.0. Această distribuție nu vine cu sudo
instalat.
root
, folosiți utilizatorul root
și parola uso
.sheldon
, respectiv leonard
, ambele cu parola uso
.IP = Internet Protocol
Se folosește referitor la versiunea 4, în care adresa IP are 32 biți. Aceștia în mod obișnuit sunt scriși în formatul:
X.X.X.X
unde X este un număr reprezentat pe 8 biți, cu valori în intervalul [0, 255].
De exemplu, adresa:
11000000 10101000 00000010 01100101
se scrie ca
192.168.2.101
O adresă IP trebuie precizată împreună cu masca de rețea aferentă.
Masca de rețea este reprezentată pe 32 de biți, este formată dintr-o serie de biți de 1 urmată de o serie de biți de 0. Orice număr care are biți de 1 după primul bit de 0 nu este o mască de rețea. Masca de rețea se scrie fie în formatul X.X.X.X fie în formatul /Y unde Y este în intervalul [0, 32], reprezentând numărul de biți de 1 din masca de rețea.
De exemplu o mască de rețea /24 se reprezintă ca:
11111111 11111111 11111111 00000000
echivalent cu:
255.255.255.0
O adresă IP include adresa de rețea și adresa stației din rețeaua respecitvă. Pentru a obține adresa de rețea facem ȘI
(AND) pe biți între adresa IP și masca de rețea.
De exemplu, pentru adresa 192.168.2.101/24 adresa de rețea este:
11000000 10101000 00000010 01100101 & 11111111 11111111 11111111 00000000 = 11000000 10101000 00000010 00000000
echivalent cu:
192.168.2.0
Adresa IP este utilizată la Nivelul 3.
MAC = Media Access Control
MAC este un identificator unic asociat unei interfețe de rețea. Adresa MAC este utilizată la Nivelul 2.
DNS = Domain Name System
Cu ajutorul DNS se asociază un nume de domeniu cu o adresă de IP.
Configurările unei adrese pot fi catalogate după mai multe criterii.
În funcție de felul în care se obține adresa IP, pot fi:
În funcție de persistența pe care o au în cadrul sistemului:
Configurările temporare se realizează din linie de comandă utilizând diverse utilitare.
dhclient
urmat de numele interfeței.
root@uso:~# dhclient eth0
Pentru configurările temporare statice putem folosi fie ifconfig
fie
ip
.
Un exemplu de configurare folosint ifconfig
:
root@uso:~# ifconfig eth0 10.2.10.2 netmask 255.255.255.0
Un exemplu de configurare folosint ip
:
root@uso:~# ip address add 10.2.10.2/24 dev eth0
Configurările permanente se realizează editând anumite fișiere specifice.
Fișierul utilizat pentru a configura interfețele de rețea este
/etc/network/interfaces
Un exemplu pentru configurarea permanentă dinamică este:
# The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet dhcp
Un exemplu pentru configurarea permanentă statică este:
# The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 10.15.1.20 netmask 255.255.255.0 gateway 10.15.1.1
Fișierul utilizat pentru a configura serverele de DNS este /etc/resolv.conf
. Aceasta conține intrări de tipul
nameserver adresa_ip
De exemplu:
nameserver 8.8.8.8
Pentru a asigura conectivitatea, o interfață trebuie să fie în starea UP
. Pentru a o aduce în această stare folosim ifup
.
root@uso:~# ifup eth0
Pentru a aduce o interfață în starea DOWN
folosim ifdown
root@uso:~# ifdown eth0
eth1
a mașinii fizice:dhclient eth1
root
.
ping -c 5 www.google.com
Inspectați configurările de rețea curente de pe mașina fizică. Afișați informațiile:
root
. Pentru a le inspecta, în general, nu este nevoie.
Folosiți ifconfig
pentru a afla adresa MAC, adresa IP, și masca de rețea. Ce interfață este cea relevantă?
ifconfig
Folosiți route
pentru a afla gateway-ul implicit.
route -n
-n
?
Inspectați fișierul /etc/resolv.conf
pentru a descoperi adresa serverului DNS.
cat /etc/resolv.conf
Acest exercițiu se desfășoară pe mașina virtuală sheldon
.
Configurarea rețelei este o operațiune critică sistemului, deci are nevoie de privilegii de root
Configurați static temporar mașina virtuală cu următorii parametri:
UP
.ifconfig eth0 192.168.21.10 netmask 255.255.255.0 up
route add default gw 192.168.21.2
echo nameserver 8.8.8.8 > /etc/resolv.conf
Testați conectivitatea cu google.com, trimițând 5 mesaje ICMP succesive:
ping -c 5 www.google.com
Reporniți mașina virtuală. S-au păstrat configurările?
ifconfig, route și arp sunt comenzi clasice de configurarea rețelei, dar fac parte dintr-un pachet ce nu mai este menținut în prezent. iproute2
este pachetul modern ce vine să înlocuiască utilitarele clasice
Folosiți comanda ip
pentru a descoperi configurațiile mașinii fizice.
ip address show
ip route show
ip a s ip r s
Setările făcute până acum sunt temporare deoarece se pierd la repornirea sistemului. Pentru a face configurări persistente, ne folosim de fișierul '/etc/network/interfaces
'.
cat /etc/network/interfaces
Acest exercițiu se desfășoară pe mașina virtuală sheldon
.
sheldon
. Este interfața eth0
activă?eth0
astfel încât ea să fie activă la boot-are și să fie configurată prin DHCP.sheldon
. Testați conectivitatea.$ cat /etc/network/interfaces [...] auto eth0 # activează interfața la boot-are iface eth0 inet dhcp [...]
Acest exercițiu se desfășoară pe mașina virtuală leonard
.
eth0
. Este interfața activă?eth0
:eth0
folosind ifup
. Cu ce diferă ifup
de ifconfig
?$ cat /etc/network/interfaces [...] auto eth0 iface eth0 inet static address 192.168.102.80 netmask 255.255.255.0 gateway 192.168.102.2 [...] $ cat /etc/resolv.conf nameserver 8.8.8.8 $ ifup eth0 # ifup folosește informațiile din /etc/network/interfaces
Listați pe mașina fizică tabela ARP (neighbour table) folosind două comenzi diferite (o comandă clasică și o comandă din cadru iproute2).
arp arp -a ip neighbour show ip n s
Acest exercițiu se desfășoară pe mașina fizică.
ping
./etc/hosts
astfel încât serverul Wikipedia să poată fi accesat cu numele wiki
.ping
.$ host wikipedia.org # alternativ, se putea folosi ping wikipedia.org has address 208.80.152.2 $ echo "208.80.152.2 wiki" >> /etc/hosts $ ping wiki
Folosiți iproute2 (comanda corespunzătoare se numește ip
) pentru a configura următoarele adrese:
Inspectați rutele din tabela de rutare IPv6 de pe fiecare mașină (folosiți tot ip
) și testați conectivitatea folosind comanda ping6
.
ifconfig
. Hint: configure ipv6
root@uso:~# ip -6 address add 2000::1/64 dev vmnet8
Pe mașina virtuală sheldon
:
sheldon:~# ip -6 address add 2000::2/64 dev eth0 sheldon:~# ping6 2000::1
Adaugati in /etc/hosts
urmatoarea intrare 127.0.0.1 google.com
. In acest moment comanda ping google.com
va da ping la 127.0.0.1
. Fără a realiza alte modificări în /etc/hosts
, configurati sistemul astfel incat ping google.com
sa va raspunda cu adresa IP reala a google.com.
student@uso:~# cat /etc/hosts 127.0.0.1 google.com ... sudent@uso:~# ping -c 1 google.com PING google.com (127.0.0.1) 56(84) bytes of data. 64 bytes from localhost.localdomain (127.0.0.1): icmp_req=1 ttl=64 time=0.036 ms
Fișierul de configurare pentru nsswitch este /etc/nsswitch.conf
. Se modifică linia ce conține hosts:
astfel încât dns
să fie prima opțiune.
student@uso:~$ cat /etc/nsswitch.conf ... hosts: dns files mdns4_minimal [NOTFOUND=return] mdns4 ... student@uso:~$ ping -c 1 google.com PING google.com (46.108.1.167) 56(84) bytes of data. 64 bytes from google-cache.adnettelecom.ro (46.108.1.167): icmp_req=1 ttl=54 time=9.69 ms
Configurați un tunel IPv6 peste IPv4 între mașina Sheldon și Leonard. Mașina Leonard are doar o adresă IPv4 pe interfața eth0 (nu adăugați o adresă IPv6).
Tunetul se va crea între interfețele eth0 cu adresele IPv4 de pe fiecare dintre cele două mașini. Capetele celor două tunele vor avea adresele 2001::1/64, respectiv 2001::2/64.
http://tldp.org/HOWTO/Linux+IPv6-HOWTO/conf-ipv6-in-ipv4-point-to-point-tunnels.html
sheldon
:sheldon:~# ip tunnel add sit1 mode sit ttl 64 remote 192.168.99.135 local 192.168.99.134 sheldon:~# ip link set dev sit1 up sheldon:~# ip address add 2001::1/64 dev sit1 sheldon:~# ip -6 route add 2001::/64 dev sit1 metric 1
Pe mașina virtuală leonard:
leonard:~# ip tunnel add sit1 mode sit ttl 64 remote 192.168.99.134 local 192.168.99.135 leonard:~# ip link set dev sit1 up leonard:~# ip address add 2001::2/64 dev sit1 leonard:~# ip -6 route add 2001::/64 dev sit1 metric 1 leonard:~# ping6 2001::1