我有一个服务器,需要两个IP地址。 一个内部IP地址和一个公共IP地址。 操作系统:Ubuntu 14.04 LTS
这是我目前的configuration/etc/network/interfaces
auto lo iface lo inet loopback auto eth0 iface eth0 inet static address xxx.xxx.xxx.115 netmask 255.255.255.128 gateway xxx.xxx.xxx.1 dns-nameservers 8.8.8.8 8.8.4.4 auto eth0:1 iface eth0:1 inet static address 10.0.0.139 netmask 255.0.0.0 #gateway 10.0.0.1
我遇到的问题是,我不能通过内部的IP地址连接到服务器。 每次我尝试ifup eth0:1我得到以下
RTNETLINK answers: File exists Failed to bring up eth0:1
获取内部IP地址的唯一方法是在重新启动服务器之后直接启动虚拟接口,然后使用ip addr flush dev eth0 && ifup eth0:1来刷新接口。 但是,然后我在主界面上得到相同的错误。
我也尝试将第二个接口重命名为eth0:0并使用与网关的接口。 但我经历了同样的错误。
根据Debian的文档,你不一定需要使用接口别名(:1)来设置多个地址。 然而,无论是否使用标签,您发布的解决scheme都应该按照预期工作 – 而且我在一个debian 7盒子上testing了它没有问题。
既然你已经提到你已经被要求在接口上运行一个ip地址刷新来让其他的工作,有可能你的网卡的驱动程序由于某种原因根本不允许多个IP …也许它不正确单独的MII / PHY /接口? 也许它支持TCP / IP卸载,但实现是这样的,它只支持一个地址? 也许..
但是请注意,在几个接口上设置网关没什么意义,因为网关会设置一个默认路由:您将同时将所有stream量发送到两个不同的地方,因此与最低的度量将是首选。