当虚拟接口上有多个IP时,如何设置默认源(src)IP地址

如何在虚拟接口上的多个ips的情况下告诉networking堆栈哪个ip是源(src)?

auto eth0 iface eth0 inet static address xxx209 netmask 255.255.255.0 network xxx0 broadcast xxx255 gateway xxx254 auto eth0:1 iface eth0:1 inet static address xxx210 netmask 255.255.255.0 network xxx0 broadcast xxx255 gateway xxx254 

等等

它似乎是挑选/ etc / networking / interfaces中的最后一个

 ~# ip -s route get 173.194.67.113; 173.194.67.113 via xxx254 dev eth0 src xxx210 cache users 1 used 11 mtu 1500 advmss 1460 hoplimit 64 

但是这种行为是不可预测的我有大约30个ip分配每个接口,有时(scr)源ip更改。

我需要了解它是如何select的。

我试过设置度量来标准化src,但它似乎不支持虚拟接口。 NETLINK: Packet too small or truncated!

编辑:Ubuntu 10.04 64位

编辑继TheCleaner的链接之后,我的/ etc / network / interfaces现在变得更清晰了。 对不起,以前没有提供更多的信息,这是一个复杂的环境,我真正想知道的是当你运行从命令行说apt-get更新时,内核如何决定源地址。 所有负载恶化的东西,故障转移等工作很好。

 auto eth0 iface eth0 inet static address xxx183 netmask 255.255.255.0 network xxx0 broadcast xxx255 gateway xxx254 up ip addr add xxx209 dev eth0 label eth0:1 up ip addr add xxx210 dev eth0 label eth0:2 up ip addr add xxx211 dev eth0 label eth0:3 up ip addr add xxx212 dev eth0 label eth0:4 up ip addr add xxx213 dev eth0 label eth0:5 up ip addr add xxx214 dev eth0 label eth0:6 up ip addr add xxx215 dev eth0 label eth0:7 

IDK如果是固定的。 但到目前为止这么好。 我只是在睡觉的时候跑5; 做ip -s路由得到173.194.67.113; DONE
有一段时间,看看我连接出站时是否有稳定的IP。

这工作很好! 感谢大家谁插入英寸我仍然好奇,为什么我的源IP正在改变,但生病只是把它写到一个不正确的书面接口文件,并继续前进。

在别名节中,不要包含网关。 你也不需要“networking”线。

 auto eth0 iface eth0 inet static address xxx209 netmask 255.255.255.0 broadcast xxx255 gateway xxx254 auto eth0:1 iface eth0:1 inet static address xxx210 netmask 255.255.255.0