
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.