Comandes de configuració
ifconfig
- Ifconfig és la comanda que permet configurar interfícies de xarxa (NICs).
- Tot i que ens permet modificar els paràmetres de xarxa, el seu ús més comú és consultar els paràmetres de xarxa executant ifconfig sense paràmetres.
- Es mostraran diferents blocs que segueixen la nomenclatura de dispositius de xarxa (eth0,lo,vmnet...). Cada bloc correspont a un dispositiu de xarxa ja sigui físic o virtual.
- Ifconfig ens proporciona la següent informació:
- HWaddr: MAC del dispositiu
- inet addr: La adreça IP del dispositiu
- Bcast: La adreça de difusió de la subxarxa
- Mask: La mascara de la subxarxa
- inet6 addr: La adreça IPv6
- Scope: L'àmbit d'actuació de la interfície.
- Estadístiques de transmissió/recepció/colisions:
- RX packets
- TX packets
- Collisions
- RX bytes
- Exemples d'ús:
- Apagar una interfície de xarxa: ifconfig eth0 down (És equivalent a ifdown eth0).
- Encendre una interfície de xarxa: ifconfig eth0 up (És equivalent a ifup eth0).
- Configurar una targeta de xarxa amb ip estàtica: sudo ifconfig eth0 192.168.0.15 netmask 255.255.255.0 broadcast 192.168.0.255
- Establir el mode promiscu: ifconfig eth0 promisc
- Treure el mode promiscu: ifconfig eth0 -promisc
- Treure arp: ifconfig eth0 -arp
- Afegir arp: ifconfig eth0 arp
NOTA: Amb ifconfig no es pot configurar la interfície de xarxa amb dhcp, ni es pot establir el gateway. El gateway s'estableix amb la comanda route o mitjançant un paràmetre al fitxer /etc/network/interfaces.
IP aliasing
- IP aliasing és el procés de configurar més d'una adreça IP (conegudes com adreces IP virtuals o lògiques) a una targeta de xarxa física.
- S'utilitza en servidors virtuals, màquines virtuals i com eina per connectar una mateixa targeta de xarxa a diferents subxarxes lògiques.
- Es sobretot molt útil quan volem accedir temporalment a un dispositiu de xarxa que està fora del nostre rang de xarxa com, per exemple, si necessitem configurar un switch, router o qualsevol altre dispositiu que de fàbrica esta configurat amb una IP d'una xarxa diferent a la nostra.
- Per exemple:
- ifconfig eth0:1 192.168.0.16 broadcast 192.168.0.255 netmask 255.255.255.0
NOTA IMPORTANT: TOTS els canvis realitzats amb ifconfig no són canvis permanents. Al reiniciar l'ordinador es restableixen els paràmetres establerts als fitxers de configuració (P.ex. en sistemes Debian el fitxer /etc/network/interfaces).
ifup
- Arranca una interfície de xarxa. La configuració de la interfície de xarxa serà segons l'establert al fitxer /etc/network/interfaces.
- És una drecera de la comanda equivalent amb ifconfig.
- Exemple: sudo ifconfig eth0 up i sudo ifup eth0:1
- Si la interfície no apareix al fitxer interfaces la comanda ens donarà el següent error: Ignoring unknown interface eth=eth0:1. Pot donar aquest error inclús quan la targeta existeix però no esta al fitxer interfícies.
- Cal tenir en compte el funcionament el funcionament d'udev que assigna noms d'interfícies de xarxa segons la MAC en casos especials com:
- Discs durs extraibles: El mateix sistema operatiu funcionant en diferents màquines idèntiques però que cada targeta de xarxa té la seva MAC
- Màquines virtuals: Cal també tenir en compte el tema de la MAC.
- Imatges de disc: Si utilitzem eines com partimage o Ghost, tindrem sistemes iguals però cadascú un altre cop amb la seva MAC.
- Per exemple en el cas dels discs durs extraibles, udev ens assignarà una ethX on x es diferent per a cada màquina segons la seva MAC. Pot ser que aquesta ethX no estigui al fitxer interfaces!!!. Si passa això hi han dos possibilitats:
- No tenir Network-Manager: Per exemple amb Ubuntu Server. Aleshores la targeta de xarxa no es configurarà durant l'arrancada del sistema
- Tenir Network-Manager: Aleshores network manager s'encarregarà de configurar la interfície de xarxa.
- Si la interfície ja esta configurada ens avisarà: ifup: interface eth0 already configured
- Un altre error pot ser uan si que hi ha una entrada per a la interfície (en aquest cas eth0) però no existeix a nivell de hardware o no és la eth0.
- Amb el paràmetre -a podem arrancar totes les interfícies del sistema al mateix temps, com per exemple, sudo ifup -a.
ifdown
- Atura una interfície de xarxa: sudo ifdown eth0
- És una dreçera de la comanda equivalent amb ifconfig: sudo ifconfig eth0 down
- Amb el paràmetre -a podem apagar totes les interfícies de xarxa al mateix temps: sudo ifdown -a
NOTA: Cal parar molta atenció a no aturar les interfícies de xarxa en servidors remots al quals ens connectem via SSH. Aquesta comanda ens impediria l'accés a la màquina i per tant obligaria a desplaçar-nos fins al DATACENTER per solucionar l'error.
route
- La comada route permet mostrar o manipular la taula de rutes ip de la màquina.
- Igual que passa amb la comanda ifconfig, el seu ús més habitual és mostrar la taula de rutes, executant route sense paràmetres, per exemple: route
Kernel IP routeing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
-
Si interpretem línia a línia: 192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
- Aquesta línia s'encarrega de les adreces de xarxa local i ens indica que la ruta per arribar a totes les adreces de xarxa local (192.168.1.0 | rang: 192.168.1.1-254) és *.
- L'asterisc representa que no cal passar per cap node|router|gateway per arribar a una destinació local o, el que és el mateix, que les màquines amb adreça local estan connectades directament entre elles a nivell d'enllaç.
-
Si interpretem línia a línia:
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
- Aquesta línia s'encarrega de la resta d'adreces (default).
- El que ens indica és que el primer node pel qual hem de passar per assolir qualsevol adreça IP és el node amb IP 192.168.1.1.
- Aquesta màquina és la que anomenen Gateway|pasarel•la o router.
- Per tant, la forma més senzilla de consultar el nostre gateway és amb la comanda route.
- La taula de rutes d'una màquina es compon de dues parts. Hi ha una part fixa|estàtica que es conserva al reiniciar l'ordinador i un part cache que emmagatzema rutes temporals.
- Podem veure totes dues taules amb la comanda: route -CFvee
- La cache s'omple a mesura que s'utilitzen recursos de xarxa.
- El fitxer que emmagatzema físicament la taula de rutes actual és /proc/net/route
- Exemples de manipulació de la taula de rutes:
- route add -net 127.0.0.0: Afegeix la entrada normal de loopback (normalment ja ho tenim configurat així)
- route add -net 192.56.76.0 netmask 255.255.255.0 eth0:Afegeix una ruta a la xarxa 192.56.76.x a través de la targeta de xarxa eth0. La màscara de classe C 255.255.255.0 no és necessària perquè la xarxa 192.56.76.0 és de classe C.
- route add default gw gateway-machine-name: Aquesta comanda configura un gateway. La passarel•la ha de ser accessible per xarxa local o sinó caldrà afegir una ruta estàtica fins l'encaminador.
- Per tal de tenir la línia de la taula de rutes següent de l'exemple anterior (default 192.168.1.1 0.0.0.0 UG 0 0 0 eth1), hauríem d'executar: route add default gw 192.168.1.1 eth0
- Per esborrar-lo: route del default gw 192.168.1.1 eth0
- La següent comanda elimina una ruta de la taula de rutes: route del -net 10.207.161.
Missatges d'error de la comanda route
- Els missatges d'error són una mica críptics. Anem a veure com funcionen...
- Hi ha dos tipus:
- SIOCDELRT: és un missatge d'error que succeïx quan s'està esborrant una ruta (DELeting RouTe)
- SIOCDELRT: és un missatge d'error que succeïx quan s'està afegint una ruta (ADDing RouTe)
- Errors típics:
- IOCADDRT: Network is unreachable
- Per exemple la comanda sudo route add default gw 1.2.3.4
- Pot donar aquest error si el gateway 1.2.3.4 no està directament connectat al mateix segment de xarxa que la màquina on executem aquesta comanda.
- IOCADDRT: File exists
- S'està afegint una ruta que ja existeix.
- SIOCADDRT: No such device
- S'està ometent el paràmetre gw
- Per exemple en la comanda route add -net 10.2.2.76/24 10.1.1.22 és incorrecta.
- Correctament seria route add -net 10.2.2.76/24 gw 10.1.1.22.
-
SIOCDELRT No such process
- S'està intentant esborrar una ruta que no existeix.
- Llisteu les rutes amb sudo route -n i comproveu quin és l'error que esteu cometent.
- SIOCADDRT: Operation not supported by device
-
- S'està ometen el paràmetre la gw:
- Per exemple la comanda route add -net 172.23.24.128/25 és incorrecta
- Correctament seria route add -net 172.23.24.128/25 gw 10.1.1.22
- SIOCADDRT: Operation not permitted
- No s'està executant route com a superusuari. Poseu el sudo davant.
- SIOCADDRT: Invalid argument
- Exemples incorrectes:
- route add -net 10.2.2.0 gw 10.1.1.254
- route del -net 172.23.0.0
- route add -net 10.2.2.0 gw 10.1.1.254
- Falta la màscara. Correcte:
- route add -net 10.2.2.0 netmask 255.255.255.0 gw 10.1.1.254
- route add -net 10.2.2.0/24 gw 10.1.1.254
- Exemples incorrectes:
- IOCADDRT: Network is unreachable
NOTA: És important recordar que de la mateixa manera que succeïx
amb ifconfig, les rutes afegides amb la comanda route es perden al
reiniciar o al apagar la interfície de xarxa. Per fer-les permanents hi
ha que introduir les rutes en el fitxer /etc/network/interfaces.
NOTA: Es recomana utilitzar la comanda ip per configurar rutes estàtiques en lloc de route.
ip route
- S'utilitza per configurar les rutes i substitueix a route.
- Forma part del paquet iproute2.
- Per exemple la comanda: sudo route add -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.1.20
- És equivalent a: sudo ip route add dev eth0 to 192.168.10.0/24 via 192.168.1.20
ip address
- S'utilitza per a:
- Fer llistat d'adreces IP assignades a interfaces: ip address show o ip address show dev eth0
- Afegir IPs: ip address add 192.168.99.37/24 brd + dev eth0
- Esborrar IPs: ip address del 192.168.99.37/24 brd + dev eth0
- Esborrar totes les IP d'un dispositiu: ip address flush
ipcalc
- Ipcalc és una eina que donada una ip i la seva màscara calcula les IPs de boradcast, xarxa, Cisco wildcard Mask, el rang de màquines, el tipus de xarxa i altres informacions interessants.
- Si no s'especifica cap màscara, s'utilitza la màscara per defecte (255.255.255.0 o 24 en notació CIDR).
- La sortida per pantalla és amb colors. Els colors ens permeten per exemple identificar els primers bits que corresponent a cada tipus de xarxa (A,B,C).
- Exemples d'ús:
- ipcalc 192.168.0.1
- ipcalc 192.168.0.1/24
- Ipcalc és molt útil per al càlcul de subxarxes (per fer subnetting).
- Per exemple dividir una xarxa de màscara 24 en 4 subxarxes de màscara 26 podem utilitzar: ipcalc 192.168.0.1/24 26
- També es pot utilitzar a l'inrevés, per fer supernetting: ipcalc 192.168.0.1/24 23
hostname
- La comanda hostname ens proporciona el nom de la màquina.

