Xarxa. howto 3

Última modificació: agost de 2015

Per a tenir xarxa a un equip, necessitem

-Kernel amb suport xarxa

-Nettools

-Ipforwardm (si volem firewall i IP masquerade)

-Netkit base (Ftp, telnet)

Per una màquina Linux ens fa falta:

-IP host

-IP network

-IP broadcast

-IP network

-Router adress (gateway)

-DNS server

Broadcast

Per a una classe C, normalment es x.x.x.255 (per podria ser x.x.x.0 depenent de la xarxa).

Si fem un broadcast a la subxarxa serà x.x.x.255

Si fem un broadcast a tothom, 255.255.255.255 (per exemple ping 255.255.255.255)

Interfície de loopback

Per configurar la interface de loopback farem:

ifconfig io 127.0.0.1

route add -host 127.0.0.1 io

Per asignar IP a una targeta de xarxa

Configurar i habilitar una interfície de xarxa:

ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up

Si volen llistar totes les interfícies, estiguin habilitades o no:

ifconfig -a

Deshabilitar una targeta:

ifconfig eth0 down

DNS

L'arxiu de resolució és /etc/resolv.conf

Exemple de línies que podem trobar:

domain maths.wu.au

search maths.wu maths.wu.au.jar

nameserver 192.168.10.1

    • La 1a línia indica que si no diem nom de domini, que afegeigi aquest alnom de màquina.
    • La 2a línia indica que buscarem primer la màquina a maths.wu i després amaths.wu.au.jar
    • La 3a línia indica una màquina que serveix noms

Fitxer /etc/host.conf

Aqui configurarem el comportament del name resolver. Normalment cont:

order hosts,bind

multi on

Que vol dir que primer buscarà a /etc/hosts abans de cercar un nameserver

Fitxer /etc/hosts

Aqui diem IP i noms de màquines locals o remotes.

És el recurs més antic per a la resolució de noms

Routing

Routing (enrutatge) es el procés mitjanant el qual un host amb múltiples tarjes de xarxa (una per cada xarxa a la qual s'ha d'accedir) decideix a

on enviar els datagrames IP que rep.

Per treballar el sistema fa servir una taula d'enrutatge, que conté camps de tres columnes com a minim:

    • la 1a es l'adreça de desti
    • la 2a es l'interfcie a la qual ha de ser enrutat el datagrama
    • la 3a es opcionalment un altre màquina que pot portar el datagrama en el seguent pas

Podem veure la taula d'enrutatge amb qualsevol dels seguents comandaments:

  • cat /proc/net/route
  • /sbin/route
  • netstat -t

Commandament route

El comandament route treballa sobre la taula d'enrutatge. Un exemple, la nostre màquina te la IP 192.168.1.10 i sabem que hi ha un router a 192.168.1.1 que dona sortida a Internet i a altres xarxes.

Primer configurem la nostra IP:

ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up

Ruta per a arribar a la nostra xarxa (les distribucions modernes generen aquestes rutes automàticament):

route add -net 192.168.1.0 netmask 255.255.255.0 eth0

Executant això afegim una ruta que diu que per arribar al nostre segment de xarxa (1.0) sortim per la eth0. El -net vol dir que es un enrutatge a xarxa; si haguessim posat -host hauriem fet un enrutatge a una màquina determinada.

Ruta per defecte (porta de sortida):

route add default gw 192.168.1.1 eth0

Especifiquem que per a arribar a qualsevol altre xarxa o maquina no especificada abans ho fem per la 192.168.1.1

Una altre exemple: Imaginem que el router esta connectat a tres subxarxes: la 1.0, la 2.0 i la 3.0 a part de la seva sortida a Internet.

La seva taula la construiriem amb les seguents instruccions:

route add -net 192.168.1.0 netmask 255.255.255.0 eth0

route add -net 192.168.2.0 netmask 255.255.255.0 eth1

route add -net 192.168.3.0 netmask 255.255.255.0 eth2

route add default ppp0

192.168.1.0 192.168.2.0

eth0 eth0

ppp0 ----------------ppp0

ppp1 ppp1

\ /

\ /

\ /

\ /

\ /

ppp0 ppp1

eth0

192.168.3.0

Taula d'enrutatge de una màquina a la xarxa 192.168.1.0:

route add -net 192.168.1.0 netmask 255.255.255.0 eth0

route add -net 192.168.2.0 netmask 255.255.255.0 ppp0

route add -net 192.168.3.0 netmask 255.255.255.0 ppp1

Així va bé, pero que passa si falla el router ppp0 de la xarxa 1.0? No es podria arribar a la xarxa 2.0.

Però si ho mirem be, es podria arribar passant a traves de la 3.0 Aquest tipus de problemes son els que resol el protocol RIP (routing information protocol).

Routed permet resoldre aquest problemes. Routed es un dimoni que automàticament cerca tots els ports de xarxa actius i cerca i escolta missatges que arribin a cada port i amb aquesta informació actualitza la taula d'enrutatge del host.

Fitxer /etc/services

Asocia nom amb un port de servei. La sintaxi és:

name port/protocol aliases #comment

Podem editar l'arxiu per veure com és.

Fitxer /etc/inetd.conf

Fitxer de configuració del dimoni inetd. Diu a inetd que ha de fer quan rep una petició de connexió per un servei determinat. Li diu quines connexions ha d'acceptar i quin dimoni de xarxa ha d'engegar i com.

La sintaxi és:

service socket_type proto flags user server_path server_args

A service indicarem un dels serveis que tinguem a l'arxiu /etc/services

Fitxer /etc/protocols

Mapeja protocols id numbers contra noms de protocol. La sintaxi es:

protocolname number aliases

Fitxer /etc/networks

Semblant al host, pero per xarxes. La sintaxi es:

networkname networkadress

Mesures de seguretat

La primera mesura es no deixar serveis oberts que no haguem de fer servir.

Podem colocar un # devant dels serveis que vulguem desactivar al inetd.conf

Podem desactivar serveis tals com shell, login, exec, uucp, ftp, finger, netstat,systat

Fitxer /etc/ftpusers

Usuaris que no deixem entrar via FTP. Exemple:

root, uucp, bin, mail

Fitxer /etc/securetty

A quin teminal pot fer login el root

Fitxer /etc/host.allow

Tcpd llegeix aquest fitxer i el host.deny abans de donar el seu servei

Fitxer /etc/hosts.deny

Es el fitxer de configuració de /usr/bin/tcpd que diu quin usuaris no tenen accés als serveis a la nostra màquina. Normalment trobarem all:all que vol dir que no deixem treballar a cap usuari i habilitem els usuaris que volguem a /etc/host.allow

Fitxer /etc/host.equiv

Permet accedir a la nostra màquina a màquines o usuaris que nosaltres volem, sense contrasenya. Només per a entorns segurs.