J'ai plusieurs interfaces eth virtuelles, dont certaines ont la même passerelle que la passerelle par défaut.
Lorsque je me lie à l'adresse d'une interface eth virtuelle qui n'a pas la même passerelle par défaut que eth0, tout fonctionne comme prévu et l'adresse source correcte est utilisée. Mais lorsque la passerelle est identique, l’adresse source sélectionnée pour les paquets sortants est toujours celle principale eth0. (vu dans tcpdump aussi). Qu'est-ce que je fais mal?
Ubuntu 8.1 / Linux 2.6.27
Je suppose que la sélection de l'adresse source devrait fonctionner comme suit : http://linux-ip.net/gl/ip-cref/node155.html
Exemple: (eth0 et eth0: 2 ont la même passerelle)
eth0 is 10.81.61.46 mask 255.255.240.0
eth0:1 10.250.50.70 mask 255.255.240.0
eth0:2 10.81.63.31 mask 255.255.240.0
route add default gw 10.81.48.254 dev eth0
ip rule add from 10.250.50.70 table second
ip route add default via 10.250.48.254 table second
ip rule add from 10.81.63.31 table third
ip route add default via 10.81.48.254 table third (adding "src 10.81.63.31" makes no diff)
wget --bind-address 10.81.61.46 whatismyip.net...
Result OK: 10.81.61.46
wget --bind-address 10.250.50.70 whatismyip.net..
Result OK: 10.250.50.70
wget --bind-address 10.81.63.31 whatismyip.net..
Result Not OK: 10.81.61.46