Ubuntu第二个静态IP,ifconfig,/ etc / network / interfaces

我想添加第二个静态IP到我的本地Ubuntu 11.10桌面机,并让它在重新启动后自动可用。 到目前为止,我成功地使用ifconfig来为我的主要networking接口临时设置一个别名:

# ifconfig eth1:0 192.168.178.3 up # ifconfig eth1 Link encap:Ethernet HWaddr c8:60:00:ef:a3:d9 inet addr:192.168.178.2 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::ca60:ff:feef:a3d9/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:61929 errors:0 dropped:0 overruns:0 frame:0 TX packets:64034 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:45330863 (45.3 MB) TX bytes:28175192 (28.1 MB) Interrupt:42 Base address:0x4000 eth1:0 Link encap:Ethernet HWaddr c8:60:00:ef:a3:d9 inet addr:192.168.178.3 Bcast:192.168.178.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:42 Base address:0x4000 

但是,当我将以下内容添加到/ etc / network / interfaces时,别名在重新启动后没有按预期运行:

 # vi /etc/network/interfaces auto eth1:0 iface eth1:0 inet static address 192.168.178.3 netmask 255.255.255.0 

我想知道如何configuration才能使其工作。 作为一个方面说明,我正在运行gnome shell。

networkingpipe理员pipe理界面吗? 我已经configuration了networkingpipe理器,通过/etc/NetworkManager/NetworkManager.conf中的以下内容,不要触及通过/etc/network/interfacespipe理的/etc/network/interfaces

 [ifupdown] managed=false 

当Network Manager被禁用时,我们可以看看/etc/network/interfaces 。 接口别名不再推荐,但ip (8)可以添加多个地址到一个接口。 这可以在/etc/network/interfaces ,如下所示:

 auto eth1 iface eth1 inet static address 192.168.178.2 netmask 255.255.255.0 gateway 192.168.178.1 up ip addr add 192.168.178.3/24 dev eth1 down ip addr del 192.168.178.3/24 dev eth1 

请阅读接口(5)和ip(8)的联机帮助页以获取更多信息。

根据我的经验,您必须禁用networkingpipe理器才能进行这些设置,因为它会干扰静态configuration,并带有伪接口的错误。

你有几个select在这里:

  • 您可以在/etc/NetworkManager/NetworkManager.conf中禁用IPpipe理,并通过/ etc / network / interfaces自己pipe理接口
  • 您可以删除networkingpipe理器,然后安装Gnomenetworkingpipe理器。
  • 你可以坚持使用NM,并在/etc/NetworkManager/dispatcher.d中写一个钩子脚本 – 关于这方面的更多信息,请参阅NetworkManager(8)

你主要的eth1configuration是在接口文件中定义还是你使用networkingpipe理器? 我会build议你在接口文件中做这一切。 对于服务器来说它更健壮。 但是当然,如​​果你在interfaces文件中pipe理nm1和eth1:0,你可能会遇到问题。 说在你看来的语法看起来似乎是正确的(鉴于你也有iface eth1定义在同一个文件。