CONFIGURAR LAS INTERFACES DE RED EN CENTOS 7
Configurar las interfaces de Red en Centos 7
La versión de CentOS 7 tiene algunos cambios respecto a las versiones anteriores, entre ellos incluye:
Nuevos comandos y formas de administrar el sistema o que las interfaces de red siempre estarán desactivadas por defecto. En este manual vamos a tratar de explicar como puedes configurar las interfaces de red de este novedoso sistema de CentOS.
Vamos a seguir cada uno de los pasos para poder configurar la interfaz de red, utilizando el terminal de líneas de comando SSH para acceder a este de forma remota. Si tienes el servidor contratado con cualquier proveedor es probable que no tengas acceso por SSH, por lo que deberías acceder al panel que te ofrece el proveedor mediante consola, utilidad que sí suelen tener todos ellos desde el propio panel del proveedor. Una vez hayas configurado la interface de red correctamente, si tienes instalado el servicio de SSH; podrás acceder de forma remota de forma habitual.
El primer paso. Identificar las interfaces de red de tu servidor
En versiones anteriores por lo general solo tenías que encontrar la interfaz de red llamada eth0 y cambiabas el número 0 por la interfaz de red que desearas, sin embargo en CentOS 7 los nombres de las interfaces son diferentes y es importante identificarlas, para ello puedes utilizar el comando ip add en el que solicitarás la dirección IP del sistema y en la salida del comando de mostrará el nombre de cada interfaz.
1. Ejecutamos el comando ip add en nuestra consola:
# ip add
lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
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
enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
Como podemos observar en pantalla, a la salida de este comando es posible que no veas ninguna interface eth0 o eth1 como en versiones anteriores de CentOS, en vez de esto verás secuencias como la del ejemplo “enp0s3″.
nanoEstos nuevos identificadores se crean en base a ciertas reglas y patrones que ahora se tienen en cuenta para nombrar los dispositivos de red, tal como se indica en en la documentación de RedHat 7: Networking_Guide -Consistent_Network_Device_Naming .
Una vez has identificado el nombre de la interfaz a configurar, podemos localizar el archivo correspondiente para proceder con la configuración de tu interface de red.
2. En siguiente paso a realizar, es localizar el archivo de configuración de lmna interfaz que vas modificar, por lo que debes ir la siguiente ruta: /etc/sysconfig/network-scripts/
# cd /etc/sysconfig/network-scripts/
3. Una vez ahí buscarás el archivo con el nombre que has localizado anteriormente con el comando “ip add” , en este ejemplo es enp0s3; y lo harássys con el comando “ls”
# ls
ifcfg-enp0s3
ifcfg-lo
...
4. Este archivo llamado ifcfg-enp0s3 es donde se encuentra la configuración de tu interfaz de red y lo debes editar con el comando “nano” pero con privilegios de root, así:
# su -
# nano ifcfg-enp0s3
5. Al editar el archivo tienes que poner atención en las opciones subrayadas con negrita que son las que te recomiendo modificar
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=enp0s3
UUID=b7... ...32a
ONBOOT=no
HWADDR=08:x:xx:xx:xx:A7
IPADDR0=
PREFIX0=
GATEWAY0=
DNS1=
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
Los parámetros anteriores deben ser configurados según lo que te indique el proveedor de internet o el administrador de la LAN, si es un servidor de prueba tu mismo puedes determinar una IP adecuada para tu red local. Te dejo un ejemplo de valores para la configuración de las opciones mencionadas (no copies esto tal cual, edita los valores correspondientes sin modificar el nombre de los parámetros):
BOOTPROTO=static
IPV6INIT=no
IPV6_AUTOCONF=no
ONBOOT=yes
IPADDR0=192.168.0.77
PREFIX0=24
GATEWAY0=192.168.0.1
DNS1=192.168.0.2
Una vez que modifiques los parámetros, si estás editando con el editor nano guarda los cambios mediante la combinación de teclas Ctrl+O + clic en tecla "Enter" y para terminar de editar y salir el editor usa la combinación de teclas Ctrl+X. Ahora te explico los parámetros que generalmente modifico:
BOOTPROTO determina el tipo de configuración que tiene la interfaz, puede ser none (ninguna), static (estática) o dhcp (asignación de ip dinámica por dhcp) syspor lo general en un servidor siempre se debe configurar como static.
IPV6INIT y IPV6_AUTOCONF indicas si deseas activar el protocolo IP versión 6 y que se autoconfigure, en el ejemplo seleccionamos que no lo usaremos y que no se configure.
ONBOOT si la interfaz de red que estás configurando debe de levantarse de forma automática cuando arranca el servicio network entonces debes configurar esta opción como “yes” de lo contrario el servidor arrancará y la interfaz permanecerá desactivada hasta que manualmente la actives. Recuerda que CentOS 7 siempre configura esta opción como “no” por lo que no tendrás conexión a la red por default en la interfaces de red.
IPADDR0 es la primera dirección IP de la interfaz, recuerda que puede haber varias.
PREFIX0 es el pefijo de red, antes llamado NETMASK de la primera IP, recuerda que puede haber varias.
GATEWAY0 es la puerta de enlace o la pasarela de la primera IP y puede haber varias.
DNS1 es la dirección IP del servidor de resolución de nombres de dominio
Probando tu Centos Network Config
Una vez que has guardado el archivo de configuración de red en CentOS 7 debes reiniciar las interfaces, generalmente las opciones para hacer esto era mediante el comando service, pero ahora ha cambiado en CentOS 7 y se hace con el comando systemctl.
6. Lo que tienes que hacer es desactivar el NetworkManager:
# systemctl stop NetworkManager
# systemctl disable NetworkManager
Te mostrará una salida como la siguiente, donde indica que el NetworkManager hasido removido.
rm '/etc/systemd/system/multi-user.target.wants/NetworkManager.service'
rm '/etc/systemd/system/dbus-org.freedesktop.NetworkManager.service'
rm '/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service'
7. Una vez hecho esto debes reiniciar el servicio de red
1 # systemctl restart network.service
8. Y en este momento debes tener activa tu interfaz de red con la ip que hayas configurado. Para verificar el estado de la interfaz de red ejecuta el comando ip add show, así:
# ip add show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
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: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:f7:c7:a7 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.77/24 brd 192.168.0.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fef7:c7a7/64 scope link
valid_lft forever preferred_lft forever
En la salida del comando “ip add show” debes observar que a diferencia del comando al inicio de este post, la interfaz de red ahora tiene asignada una IP y muestra el estado como “state UP” lo que indica que esta funcionando.
Hay algo importante que quiero mencionarte sobre el parámetro ONBOOT pues no solo se aplica cuando arranca el servidor, sino que también se aplica al arrancar el servicio network. Por lo anterior, si el parámetro llegara a estar configurado como “ONBOOT=no” al ejecutar el comando “systemctl restart network.service” la interfaz seguirá sin asignar una IP y parecerá que este comando no funciona. Si quieres levantar la interfaz con “ONBOOT=no” debes hacerlo manualmente con el comando “ifup enp0s3″ o deberás configurar a yes el parámetro ONBOOT y ejecutar de nuevo “systemctl restart network.service”.
9. Lo último que tienes que hacer para probar tu interfaz de red es hacer un ping hacia una ip que te responda y validar que hay comunicación, por ejemplo:
# ping 192.168.0.11
PING 192.168.0.11 (192.168.0.11) 56(84) bytes of data.
64 bytes from 192.168.0.11: icmp_seq=1 ttl=64 time=6.16 ms
64 bytes from 192.168.0.11: icmp_seq=2 ttl=64 time=1.40 ms
64 bytes from 192.168.0.11: icmp_seq=3 ttl=64 time=4.52 ms
64 bytes from 192.168.0.11: icmp_seq=4 ttl=64 time=1.49 ms
--- 192.168.0.11 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 1.403/3.396/6.161/2.032 ms
Para interrumpir el ping usa la combinación de teclas Ctrl+C y si tu salida de texto del comando ping te muestra los tiempos de respuesta como los anteriores (time=6.16 ms) entonces tu interfaz de red está funcionando. Por el momento éso es todo.