El tráfico NFS va a interactuar con una dirección IP diferente pero con la misma subred

El tráfico NFS va a interactuar con una dirección IP diferente pero con la misma subred

Mi servidor NFS tiene 3 interfaces:0: 1 GB,1: 10 GB,2: 10Gb.

Iface 0 solo se usa con fines administrativos y 1/2 son para dos montajes diferentes.

Todas las interfaces están en la misma subred (/24).

| servidor | ----> iface 0/1/2 ----> |interruptor privado| ----> |todos los clientes|

Mis clientes están configurados para conectarse a nfs a través de interfaces1y2.

$ mount
...
iface1:/home on /home type nfs4 (rw,relatime,vers=4.0,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=172.1.1.3,local_lock=none,addr=172.1.1.1)
iface2:/scratch on /scratchlair type nfs4 (rw,relatime,vers=4.0,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=172.1.1.3,local_lock=none,addr=172.1.1.2)
...

donde cara1y2son 172.1.1.{1,2}, respectivamente. La cara 0 es 172.1.1.5.

Mi problema es que en el servidor veo todo el tráfico yendo a iface.0, vía descarga. caras1y2no mostrar tráfico.

Esto ocurre igual para los 10 clientes conectados al servidor nfs.

¿Qué está provocando que el tráfico vaya a iface?0¿Y cómo puedo forzar el tráfico del cliente nfs a través de la interfaz configurada?

Respuesta1

Para que esto funcione, debe configurar reglas y tablas de enrutamiento independientes para las tres interfaces inet y habilitarlas arp_filter.
También es posible que desee probar esto primero en un entorno de máquina virtual, ya que puede interrumpir fácilmente cualquier conexión durante los siguientes pasos y definitivamente habrá algunos problemas.


Primero habilitar arp_filter.

sysctl net.ipv4.conf.default.arp_filter=1

Para hacerlo permanente, agregue esto a su archivo /etc/sysctl.conf. Dependiendo de su distribución, también puede colocarlo en un archivo debajo /etc/sysctl.d/.

echo net.ipv4.conf.default.arp_filter = 1 >> /etc/sysctl.conf

Ahora agreguemos las tablas de enrutamiento.

cat << TABLES >> /etc/iproute2/rt_tables 
101 rt1
102 rt2
103 rt3
TABLES

Suponiendo que tiene una /24máscara de red y su puerta de enlace predeterminada es 172.1.1.254. Además, las interfaces 0, 1 y 2 son eth0, eth1y eth2en el siguiente ejemplo podrían no coincidir con su configuración, por lo que tendría que adoptarla.

ip route add 172.1.1.0/24 dev eth0 src 172.1.1.5 table rt1
ip route add table rt1 default via 172.1.1.254 dev eth0
ip rule add table rt1 from 172.1.1.5

ip route add 172.1.1.0/24 dev eth1 src 172.1.1.1 table rt2
ip route add table rt2 default via 172.1.1.254 dev eth1 
ip rule add table rt2 from 172.1.1.1    

ip route add 172.1.1.0/24 dev eth2 src 172.1.1.2 table rt3
ip route add table rt3 default via 172.1.1.254 dev eth2
ip rule add table rt2 from 172.1.1.2

Para que estas tablas y reglas de enrutamiento sean permanentes, debe agregar los pasos anteriores a la configuración de su NIC. En un sistema basado en RHEL, sería el siguiente.

Rutas y reglas para eth0.

cat << ROUTE > /etc/sysconfig/network-scripts/route-eth0
172.1.1.0/24 dev eth0 src 172.1.1.5 table rt1
table rt1 default via 172.1.1.254 dev eth0
ROUTE

cat << RULE > /etc/sysconfig/network-scripts/rule-eth0
table rt1 from 172.1.1.5
RULE

Rutas y reglas para eth1.

cat << ROUTE > /etc/sysconfig/network-scripts/route-eth1
172.1.1.0/24 dev eth1 src 172.1.1.1 table rt2
table rt2 default via 172.1.1.254 dev eth1
ROUTE

cat << RULE > /etc/sysconfig/network-scripts/rule-eth1
table rt2 from 172.1.1.1   
RULE

Rutas y reglas para eth2.

cat << ROUTE > /etc/sysconfig/network-scripts/route-eth2
172.1.1.0/24 dev eth2 src 172.1.1.2 table rt3
table rt3 default via 172.1.1.254 dev eth2
ROUTE

cat << RULE > /etc/sysconfig/network-scripts/rule-eth2
table rt3 from 172.1.1.2   
RULE

Podría ser más fácil, como ya se describió en los comentarios, usar diferentes subredes para las interfaces y asignar alias de IP en los clientes para las diferentes subredes.

Probé esto en un entorno de VM con un servidor NFS CentOS7.

información relacionada