启动第二个虚拟网络接口时出现问题

启动第二个虚拟网络接口时出现问题

我在向一个接口添加第二个 IP 地址时遇到问题。以下是我的/etc/networking/interfaces

   # The loopback network interface
auto lo
iface lo inet loopback

#eth0 is our main IP address
auto eth0
iface eth0 inet static
 address 198.58.103.*
 netmask 255.255.255.0
 gateway 198.58.103.1

#eth0:0 is our private address
auto eth0:0
iface eth0:0 inet static
 address 192.168.129.134
 netmask 255.255.128.0

#eth0:1 is for www.site.com
auto eth0:1
iface eth0:1 inet static
 address 198.58.104.*
 netmask 255.255.255.0
 gateway 198.58.104.1

当我运行时/etc/init.d/networking restart,我收到有关启动的失败错误eth0:1

RTNETLINK answers: File exists
Failed to bring up eth0:1.

eth0这是什么原因?我第一次设置时没有遇到任何问题eth0:0

答案1

编辑:

问题是您定义了 2 个默认网关。您需要删除其中一个。我认为是 eth0:1 设备上的那个。

尝试再次添加已经存在的默认路由时抛出了文件存在错误。


首先,我假设主机号 * 是一个有效数字,而不是字面上的“*”?

现在试试这个方法。我怀疑启动脚本中自动行的解析存在问题 - 只是一种预感,我还没有查看过。

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#eth0 is our main IP address
auto eth0
iface eth0 inet static
 address 198.58.103.*
 netmask 255.255.255.0
 gateway 198.58.103.1
 # Put your nameserver address here!
 dns-nameservers x.x.x.x 

#eth0:0 is our private address
auto eth0:0
iface eth0:0 inet static
 address 192.168.129.134
 netmask 255.255.128.0

#eth0:1 is for www.site.com
auto eth0:1
iface eth0:1 inet static
 address 198.58.104.*
 netmask 255.255.255.0
 # This shouldn't be here!  remove it.
 #gateway 198.58.104.1

其次,要摆脱烦人的 resolv.conf 错误,请运行:

sudo dpkg-reconfigure resolvconf

尽管这是另外一个问题。

答案2

尝试这个命令:

sudo dpkg-reconfigure resolvconf

还有这个:

ifdown eth0:0 
ifdown eth0:1 
ifdown eth0
ifup eth0

最后ifup eth0启动主路由和别名,并且只设置一次路由。

答案3

目前基于 Debian 的系统语法已经改变。关键是使用带斜线子网的地址格式address 192.168.129.134/17,而不再使用netmask关键字。

基于 Debian 的系统的首选方法是使用网络配置文件。

别名方法倾向于使用这样的顺序:eth0, eth:0:0, eth0:1,...

因此系统的第一个别名将是 eth0:0,为了在系统重启后实现持久性,请创建一个/etc/network/interfaces.d/eth0具有以下内容的文件:

auto eth0:0
allow-hotplug eth0:0
iface eth0:0 inet static
      address 192.168.129.134/17

或者您可以直接编辑文件/etc/network/interfaces,但不建议这样做,因为它可能会被自动覆盖。

之后做

service networking restart

测试配置。之后使用以下命令进行检查:

service networking status

ip address

相关内容