La conexión a una o varias redes ethernet es una de las funciones más importantes en un servidor. Habitualmente, el hardware, incorpora en su placa base 4 interfaces ethernet de 10 GBit/S. Esto puede ser suficiente en muchas ocasiones aunque siempre es recomendable añadir una tarjeta de interfaces adicionales. Una razón para ella es la redundancia en un interfaz para hacerlo robusto a fallos de un switch o de un cable. Otra razón es el aumento de capacidad sumando la capacidad de varios puertos con un interfaz de tipo trunk. Por último tenemos que considerar que hay tarjetas de interfaces ethernet con una velocidad superior a 10 GBit/S.
Información de los interfaces
Para ver los interfaces existentes podemos utilizar el comando dladm.
# dladm
LINK CLASS MTU STATE OVER
net0 phys 1500 up --
net1 phys 1500 up --
net2 phys 1500 down --
net3 phys 1500 down --
net4 phys 1500 up --
sp-phys0 phys 1500 up --
Los cuatro primeros interfaces son los de la placa base. El interfaz sp-phys0 es la conexión entre el servidor y la ILOM. Podemos ver más características de los interfaces con el siguiente comando.
# dladm show-phys
LINK MEDIA STATE SPEED DUPLEX DEVICE
net0 Ethernet up 1000 full i40e0
net1 Ethernet up 1000 full i40e1
net2 Ethernet down 0 unknown i40e2
net3 Ethernet down 0 unknown i40e3
sp-phys0 Ethernet up 10 full usbecm2
En este caso podemos ver que los interfaces ethernet son de 1 GBit/S. El interfaz sp-phys0 es de 10 MBit/S pero es solo para comunicarse con la ILOM.
Configuración IP
Para visualizar la configurar IP utilizaremos el comando ipadm en lugar de dladm. El resultado es el siguiente:
# ipadm show-if
IFNAME CLASS STATE ACTIVE OVER
lo0 loopback ok yes --
net0 ip ok yes --
sp-phys0 ip ok yes --
Para mostrar la información de las direcciones IP
# ipadm show-addr
ADDROBJ TYPE STATE ADDR
lo0/v4 static ok 127.0.0.1/8
net0/v4 static ok 192.168.2.110/24
sp-phys0/v4 static ok 169.254.182.77/24
lo0/v6 static ok ::1/128
net0/v6 addrconf ok fe80::210:e0ff:fee2:c67a/10
Están configurados los interfaces net0 (El que comunica con el la red), el loopback presente en todos los sistemas IP y el interfaz de conexión con la ILOM.
Nuevo interfaz IP
El primer caso es crear la capa IP en el interfaz. Por ejemplo vamos a configurar el interfaz net2.
# ipadm create-ip net2
A continuación le asignamos la dirección IP
ipadm delete-ip net2
ipadm create-addr -T static -a local=10.31.137.4/24 net2/v4
Nuestro interfaz ya estaría listo y funcionando.
Configuración de redundancia IPMP
Podemos añadir el puerto físico net3 a nuestro interfaz mediante la funcionalidad IPMP. Tanto net2 como net3 compartirán la misma dirección IP y se deben conectar a dos puertos del switch ethernet en la misma virtual lan.
Primero creamos el interfaz IPMP con el nuevo puerto net3
ipadm create-ip net3
ipadm create-ipmp ipmp0
ipadm add-ipmp -i net3 ipmp0
A continuación le asignamos la misma dirección IP al interfaz IPMP. Previamente debemos borrarla del puerto net3. Esta operación se debe hacer desde el puerto serie o accediendo desde otro interfaz ya que, durante el tiempo entre un comando y otro, se pierde la conexión.
ipadm delete-ip net2
ipadm create-addr -T static -a local=10.31.137.4/24 ipmp0/v4
Por último añadimos el puerto net2 a nuestro interfaz IPMP.
ipadm create-ip net2
ipadm add-ipmp -i net2 ipmp0
La dirección IP es válida tanto en net2 como en net3. Para ver el estado utilizaremos el comando ipmpstat.
# ipmpstat -g
GROUP GROUPNAME STATE FDT INTERFACES
ipmp0 ipmp0 ok 10.00s net2 net3
Y el estado
# ipmpstat -i
INTERFACE ACTIVE GROUP FLAGS LINK PROBE STATE
net2 yes ipmp0 ------- up ok ok
net3 yes ipmp0 --mb--- up ok ok
En este momento los dos puertos están activos pero, si preferimos un funcionamiento active-standby, podemos configurar uno de los puertos como standby
# ipadm set-ifprop -p standby=on -m ip net3
Creación de un interfaz agregado
Un agregado combina dos o más puertos en un solo interfaz. La diferencia con un interfaz IPMP es que, en el interfaz IPMP, no es necesaria ninguna configuración adicional en los puertos. En el caso del aggregado los puertos deben estar configurados en el switch ethernet en modo trunk y con una configuración compatible. Normalmente el switch suele ser el activo y, el servidor, el pasivo.
Vamos a crear un aggregado utilizando los puertos anteriores:
dladm create-aggr -P L3 -L passive -l net2 -l net3 aggr0
La opción -L indica que es un agregado del tipo LACP. Además indicamos que, el servidor, es el pasivo. El switch ethernet debe tener un trunk del tipo LACP configurado en modo activo.
Podemos ver el nuevo agregado con el comando dladm.
# dladm
LINK CLASS MTU STATE OVER
aggr0 aggr 1500 up net2 net3
net0 phys 1500 up --
net1 phys 1500 up --
net2 phys 1500 up --
net3 phys 1500 up --
sp-phys0 phys 1500 up --
Podemos ver el estado con el siguiente comando:
$ dladm show-aggr -x
LINK PORT SPEED DUPLEX STATE ADDRESS PORTSTATE
aggr0 -- 1000Mb full up 8:0:27:49:10:b8 --
net2 1000Mb full up 8:0:27:49:10:b8 attached
net3 1000Mb full up 8:0:27:e4:d9:46 attached
A continuación ya podemos configurar una dirección IP
# ipadm create-ip aggr0
# ipadm create-addr -a local=10.31.137.4/24 aggr0/v4
Nuevas direcciones IP en el mismo interfaz
En el mismo interfaz IP podemos configurar más de una dirección IP. Pueden pertenecer a la misma red o a otra red. No hay ninguna limitación. Se pueden añadir nuevas direcciones a cualquier tipo de interfaz: un puerto único, un interfaz IPMP o un interfaz aggregado.
El comando utilizado es ipadm. Vamos a añadir nuevas direcciones al interfaz net0.
ipadm create-addr -T static -a local=192.168.2.111/24 net0/v4b
ipadm create-addr -T static -a local=192.168.2.112/24 net0/v4c
ipadm create-addr -T static -a local=192.168.2.113/24 net0/v4d
Las cuatro direcciones IP funcionan indistintamente. El servidor recibe paquetes en las 4 y puede enviar paquetes por cualquiera de ellas. Esto suele ser un problema ya que, si la dirección IP cambia, podemos tener problemas con los firewall de seguridad y a la hora de que nuestro servidor se identifique.
Lo mejor es deshabilitar las tres nuevas direcciones de manera que, a la hora de realizar una conexión saliente, solo utilice la primera net0/v4. Esto se realiza de la siguiente manera:
ipadm set-addrprop -p deprecated=on net0/v4b
ipadm set-addrprop -p deprecated=on net0/v4c
ipadm set-addrprop -p deprecated=on net0/v4d
Con esta configuración, las direcciones IP net0/v4b a net0/v4d, solo se utilizarán en recepción, nunca para una conexión saliente.