Tabla de Contenidos
205.1 Basic networking configuration
Pertenece a LPI Topic 205: Network Configuration
- Weight: 3
- Description: Candidates should be able to configure a network device to be able to connect to a local, wired or wireless, and a wide-area network. This objective includes being able to communicate between various subnets within a single network including both IPv4 and IPv6 networks.
- Key Knowledge Areas:
- Utilities to configure and manipulate ethernet network interfaces
- Configuring basic access to wireless networks
- Terms and Utilities:
ipifconfigroutearpiwiwconfigiwlist
Direccionamiento IP
Las direcciones IPv4 (direccionamiento IP histórico) se expresan en 4 bytes. Contienen dos datos fundamentales: la dirección de red y la dirección de host (la máquina que se desea identificar).
Aunque el direccionamiento IP histórico ha previsto una segmentación implícita de redes según las clases A, B y C, la disociación entre la dirección de red y la dirección de host se expresa hoy en día con la máscara de subred.
La máscara de subred, expresada también en 4 bytes, se compone de tantos bits a 1 como bits se usen en la dirección para describir la dirección de red en una dirección IP. El resto de los bits se pone a 0.
Ejemplo de dirección IP y máscara de red asociada en decimal
- 192.168.1.5
- 255.255.255.0
Ejemplo de dirección IP y máscara de red asociada en binario
11000000.10101000.00000001.0000010111111111.11111111.11111111.00000000
En este ejemplo, se puede observar que los 24 primeros bits de la máscara son 1, lo que indica que los 24 primeros bits de la dirección IP representan la dirección de red y los 8 restantes la dirección de host. La dirección de red es, por lo tanto, convencionalmente expresada como 192.168.1.0 con todos los bits de la parte host inicializados a 0.
Ha aparecido una nueva forma de escribir la máscara: expresando cuántos bits a 1 tiene dicha máscara. La dirección IP se escribe entonces A.B.C.D/n, siendo n el número de bits a 1 de la máscara asociada a la dirección A.B.C.D. Es la notación CIDR (Classless Internet Domain Routing). La máscara se escribe en un solo número comprendido entre 0 y 32, y por lo tanto puede escribirse rápidamente y codificarse en un número reducido de bits en la memoria de los equipos.
Dirección IP y máscara en notación CIDR:
192.168.1.5/24
ifconfig
Comando que permite realizar y consultar la configuración básica de una interfaz de red.
En Debian pertenece al paquete net-tools. A día de hoy ifconfig se está reemplazando por ip (paquete iproute2)
Activación de una interfaz
ifconfig eth0 up
Desactivación de una interfaz
ifconfig eth0 down
Configuración de una interfaz
Si queremos cambiar la configuración de red de cierta interfaz:
ifconfig eth0 192.168.1.2 netmask 255.255.255.0
Esta configuración no es persistente. Se pierde con el reinicio. Para hacerlo permanente hay que indicarlo en el fichero /etc/network/interfaces.
Interfaces virtuales
Sobre un mismo dispositivo podríamos añadir direcciones IP distintas usando la nomenclatura de dos puntos:
ifconfig eth0:0 192.168.1.20 netmask 255.255.255.0
Visualización de las interfaces
Una interfaz:
ifconfig eth0
Todas la interfaces:
ifconfig -a
Interfaces activas:
ifconfig
Ejemplo de salida de ifconfig:
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.2.10 netmask 255.255.255.0 broadcast 192.168.2.255
inet6 fe80::a00:27ff:fedd:3798 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:dd:37:98 txqueuelen 1000 (Ethernet)
RX packets 2757 bytes 219645 (214.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1541 bytes 240732 (235.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
En versiones nuevas, el nombre de los dispositivos de red es diferente. Se utiliza el esquema Predictable Name para identificar las interfaces en términos de buses del hardware. Por ejemplo, enp0s3: en diría que es una tarjeta ethernet; p0 es el bus y s3 el puerto del bus al que está conectada la tarjeta.
Interfaz de red loopback
Es un dispositivo de red virtual que se utiliza para simular el tráfico de red entre procesos del mismo sistema.
También es útiles para hacer comprobaciones de redundancia, autodescubrimiento… Si no tenemos bien configurado el loopback, nos puede fallar la red porque algunas herramientas que utilizan esta interfaz para hacer comprobaciones del estado de la red fallarán.
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Se le asigna la dirección 127.0.0.1 y el nombre lo.
Todas las redes del tipo 127.x.x.x están reservadas para dispotivos loopback.
En el archivo /etc/hosts se le asigna el nombre de red localhost:
127.0.0.1 localhost 127.0.1.1 debian10
Según la configuración anterior, llamando tanto a localhost como debian10, nuestra máquina responderá.
route
Comando que permite crear y visualizar las rutas para las interfaces de nuestra máquina local.
Las rutas es la manera que tiene el sistema de saber a dónde enviar los paquetes (de dónde vienen y a dónde van). Para ello, el sistema mantiene una tabla de rutas donde se define la red a la que pertenece nuestra máquina y hacia dónde tiene que enviar los datos cuando van a otra red. Si nuestra máquina pertecene a la red 192.168.0.x y queremos enviar información a la 10.0.0.x, es preciso saber cómo enrutar esos datos. La puerta de salida de nuestro sistema es lo que se conoce como gateway. Por tanto, si queremos enviar de una red a otra, hay que definir cuál es el gateway de nuestro sistema.
Para ver las rutas actuales:
route
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default 10.0.2.2 0.0.0.0 UG 0 0 0 eth0 10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 link-local 0.0.0.0 255.255.0.0 U 1000 0 0 eth1 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
- Destination: red de destino
- Gateway: pasarela. Indica por dónde pasarán las peticiones que van a otra red diferente.
- Genmask: máscara de red
- Iface: interfaz que se va a usar.
Aunque puede haber diferentes gateways para diferentes redes, solo puede haber un gateway por defecto.
Si solo queremos ver direcciones IP y no nombres:
route -n
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.0.2.2 0.0.0.0 UG 0 0 0 eth0 10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth1 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
Creación de entrada loopback:
route add -net 127.0.0.1
Crea la ruta hacia la red 192.168.3.0 vía eth0:
route add –net 192.168.3.0 netmask 255.255.255.0 eth0
Es decir, todas las peticiones que vayan a la red 192.168.3.0 pasarán por la interfaz eth0.
Podemos ahorrarnos escribir la máscara de red si utilizamos la notación CIDR: route add -net 192.168.3.0/24 eth0
Eliminar el gateway por defecto:
route del default gw 10.0.2.2
Si eliminamos el gateway por defecto, no se podría salir a ninguna red
Añadir una ruta por defecto:
route add default gw 10.0.2.2
Eliminar una ruta:
route del –net 192.168.3.0 netmask 255.255.255.0 eth0
Interpretando la salida del comando route
| Flags | Descripción |
|---|---|
U | UP: la ruta está activa y es utilizable |
H | Host: indica ruta a un host destino |
G | Gateway: el destino está accesible a través de una puerta de enlace |
D | Dynamic: la ruta a sido configurada por un protocolo de enrutamiento |
! | El kernel ha rechado la ruta |
ARP
ARP (Address Resolution Protocol) es el protocolo responsable de encontrar la dirección de hardware (dirección MAC) que corresponde a una determinada dirección IP.
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.2.15 netmask 255.255.255.0 broadcast 10.0.2.255
inet6 fe80::a00:27ff:fe45:b8a7 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:45:b8:a7 txqueuelen 1000 (Ethernet)
RX packets 533 bytes 47832 (46.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 567 bytes 51428 (50.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
La parte ether indica la dirección MAC del dispositivo de red (08:00:27:45:b8:a7).
arp: comando que permite mostrar y administrar los valores almacenados en la cache ARP. En esta caché solo aparecerán las relaciones que se han tenido que realizar para que la máquina se conectase a otras máquinas. Según vayamos conectándonos a determinadas máquinas, se irá actualizando esa tabla. De esta manera acelerará la manera de encontrar dichas máquinas.
Salida del comando arp:
Address HWtype HWaddress Flags Mask Iface 192.168.2.1 ether 0a:00:27:00:00:04 C eth1 10.0.2.3 ether 52:54:00:12:35:03 C eth0 10.0.2.2 ether 52:54:00:12:35:02 C eth0
Opciones:
-n: Evita búsquedas DNS inversas al realizar una consulta-d: Borra una entrada de la caché ARP.-s: Añade una entrada a la caché ARP.-f: Fuerza la lectura del fichero/etc/ethers
Ejemplo eliminando una entrada:
arp -d 10.0.2.3
Añadir una entrada en la tabla ARP:
arp –s 192.168.1.41 08:00:27:3D:B5:1D
Eliminar una entrada de la tabla ARP:
arp –d 192.168.1.41
Mostrar la tabla ARP:
arp [-a | -e]
/etc/ethers
Este fichero permite la configuración de un gran número de asociaciones estáticas. Si sabemos que vamos a conectarnos a ciertas máquinas, lo definimos y aceleraríamos las conexiones.
El fichero /etc/ethers no existe por defecto. Si queremos hacer uso de él, debemos crearlo.
Estructura:
MAC1 DIRECCION_IP1 MAC2 DIRECCION_IP2 (...)
Ejemplo de fichero /etc/ethers:
08:00:27:3D:B5:1D 192.168.1.40 08:00:27:88:33:1B 192.168.1.41
Esta información la usará ARP.
ip
Comando que permite consultar y configurar los dispositivos de red y tablas de rutas. Busca sustituir los
comandos ifconfig, route y arp.
El comando ip pertenece al paquete iproute2
Mostrar dispositivos de red (como ifconfig):
ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:45:b8:a7 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic eth0
valid_lft 79228sec preferred_lft 79228sec
inet6 fe80::a00:27ff:fe45:b8a7/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:dd:37:98 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.10/24 brd 192.168.2.255 scope global eth1
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fedd:3798/64 scope link
valid_lft forever preferred_lft forever
Se puede abreviar con ip a
Ver el estado de las conexiones:
ip link show
Ejemplo:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 08:00:27:45:b8:a7 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 08:00:27:dd:37:98 brd ff:ff:ff:ff:ff:ff
Activación/Desactivación de un interfaz:
ip link set eth0 <up/down>
Configuración de una interfaz
ip addr show <dev>
Ejemplo:
ip addr add 192.168.1.42/24 dev eth0
ip addr del 192.168.1.45/24 dev eth0
Configuración de rutas
ip route show
default via 10.0.2.2 dev eth0 10.0.2.0/24 dev eth0 proto kernel scope link src 10.0.2.15 169.254.0.0/16 dev eth1 scope link metric 1000 192.168.2.0/24 dev eth1 proto kernel scope link src 192.168.2.10
Añadir ruta:
ip route add 10.10.20.0/24 via 192.168.50.100 dev eth0
Eliminar ruta:
ip route del 10.10.20.0/24
Añadir gateway por defecto:
ip route add default via 192.168.50.100
Consulta de tabla ARP:
ip neigh show
Ejemplo:
192.168.2.1 dev eth1 lladdr 0a:00:27:00:00:04 REACHABLE 10.0.2.3 dev eth0 lladdr 52:54:00:12:35:03 STALE 10.0.2.2 dev eth0 lladdr 52:54:00:12:35:02 STALE
iw
Herramienta similar a ip para gestionar dispositivos y redes inalámbricas.
Opciones:
dev: especifica el dispositivo wlanlink: muestra es estado de una redscan: busca en la red puntos de acceso disponiblesconnect: conecta a una red
Mostrar dispositivos inalámbricos:
iw dev
Conectar dispositivo inalámbrico a la red “mired”
iw dev wlan0 connect "mired"
wlan0 sería el nombre de la interfaz inalámbrica.
Buscar redes disponibles:
iw dev wlan0 scan
Comprobar el estado de la red:
iw dev wlan0 link
iwconfig
Comando que muestra la información y realiza la configuración de la interfaces inalámbricas. Equivale a ifconfig
iwconfig pertenece al paquete wireless-tools. Herramientas que se están reemplazando por iw.
Opciones:
mode: especifica el tipo de redchannel: especifica un canalessid: especifica una red inalámbrica
Conectarse a una red inalámbrica:
iwconfig wlan0 essid "mired"
Canal a utilizar:
iwconfig wlan0 channel 3
Tipo de red a utilizar:
iwconfig wlan0 mode Ad-Hoc
iwlist
Comando que busca las redes inalámbricas disponibles y nos muestra información sobre ellas.
iwlist wlan0 scanning
Tests
¿Podemos asignar 2 direcciones IPs a una misma interfaz de red?
Sí, utilizando la nomenclatura de los dos puntos:
ifconfig eth0:0 192.168.1.10
¿Qué ocurría si al visualizar la tabla de rutas de nuestra máquina observamos que tiene 2 gateways (puertas de enlace)?
No sería ningún problema si son gateways normales, es decir, que no son por defecto. Podemos tener tantos gateways como queramos.
¿Y si tiene 2 gateway (puertas de enlace) por defecto?
Habrá un conflicto de red. El sistema, al buscar el gateway por defecto, se va a encontrar dos diferentes y no sabrá qué hacer.
A network client has an ethernet interface configured with an IP address in the subnet 192.168.0.0/24. This subnet has a router, with the IP address 192.168.0.1, that connects this subnet to the Internet. What needs to be done on the client to enable it to use the router as its default gateway?
- Run
route add default gw 192.168.0.1 eth1(Solución). - Run
route add gw 192.168.0.1 eth1. - Run
ifconfig eth0 defaultroute 192.168.0.1. - Add
defaultroute 192.168.0.1to/etc/resolv.conf. - Run
route add defaultgw=192.168.0.1 if=eth0.
What is the command to add another IP address to an interface that already has (at least) one IP address? (Please specify two answer)
ifconfig eth0:1 192.168.1.2(Solución)ifconfig eth0 192.168.1.2ipconfig eth0:1 192.168.1.2ipconfig eth0 192.168.1.2ifconfig eth0:sub1 192.168.1.2(Solución)
