LINUX

Cómo tener varias direcciones IP en una NIC en Linux

A veces, es posible que deba alojar varios sitios web en él. El alojamiento de varios sitios en un solo servidor se logra a través del alojamiento virtual. Para el alojamiento virtual, se ejecutan varias instancias del servidor web. El servicio web necesita un puerto específico (80) para ejecutarse y si hay varias instancias ejecutándose, requerirán un par de puertos IP único.

Sin embargo, el puerto no se puede cambiar, por lo que necesitamos varias direcciones IP. Se puede asignar una dirección IP a una sola NIC (tarjeta de interfaz de red). No siempre podemos instalar una NIC para cada dirección IP requerida. Se pueden vincular varias direcciones IP a una única NIC mediante la creación de interfaces virtuales. Esta técnica a veces se denomina alias de IP. Creamos alias para la NIC a la que se deben vincular direcciones adicionales. En este tutorial, hemos utilizado Red Hat Enterprise Linux Server 5.6 con el propósito de demostrar la dirección IP de enlace.

configuración de la red

La configuración de red actual se puede verificar con el comando ‘ifconfig’:

# ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:FA:F1:B7
inet addr:192.168.0.10 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:50 errors:0 dropped:0 overruns:0 frame:0
TX packets:76 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6061 (5.9 KiB) TX bytes:10824 (10.5 KiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:12 errors:0 dropped:0 overruns:0 frame:0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:900 (900.0 b) TX bytes:900 (900.0 b)

Aquí, «eth0» es la primera interfaz Ethernet. Las máquinas que tienen más de una tarjeta Ethernet tienen interfaces posteriores, «eth1», «eth2», etc. «lo» es la interfaz de bucle invertido local. Crearemos el alias de la interfaz eth0. Pero primero, revisemos los archivos de configuración de estas interfaces.
Los archivos de configuración para estas interfaces se encuentran en el directorio «/ etc / sysconfig / network-scripts /». «ls -l / etc / sysconfig / network-scripts /» revela estos archivos.

# ls -l /etc/sysconfig/network-scripts/
total 380
-rw-r--r-- 1 root root 191 Jul 3 19:01 ifcfg-eth0
-rw-r--r-- 1 root root 254 Oct 13 2010 ifcfg-lo
lrwxrwxrwx 1 root root 20 Jul 3 03:51 ifdown -> ../../../sbin/ifdown
-rwxr-xr-x 1 root root 625 Oct 13 2010 ifdown-bnep
-rwxr-xr-x 1 root root 4573 Oct 13 2010 ifdown-eth
-rwxr-xr-x 1 root root 827 Oct 13 2010 ifdown-ippp
-rwxr-xr-x 1 root root 2149 Oct 13 2010 ifdown-ipsec
-rwxr-xr-x 1 root root 4473 Oct 13 2010 ifdown-ipv6
......

El primer archivo de este directorio es ‘ifcfg-eth0’. Este es el archivo de configuración para la interfaz eth0. Comprobemos el contenido de este archivo:

# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Intel Corporation 82540EM Gigabit Ethernet Controller
DEVICE=eth0
IPADDR=192.168.0.10
NETMASK=255.255.255.0
BOOTPROTO=static
HWADDR=08:00:27:FA:F1:B7
ONBOOT=yes
DHCP_HOSTNAME=redhat-server

Echemos un vistazo a estas etiquetas:

• DISPOSITIVO: el nombre del dispositivo va aquí
• IPADDR es el valor de la dirección IP.
• NETMASK es la máscara de subred.
• Si BOOTPROTO tiene el valor ‘static’, la interfaz está configurada estáticamente, es decir, la dirección IP / máscara de subred se agregan manualmente. Si el dispositivo toma la dirección automáticamente, del servidor DHCP, su valor debe ser ‘dhcp’. Pero en ese caso, por encima de dos valores, faltarán IPADDR y NETMASK.
• HWADDR es la dirección MAC o hardware.
• Si ONBOOT tiene el valor «sí», la interfaz estará activa, en funcionamiento en el arranque. Pero bajará si el valor es «no».

El resto de valores no son necesarios. Cualquier cambio en estos archivos persistirá durante el arranque. Si necesita que sus cambios sean permanentes, realice cambios en los archivos de este directorio (scripts de red), en lugar de usar el comando ‘ifconfig’ (para cambiar la dirección IP).

Agregar interfaces virtuales

Las interfaces virtuales de la interfaz eth0 tendrán los nombres eth0: 0, eth0: 1, eth0: 2 y así sucesivamente. Para agregar una interfaz, cree un archivo correspondiente en el directorio network-scripts. Ahora, creemos una interfaz eth0: 0. Para crear este alias, crearemos un archivo llamado «ifcfg-eth0: 0»:

He creado este archivo usando la redirección, pero puede usar cualquier editor que desee para crear este archivo:

# cat > /etc/sysconfig/network-scripts/ifcfg-eth0:0
DEVICE=eth0:0
IPADDR=192.168.0.20
NETMASK=255.255.255.0
BOOTPROTO=static
HWADDR=08:00:27:FA:F1:B7
ONBOOT=yes

Tenga en cuenta que el nombre del dispositivo se cambiará por el nombre de la interfaz virtual (eth0: 0 aquí) y la dirección de hardware seguirá siendo la misma (porque el dispositivo físico es el mismo). Esto es todo lo que se necesita para crear el alias. Pero estos cambios no se cargarán en el sistema en ejecución. Reinicie la red y su nuevo alias estará listo para ser utilizado:

# service network restart
Shutting down interface eth0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]
# ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:FA:F1:B7
inet addr:192.168.0.10 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:796 errors:0 dropped:0 overruns:0 frame:0
TX packets:480 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:74780 (73.0 KiB) TX bytes:78183 (76.3 KiB)