El següent esquema simula la xarxa de l'institut:
Objectiu: Configurar la màquina Server-PT (en successives pràctiques es configuraran els altres hosts).
Descripció: El Server-PT tindrà dues IPs:
-
La primera serà una IP estàtica (192.168.0.NNN) de la LAN de l'institut (192.168.0.0).
- El número NNN te'l proporcionarà el professor.
- El Router-PT funciona com a passarel·la per la connexió a internet.
-
La segona serà una IP virtual (172.MM.0.1) d'una xarxa privada de classe B.
- La configuració es realitzarà mitjançant la tècnica ip aliasing, posant les dades de forma similar a la ip estàtica.
- La passarel·la es configurarà de la següent forma: gateway x.x.x.x, ja que, de moment, no hi haurà accés a internet a través de la interfície virtual.
Comentaris:
- L'activitat es realitzarà mitjançant l'edició i modificació del fitxer /etc/network/interfaces i no usant les comandes.
- Cada alumne tindrà una xarxa diferent, indicada per les lletres MM: per exemple l'alumne_1 tindrà la xarxa 172.16.0.0, l'alumne_2 tindrà la xarxa 172.17.0.0,...
Documentació a lliurar:
- Contingut del fitxer /etc/network/interfaces.
- Sortida de la comanda ifconfig.
- Sortida de la comanda route -n.
- Comanda ifconfig per afegir la ip estàtica a la interfície (recorda que no has d'usar aquesta comanda per configurar-la).
- Comanda ip address per afegir la ip virtual a la interfície (recorda que no has d'usar aquesta comanda per configurar-la).