Laborator 07 - Configurări de rețea

Cheat sheet

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

Suport laborator

Mașini virtuale

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.

  • Pentru acces de root, folosiți utilizatorul root și parola uso.
  • Fiecare mașină mai are și un utilzator normal, numit sheldon, respectiv leonard, ambele cu parola uso.

Introducere

Noțiuni generale

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ări de rețea

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:

  • statice
  • dinamice

În funcție de persistența pe care o au în cadrul sistemului:

  • temporare
  • permanente

Configurările temporare se realizează din linie de comandă utilizând diverse utilitare.

În această secțiune găsiți comenzile utilizate și câteva exemple, pentru mai multe detalii consultați paginile de manual sau suportul de laborator.

Pentru configurările temporare dinamice de rețea folosim 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

Interface state

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

Exerciții

Deschideți mașina virtuală cu Vmware Player!

1. Configurări dinamice temporare de rețea

  • Configurați dinamic, temporar, interfața de rețea eth1 a mașinii fizice:
Rezolvare
dhclient eth1

Pentru că această comandă modifică parametrii de rețea, trebuie lansată cu privilegii root.

  • Testați conectivitatea cu google.com, trimițând 5 mesaje ICMP (ping) succesive:
Rezolvare
ping -c 5 www.google.com

2. Descoperirea configurărilor de rețea

Inspectați configurările de rețea curente de pe mașina fizică. Afișați informațiile:

  • de nivel 2 - legatură de date (adresa MAC)
  • de nivel 3 - rețea (adresa IP, masca de rețea și gateway-ul implicit)
  • de nivel 7 - aplicații (server DNS).

pentru a schimba configurările de rețea, trebuie să fim 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ă?

  • Adresa MAC se mai numește și adresă fizică sau adresă hardware.
ifconfig

Folosiți route pentru a afla gateway-ul implicit.

route -n
  • Pentru acasă: de ce este nevoie de parametrul -n?

Inspectați fișierul /etc/resolv.conf pentru a descoperi adresa serverului DNS.

cat /etc/resolv.conf

3. Configurări statice temporare de rețea

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:

  • adresa IP 192.168.21.10
  • masca de rețea 255.255.255.0. Câți biți aparțin adresei de rețea în cazul acesta?
    • interfața nu este pornită. Va trebui să o puneți în starea UP.
Rezolvare
ifconfig eth0 192.168.21.10 netmask 255.255.255.0 up
  • gateway-ul implicit va fi 192.168.21.2
Rezolvare
route add default gw 192.168.21.2
  • serverul DNS va fi 8.8.8.8. Suprascrieți orice server existent.
Rezolvare
echo nameserver 8.8.8.8 > /etc/resolv.conf

Testați conectivitatea cu google.com, trimițând 5 mesaje ICMP succesive:

Rezolvare
ping -c 5 www.google.com

Reporniți mașina virtuală. S-au păstrat configurările?

4. Descoperirea configurărilor de rețea folosind iproute2

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.

  • Listați interfețele și IP-urilor lor folosind ip.
Rezolvare
ip address show
  • Afișați tabela de rutare folosind ip.
Rezolvare
ip route show
  • Faceți același lucru folosind variantele prescurtate ale acestor comenzi.
Rezolvare
ip a s
ip r s

5. Configurări persistente de rețea

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'.

  • Vizualizați structura fișierlui de configurări persistente de rețea:
Rezolvare
cat /etc/network/interfaces

6. Configurări dinamice permanente

Acest exercițiu se desfășoară pe mașina virtuală sheldon.

  • Inspectați configurația de pe mașina sheldon. Este interfața eth0 activă?
  • Configurați interfața eth0 astfel încât ea să fie activă la boot-are și să fie configurată prin DHCP.
    • Ce fișier conține configurarea interfețelor de rețea?
  • Reporniți mașina sheldon. Testați conectivitatea.
Rezolvare
$ cat /etc/network/interfaces
[...]
auto eth0 # activează interfața la boot-are
iface eth0 inet dhcp
[...]

Pentru a nu reporni calculatorul de fiecare dată când modificați fișierul, puteți folosi comanda: `/etc/init.d/networking restart`

7. Configurări statice permanente

Acest exercițiu se desfășoară pe mașina virtuală leonard.

  • Inspectați configurația interfeței eth0. Este interfața activă?
  • Configurați permanent interfața eth0:
    • adresa 192.168.21.80
    • netmask 255.255.255.0
    • gateway 192.168.21.2
    • Folosiți 8.8.8.8 ca nameserver. Atenție: nu folosiți același fișier în care ați configurat adresa IP și gateway-ul.
  • Porniți interfața eth0 folosind ifup. Cu ce diferă ifup de ifconfig?
  • Testați conectivitatea.
Rezolvare
$ 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

8. Vizualizarea tabelei ARP

Listați pe mașina fizică tabela ARP (neighbour table) folosind două comenzi diferite (o comandă clasică și o comandă din cadru iproute2).

Rezolvare
arp
arp -a
ip neighbour show
ip n s

9. Configurarea statică a unui nume

Acest exercițiu se desfășoară pe mașina fizică.

  • Aflați adresa serverului http://wikipedia.org/. Cel mai simplu mod este a folosi ping.
  • Adăugați o intrare în fișierul /etc/hosts astfel încât serverul Wikipedia să poată fi accesat cu numele wiki.
  • Testați conectivitatea folosind ping.
Rezolvare
$ 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

Nicio întrebare de examen sau test practic nu va conține noțiuni despre IPv6.

10. Folosirea iproute2. Configurarea de adrese IPv6

Folosiți iproute2 (comanda corespunzătoare se numește ip) pentru a configura următoarele adrese:

  • 2000::1/64 pe interfața vmnet8 a mașinii fizice
  • 2000::2/64 pe interfața eth0 a mașinii virtuale sheldon

Inspectați rutele din tabela de rutare IPv6 de pe fiecare mașină (folosiți tot ip) și testați conectivitatea folosind comanda ping6.

Pentru configurarea adreselor IPv6 în Linux, poate fi folosită atât suita iproute2 cât și ifconfig. Hint: configure ipv6

Rezolvare
Pe mașina fizică:
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

11. Nameserver Switch

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.

Cautati informatii despre nsswitch

Rezolvare
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

12. Configurarea unui tunel IPv6 peste IPv4

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

Rezolvare
Pe mașina virtuală 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
so-etti/laboratoare/lab7.txt · Last modified: 2013/04/26 00:07 by alexandru.radovici
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0