Fundamentos de Linux – Configurar una IP estática en CentOS
Versión 1.0
Este tutorial explica la configuración de una dirección IP estática (IPv4 e IPv6), el nombre de host y los servidores de nombres en CentOS. Para que sea compatible con los sistemas de escritorio y servidor, hacemos la configuración en el shell.
1 Nota Preliminar
Supongamos que estás trabajando en un centro de datos & tu jefe te pone una configuración mínima del servidor CentOS & que necesitas configurar en el entorno de ejecución. Sí es un poco laborioso, pero no es una tarea muy dura. En mi caso tengo un servidor CentOS tonto que fue instalado por alguien en su entorno de red & Quiero hacerlo funcional en mi entorno de IP estática. Supongamos que tengo una IP vacante 192.168.0.100 & La voy a implementar en mi entorno. Los datos de mi IP son los siguientes:
IPv4
- Dirección IP: 192.168.0.100
- Subred: 255.255.255.0
- Gateway: 192.168.0.1
- Dirección IP: 2001:db8::c0ca:1eaf
- Máscara de red 64
- Gateway 2001:db8::1ead:ed:beef
- Servidor de nombres 1: 8.8.8.8
- Servidor de nombres 2: 8.8.4.4
IPv-6
Servidores de nombres que resuelven el DNS
Los valores anteriores tienen que ser ajustados para su entorno de red local. Sólo los servidores de nombres que resuelven FNS pueden ser utilizados en la mayoría de las redes ya que estas direcciones IP pertenecen a los servidores de nombres públicos de Google.
2 Implementación
Haré una edición del archivo de configuración con el editor como vi. Pero puedes usar cualquier otro editor de shell como nano o joe en su lugar. El nombre del archivo para la primera tarjeta de red (eth0) es /etc/sysconfig/network-scripts/ifcfg-eth0
Primero haré una copia de seguridad de mi archivo original como /etc/sysconfig/network-scripts/ifcfg-eth0.bak & luego procederé a realizar los cambios en /etc/sysconfig/network-scripts/ifcfg-eth0
mv /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.bak
vi /etc/sysconfig/network-scripts/ifcfg-eth0
Cambiaré el archivo así:
#My IP description# IPv-4DEVICE="eth0"NM_CONTROLLED="yes"ONBOOT=yesHWADDR=20:89:84:c8:12:8aTYPE=EthernetBOOTPROTO=staticNAME="System eth0"UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03IPADDR= 2001:db8::c0ca:1eafNETMASK=255.255.255.0
Sólo hay que ajustar las líneas IPADDR y NETMASK. No cambie las otras líneas.
Para IPv6 sólo tiene que añadir las entradas de abajo:
vi /etc/sysconfig/network
NETWORKING_IPV6=yes
vi /etc/sysconfig/network-scripts/ifcfg-eth0
#IPv-6IPV6INIT=yesIPV6ADDR=2001:db8::c0ca:1eafIPV6_DEFAULTGW=2001:db8::1ead:ed:beef
3 Configuración de DNS
DNS se puede añadir en el fichero /etc/resolv.conf
vi /etc/resolv.conf
nameserver8.8.8.8nameserver8.8.4.4
Puedes añadir 2 o más líneas namserver. Tu sistema intentará las otras en caso de que el primer nameserver sea inalcanzable.
4 Hostname
En mi caso el hostname es server1.example.com para establecer el hostname, editaré el archivo /etc/hosts:
vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4192.168.0.100 server1.example.com server1::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
y el resolv.conf:
vi /etc/resolv.conf
NETWORKING=yesHOSTNAME=server1.example.comGATEWAY=192.168.0.1
y reinicia el servidor.
reboot
Comprueba tu nombre de host con el siguiente comando. El nuevo nombre de host se aplicará sólo después de reiniciar
nombre de host
5 Redes avanzadas e interfaces de red virtuales
Estoy usando CentOS Linux y me gustaría crear alias para eth0:0 para poder tener múltiples direcciones IP. Lo implementaré creando un archivo como el siguiente:
vi /etc/sysconfig/network-scripts/ifcfg-eth0:0
#IP Aliasing
DEVICE="eth0:0"BOOTPROTO="static"
HWADDR=20:89:84:c8:12:8aNM_CONTROLLED="no"ONBOOT="yes"TYPE="Ethernet"IPADDR=192.168.0.108NETMASK=255.255.255.0GATEWAY=192.168.0.1DNS1=8.8.8.8DNS1=8.8.4.4
Aquí he hecho el aliasing de IP para la IP 192.168.0.108, podría variar según tu requerimiento.
6 Servicios
Después de cualquier cambio en los archivos de red es necesario reiniciar los servicios de red de la siguiente manera:
/etc/init.d/network restart
Después de reiniciar el servicio puede comprobar los cambios como:
ifconfig
La salida confirmará los cambios realizados estáticamente. Será casi similar a esto:
root@server1:~# ifconfig
eth0 Link encap:Ethernet HWaddr 20:89:84:c8:12:8a
inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: 2001:db8::c0ca:1eaf/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:200197 errors:0 dropped:67 overruns:0 frame:0
PaquetesTX:69689 errores:0 dropped:0 overruns:0 carrier:0
colisiones:0 txqueuelen:1000
BytesRX:64103748 (64.1 MB) TX bytes:14106191 (14.1 MB)
eth0:0 Link encap:Ethernet HWaddr 20:89:84:c8:12:8a
inet addr:192.168.0.108 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:10365 errors:0 dropped:0 overruns:0 frame:0
TX packets:10365 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:875114 (875.1 KB) TX bytes:875114 (875.1 KB)
Nota Los valores anteriores serán diferentes en su caso.