viernes, 11 de marzo de 2016

LINUX-CENTOS 7.x-ejercicios para entender las interfaces de red

En el siguiente lab vamos a comprender cómo el sistema lee y ejecuta las configuraciones de los scripts de las interfaces de red.

Archivos de configuración de network

https://www.centos.org/docs/5/html/Deployment_Guide-en-US/ch-networkscripts.html

Deacuerdo a la documentación oficial de CentOs, los siguientes archivos son parte de la configuración de las interfaces de red:

/etc/hosts
/etc/resolv.conf
/etc/sysconfig/network
/etc/sysconfig/network-scripts/ifcfg-

obtener info de la interfaces de red configuradas

[root@localhost ~]# /sbin/ifconfig 
enp0s3: flags=4163  mtu 1500
        inet 192.168.56.103  netmask 255.255.255.0  broadcast 192.168.56.255
        inet6 fe80::a00:27ff:fee4:3f08  prefixlen 64  scopeid 0x20
        ether 08:00:27:e4:3f:08  txqueuelen 1000  (Ethernet)
        RX packets 84  bytes 14221 (13.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 48  bytes 6629 (6.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 0  (Local Loopback)
        RX packets 8  bytes 688 (688.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8  bytes 688 (688.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@localhost ~]# 

Si es añadida físicamente otra interfaz de red, el sistema va a reconcerla según indica el script
/usr/lib/udev/rules.d/60-net.rules

[root@localhost ~]# cat /usr/lib/udev/rules.d/60-net.rules 
ACTION=="add", SUBSYSTEM=="net", DRIVERS=="?*", ATTR{type}=="1", PROGRAM="/lib/udev/rename_device", RESULT=="?*", NAME="$result"
[root@localhost ~]# 

En el siguiente ejemplo se añade una interfaz de red y al reiniciar el server aparece de la siguiente forma:
[root@localhost ~]# /sbin/ifconfig 
enp0s3: flags=4163  mtu 1500
        inet 192.168.56.103  netmask 255.255.255.0  broadcast 192.168.56.255
        inet6 fe80::a00:27ff:fee4:3f08  prefixlen 64  scopeid 0x20
        ether 08:00:27:e4:3f:08  txqueuelen 1000  (Ethernet)
        RX packets 80  bytes 12458 (12.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 53  bytes 7187 (7.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp0s8: flags=4163  mtu 1500
        ether 08:00:27:e8:4c:90  txqueuelen 1000  (Ethernet)
        RX packets 24  bytes 4233 (4.1 KiB)
        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

lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 0  (Local Loopback)
        RX packets 8  bytes 688 (688.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8  bytes 688 (688.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@localhost ~]# 


Configuración de ip estática a una interfaz de red. 

se realiza para cada interfaz de red a través del archivo ifcfg-
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet
BOOTPROTO=static
IPV6INIT=no
NAME=enp0s3
UUID=6e3556b1-a0fd-4533-bf44-d5669151e6a0
DEVICE=enp0s3
ONBOOT=yes
IPADDR=192.168.56.103
NETMASK=255.255.255.0
GATEWAY=192.168.56.0
[root@localhost ~]# 

La explicación de cada parámetro se puede hallar en la documentación oficial de centos
https://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-networkscripts-interfaces.html

Archivos de configuración importantes:

Tener consideración de los siguientes scripts de configuración:

/etc/sysconfig/network-scripts/network-functions
https://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-networkscripts-functions.html
Es importante porque entre sus acciones busca todos los archivos de configuración de interfaces de red

get_config_by_hwaddr ()
{
    LANG=C grep -il "^[[:space:]]*HWADDR=\"\?${1}\"\?\([[:space:]#]\|$\)" /etc/sysconfig/network-scripts/ifcfg-* \
| LC_ALL=C sed -e "$__sed_discard_ignored_files"
}

Indicando que considera a todos los archivos que se encuentren dentro del directorio "/etc/sysconfig/network-scripts/" y estén rotulados con "ifcfg-"


FAQ: error al levantar una ip. 

se ha configurado una ip en el archivo ifcg-eth0 y al reiniciar el servicio network aparece el siguiente errr:

Withdrawing address record for 192.168.56.103 on eth0
avahi-daemon[2719]: Leaving mDNS multicast group on interface eth0.IPv4 with address 192.168.56.103.
avahi-daemon[2719]: iface.c: interface_mdns_mcast_join() called but no local address available.
avahi-daemon[2719]: Interface eth0.IPv4 no longer relevant for mDNS.

El reinicio del servicio network entrega pistas de la causa de la falla al indicar que levantga 2 veces la interface eth0: 

[root@localhost ~]# service network restart
Shutting down interface eth0:                              [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:                                [  OK  ]
Bringing up interface eth0_back:  
Determining IP information for eth0... done.
                                                           [  OK  ]
[root@localhost ~]# 

Esto es debido a que antes de configurar los datos de la ip estática para la interfaz de red eth0, se hizo un respaldo del archivo original en el mismo directorio, quedando de la siguiente forma:
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-eth0_back 

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Realtek Semiconductor Co., Ltd. RTL-8100/8101L/8139 PCI Fast Ethernet Adapter
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:0D:61:BF:0D:C9
IPADDR=192.168.56.103
NETMASK=255.255.255.0
GATEWAY=192.168.56.0
ONBOOT=yes
[root@localhost ~]#

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0_back 
# Realtek Semiconductor Co., Ltd. RTL-8100/8101L/8139 PCI Fast Ethernet Adapter
DEVICE=eth0
BOOTPROTO=dhcp
HWADDR=00:0D:61:BF:0D:C9
ONBOOT=yes
[root@localhost ~]# 

El script "network-functions" va a leer la configuración de los dos archivos que se ubican dentro del directorio porque cumplen con las condiciones. 
Dentro de los archivos está especificado el nombre de la interfaz de red, pero en uno la interfaz es estática, y en el segundo (bkp) la interfaz es DHCP. 

En consecuencia, el sistema levanta la ip estática pero inmediatamente la modifica por una ip DHCP. 

No hay comentarios:

Publicar un comentario