我有一个2接口的服务器。 eth0比eth1快100倍。 尽pipe由于某种原因,每次重新启动,默认界面都是随机选取的。 为了让事情更烦人,他们都使用相同的网关,所以select默认网关将不起作用。 Linux如何select默认界面,以及如何select默认界面?
这里是我的route -n帮助解释一下情况。
Destination Gateway Genmask Flags Metric Ref Use Iface 173.246.100.0 0.0.0.0 255.255.252.0 U 0 0 0 eth1 173.246.100.0 0.0.0.0 255.255.252.0 U 0 0 0 eth0 0.0.0.0 173.246.103.254 0.0.0.0 UG 0 0 0 eth1 0.0.0.0 173.246.103.254 0.0.0.0 UG 100 0 0 eth0
PS。 这是一个VPS,所以我的提供者也可能在某处出错。 第二个接口的原因是有另一个IP为DNS,因为它只做DNS,它非常缓慢。
编辑:这是一个Ubuntu 10.04服务器
使用ifmetric更改两个接口的度量值。 在eth0上增加eth1将导致eth0被用于所有的连接。 完全解决问题。
您应该禁用第二个慢接口,然后将辅助IP添加到主节点。 要做到这一点编辑你的接口文件:
sudo vi /etc/network/interfaces
一旦您访问了networking文件,您可能会看到如下内容:
auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 173.246.100.1 network 173.246.100.0 netmask 255.255.252.0 broadcast 173.246.100.255 gateway 173.246.103.254 auto eth1 iface eth0 inet static address 173.246.100.2 network 173.246.100.0 netmask 255.255.252.0 broadcast 173.246.100.255 gateway 173.246.103.254
重新configuration它看起来像这样:
auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 173.246.100.1 network 173.246.100.0 netmask 255.255.252.0 broadcast 173.246.100.255 gateway 173.246.103.254 iface eth0:1 inet static address 173.246.100.2 network 173.246.100.0 netmask 255.255.252.0
这会将两个IP分配给第一个NIC。 一旦你完成了这个保存文件并运行:
/etc/init.d/networking restart
而这些变化将会被执行。
< – 编辑 – >
根据我的经验,如果它在同一个虚拟交换机上,这应该不重要,尽pipe托pipe环境可能会进一步locking它。 这可能是值得一试的,但如果它不起作用,你可以要求你的托pipe公司把虚拟接口改成更有能力的东西。
< – 编辑 – >
此外,如果您的主要IP目前不在服务DNS,那么为什么不使用它的DNS呢? 您可以在一个IP上承载多个不同的服务,因为它们使用不同的端口。
你似乎有两个接口在同一个子网,这有点奇怪。 Linux(假设您使用的是Red Hat衍生产品)通过读取/etc/sysconfig/network的GATEWAY值来select默认网关。 但是,此variables将IP地址作为网关标识符,而不是接口名称。 所以,在你的情况下,一个IP地址可以是两个接口的网关,导致(我认为)某种竞争条件。
我仍然不确定为什么你需要第二个界面。 如果您完全缓慢地使用界面,会发生什么?