Comandes de configuració

Aquí es mostren les comandes de l'entorn de consola i es farà referència a algunes eines de l'entorn gràfic.

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
      • 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

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.
Icona iDevice Configurar una interfície amb una adreça IP Estàtica i una adreça IP Virtual

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).
NOTA: La documentació s'enviarà al professor via mail en un fitxer adjunt amb format text pla. Tota la informació ha d'anar en un fitxer correctament etiquetada.