Redes

Utilidades de red

Existen varias herramientas que nos ayudan a trabajar con redes:

# Ping - comprueba la conexión con un hosts y si está acttivo
ping -c 4 google.com # Con el -c 4 el número de veces que se ejecuta el ping

# Traceroute - identifica la ruta que se ha recorrido para llegar a un host
traceroute google.com

# Netstat - muestra los puertos abiertos en el sistema
netstat -l

# ARP - muestran la tabla ARP del sistema que actúa como una cache.
arp -a # Muestra la relación entre direcciones IP y direcciones MAC

Configuración de una red - Comando IP

Con el comando ip podemos alterar la configuración de una interfaz de red. Para ello hay múltiples opciones de este comando que debemos conocer previamente:

Listar las interfaces de red, información y estado:

ip addr

# O su versión corta
ip a

Ver la configuración de una interfaz de red:

ip addr show ens33

# O su versión corta
ip a s ens33

Habilitar o deshabilitar una interfaz de red:

#Habilitar
ip link set ens33 up

#Deshabilitar
ip link set ens33 down

El estado de una interfaz de red lo podríamos ver tras el state de la configuración de la interfaz marcado como UP o DOWN.:

ip a s ens33
ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:15:5d:cc:35:ff brd ff:ff:ff:ff:ff:ff
inet 172.17.71.94/20 brd 172.17.79.255 scope global eth0
	valid_lft forever preferred_lft forever
inet6 fe80::215:5dff:fecc:35ff/64 scope link
	valid_lft forever preferred_lft forever

Asignar una dirección IP a una interfaz de red

Para asignar una dirección IP a una interfaz de red debemos usar el comando ip addr add:

ip addr add <IP>/<MASCARA> dev <INTERFACE>

#Por ejemplo:
ip addr add 192.168.1.56/255.255.255.0 dev ens33
#o
ip addr add 192.168.1.56/24 dev ens33

También podríamos añadir la dirección de broadcast:

ip addr add <IP>/<MASCARA> broadcast <BROADCAST> dev <INTERFACE>

# O su versión corta
ip a a <IP>/<MASC

Comprobando la puerta de enlace

Para comprobar si una interfaz de red tiene una puerta de enlace activa podemos usar el comando ip route show:

ip route show

También podemos obtener la información de enrutamiento a una IP particular usando:

ip route get <IP>

Configuración de una red - NetworkManager

Antes de comenzar, vamos a parar el servicio ‘network-manager’ para que no interfiera con nuestra configuración. Este servicio es el encargado de gestionar las redes. Esto lo podemos hacer con el comando:

systemctl stop network-manager

Para configurar una red en Ubuntu Server tendremos que crear un fichero llamado 01-netcfg.yaml en la carpeta /etc/netplan. El fichero especifica por cada red si queremos utilizar DHCP, dirección IP manual (en caso de no usar DHCP), gateays y servidores DNS nameservers. Ejemplo (obviar las líneas que comienzan por # ya que son comentarios para explicar el fichero):

network:
  version: 2
  renderer: NetworkManager
  # Se especifiaca cada una de las redes que queremos configurar
  ethernets:
    # Ejemplo de red con DHCP que recibirá la dirección IP automáticamente
	ens33:
	  dhcp4: yes
	  dhcp6: yes
	  nameservers:
		addresses: [8.8.8.8, 8.8.4.4]
	# Ejemplo de una red con IP manual
	ens38:
	  dhcp4: no
	  dhcp6: no
	  addresses: [192.168.1.120/24]
	  # Se especifica la puerta de enlace. IP del router.
	  gateway4: 192.168.1.1
	  nameservers:
	    addresses: [8.8.8.8, 8.8.4.4]

Una vez terminado de editar el fichero, tenemos que aplicar los cambios con el comando:

netplan apply

Finalmente, volveríamos a arrancar el servicio ‘network-manager’ para que los cambios surjan efecto:

systemctl start network-manager

Última modificación March 6, 2022: Añadido como configurar redes en linux (c8a845b)