Agregar una ruta estática a una interfaz virtual usando archivos de configuración en lugar del comando ip

Agregar una ruta estática a una interfaz virtual usando archivos de configuración en lugar del comando ip

Asignamos estáticamente nuestras rutas usando los archivos /etc/sysconfig/network-scripts/route-ethx. Esto hace que administrarlas sea bastante fácil ya que agregamos las rutas durante el proceso de inicio (a modo de post-script). Rara vez cambian y, si es necesario actualizarlos, simplemente implementamos un cambio y actualizamos los scripts de compilación para incluir la nueva ruta.

Recientemente, un cliente solicitó una interfaz virtual (eth0:0) con una IP única. Necesita conectarse exclusivamente a una red. La primera IP asignada en eth0 manejará todo el resto del tráfico.

Todo lo que he visto indica cómo agregar una ruta usando ip route add, sin embargo, no puedo entender cómo especificar que cualquier cosa que vaya a una IP o red en particular pueda tener configurada la IP de origen. Si uso el comando ip, ¿actualizará los archivos de ruta o se almacenará en otro lugar para que persista durante los reinicios? Si tengo que agregar la entrada al archivo de ruta para eth0:0, ¿cómo debería verse la línea?

Así que básicamente:

Si va a 10.0.0.2 use IP 10.0.1.3 como fuente. Si va a otro lugar, utilice IP 10.0.1.2 como fuente.

es posible? ¿Cómo lo logro?

Respuesta1

Si entiendo claramente tu pregunta, puedes intentar algo como lo siguiente

# ip route add 10.0.0.2 via xxx.xxx.xxx.xxx src 10.0.1.3
# ip route add default via yyy.yyy.yyy.yyy src 10.0.2.2

¿Hay algún otro método que deba considerar?

Podrías intentar usar iptables.

# iptables -t nat -I PREROUTING -d 10.0.0.2 -j SNAT --to-source 10.0.1.3

Respuesta2

Así lo aclaró un colega que había hecho lo mismo recientemente.

El formato para la ruta que se ingresará en el archivo route-eth0:0 es:

10.0.0.2/32 via 10.0.1.1 dev eth0:0 src 10.0.1.3

El resto del tráfico a través de eth0 se etiquetará como procedente de 10.0.1.2 de forma predeterminada. 10.0.1.1 es la ruta predeterminada, pero los paquetes tendrán una IP de origen etiquetada correctamente.

información relacionada