Configuración de interfaces de red en Ubuntu (Distros basados en Debian)

¡Hola a todos!

En el mundo GNU/Linux, cosas triviales como cambiar la configuración de red de una interfaz suele ser complicado por la falta del «Know how» (conocimiento fundamental al respecto), y que al fin y al cabo, son cosas fáciles, pero como dicen: «el que no sabe, es como el que no ve», totalmente cierto 😖… pero ahora todo esta a la vuelta de unos cuantos clic en el buscador para encontrar información como ésta 😌.


Generalidades

En todo sistema GNU/Linux, existe un comando básico llamado ifconfig; con él podemos ver la configuración de red actual, el nombre de las interfaces, MAC Address, dirección IP/máscara de subred, estadístico de uso, etc.

A veces, hay interfaces que no están «arriba» (activas), y con un simple ifconfig no se miran, por cuanto se puede usar:

ifconfig -a

Éste último para mostrar todas las interfaces (incluyendo las inactivas).


Configuración temporal de IP

Ahora, es posible también con ifconfig asignar ciertos parámetros de red a una interfaz pero éstas configuraciones son temporales… o sea, al reiniciar el equipo se pierde. Un ejemplo de cómo hacer esto podría ser:

sudo ifconfig enp1s0 x.x.x.x netmask y.y.y.y

Donde:

  • enp1s0 → Nombre de la interfaz a configurar (con el ifconfig -a podemos ver todas las interfaces, por ejemplo).
  • x.x.x.x → Dirección IP a asignar
  • netmask y.y.y.y → parámetro para asignar la máscara de subreb y la máscara respectiva (la típica: 255.255.255.0)

Puede ser útil para hacer pruebas o algo rápido, pero ya si queremos asignar una IP permanentemente, ya tendríamos que hacer otro procedimiento.


Configuración DHCP

En Ubuntu (y creo que en todas las distribuciones basadas en Debian), tenemos un archivo llamado /etc/network/interfaces , el cual es donde están las configuraciones referente a las interfaces de red.

Vamos a entrar entonces en dicho archivo con nuestro editor de texto favorito:

nano /etc/network/interfaces

Para ejemplo, vamos a configurar la interfaz enp1s0 para DHCP (configuración automática). Para esto, tendríamos que modificar (o agregar, si no esta…):

auto enp1s0
iface enp1s0 inet dhcp

La primera línea, indica que se debe de iniciar la interfaz al iniciarse el sistema operativo, y la segunda es para determinar la configuración que tendrá; en nuestro caso, como dhcp.

Si la interfaz está inactiva, la podemos «levantar» de la siguiente forma:

sudo ifup enp1s0

y debería de configurarse automáticamente los parámetros de red, si es que hay un servicio dhcp en la red a la cual esta conectada dicha interfaz.


Configuración manual (estática)

Ahora, si queremos configurar una IP estática y agregar otros parámetros de red, debemos de cambiar «dhcp» por «static» y agregar los parámetros necesarios. Siempre en /etc/network/interfaces, se modificaría o agregaría:

auto enp1s0
iface enp1s0 inet static 
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.2 192.168.1.3
dns-search ingdiaz.org

Con esto, estamos asignando la dirección IP (address), la máscara de subred (netmask), la puerta de enlace (gateway), los DNS’s (dns-nameservers) y el sufijo de dominio (dns-search). Se pueden agregar otros parámetros, como lo es network, broadcast, y otros… pero realmente, con los anteriores creo que son suficientes para que todo funciona bien.

Para que los cambios se apliquen, podemos usar los siguientes comandos:

sudo ifdown enp1s0
sudo ifup enp1s0

Y si con el ifconfig no miramos los cambios (si tenemos problemas…), también podríamos reiniciar el servicio networking así:

sudo service networking restart

Finalmente, solo para que quede un poco más completa la información, veamos una alternativa de configuración del DNS y del establecimiento de la puerta de enlace por defecto.


Otras configuraciones

resolv.conf – Configuración de DNS’s

Con la configuración del archivo /etc/network/interfaces tenemos ya todo configurado, pero también podemos asignar servidores DNS’s mediante el archivo /etc/resolv.conf

El archivo resolv.conf contiene directivas que especifican los dominios de búsqueda predeterminados. Es utilizado para completar un nombre de equipo consultado sin haber proporcionado el sufijo respectivo de dominio; también, contiene una lista de direcciones IP de servidores DNS disponibles para su resolución.

A continuación, un ejemplo del contenido del archivo /etc/resolv.conf:

search ingdiaz.org local.lan
nameserver 127.0.0.1
nameserver 8.8.8.8

Donde:

  • search → Para determinar el sufijo de búsqueda de dominio predeterminado. Por ejemplo, si se hace un nslookup pc1 y existe en el servidor DNS un registro pc1.ingdiaz.org (según el ejemplo de arriba), el sistema lo va a resolver sin problemas (complementa pc1 con .ingdiaz.org)
  • nameserver → Para determinar el o los servidores DNS’s (uno por cada línea)

Para ver más detalles sobre los servidores DNS’s asignados en éste archivo, se puede ejecutar:

systemd-resolve --status

route – Configuración de puerta de enlace por defecto

Con la configuración del archivo /etc/network/interfaces tenemos ya todo configurado, pero también podemos asignar una puerta de enlace por defecto manualmente mediante el comando route

Hablar de éste comando es algo complejo dado que, como su nombre lo indica, sirve para lo relacionado al enrutamiento del equipo (modificar la tabla de enrutamiento IP). Para efectos de ésta entrada, solo veremos cómo establecer una puerta de enlace por defecto. La línea de comando sería:

sudo route add default gw 192.168.1.1

Creo que no hay mucho que explicar aquí… Solo colocamos la dirección IP del gateway de nuestra red (router, firewall, o dependerá de su infraestructura) y ya.

Si queremos ver la la tabla de enrutamiento IP, lo podemos hacer con un simple:

route

y, entre la información de la tabla, aparecerá la puerta de enlace por defecto (default gateway) que hemos configurado.

Eso sería todo. ¡Saludos!

Comentarios por Facebook

comentarios

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*