eth0:0 Link encap:Ethernet HWaddr 08:00:27:FA:F1:B7
inet addr:192.168.0.20 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
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:12 errors:0 dropped:0 overruns:0 frame:0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:900 (900.0 b) TX bytes:900 (900.0 b)

Con el comando ‘ifconfig’, las nuevas interfaces (con alias) se pueden verificar como se muestra en el resultado anterior. Si desea vincular otra dirección a eth0, cree el alias eth0: 1 de manera similar.

Agregar temporalmente varias direcciones IP en una NIC

Puede usar el comando ‘ifconfig’ para agregar una dirección IP a una NIC. Pero tenga en cuenta que esta dirección IP no estará disponible después de reiniciar la máquina. Por lo tanto, debe utilizar el segundo paso para agregar de forma permanente las múltiples direcciones IP. Aquí, asumimos que ya tiene una NIC con una IP estática configurada en ella. Si necesitamos agregar dos direcciones IP más, digamos 192.168.1.25 y 192.168.1.26 a esta interfaz, podemos lograrlo ejecutando los siguientes comandos:

ifconfig eth0:1 192.168.1.25 netmask 255.255.255.0
ifconfig eth0:2 192.168.1.26 netmask 255.255.255.0

Agregar un rango de direcciones IP

Para agregar un rango de direcciones IP a la interfaz eth0, digamos de 192.168.1.20 a 192.168.1.30, debe crear (actualizar) el archivo / etc / sysconfig / network-scripts / ifcfg-eth0-range0 con los siguientes datos :

IPADDR_START=192.168.1.20
IPADDR_END=192.168.1.30
CLONENUM_START=0
NETMASK=255.255.255.0

Luego reinicie el servicio de red,

service network restart

Ahora, podrá ver las direcciones IP configuradas usando el comando ‘ifconfig’.

Leer también:

Publicaciones relacionadas

Deja una respuesta

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

Botón volver arriba
Cerrar