我想为我的本地 Ubuntu 11.10 台式机添加第二个静态 IP,并在重启后自动可用。到目前为止,我已成功使用 ifconfig 为我的主网络接口临时设置别名:
# 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
我想知道要配置什么才能让它工作。顺便说一句,我正在运行 gnome shell。
答案1
网络管理器是否管理接口?我已将网络管理器配置为不接触我通过其管理的接口,/etc/network/interfaces
方法是/etc/NetworkManager/NetworkManager.conf
:
[ifupdown]
managed=false
当网络管理器被禁用时,我们可以查看一下/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
答案2
根据我的经验,您必须禁用网络管理器来进行此类设置,因为它会干扰静态配置并且存在大量带有伪接口的错误。
您有多种选择:
- 您可以在 /etc/NetworkManager/NetworkManager.conf 中禁用 IP 管理,并通过 /etc/network/interfaces 自行管理接口
- 您可以删除网络管理器并安装 Gnome 网络管理器。
- 您可以继续使用 NM 并在 /etc/NetworkManager/dispatcher.d 中编写一个钩子脚本 - 有关更多信息,请参阅 NetworkManager(8)
答案3
您的主 eth1 配置是在接口文件中定义的吗?还是使用网络管理器定义的?我建议您在接口文件中完成所有操作。这样对服务器来说更可靠。但是,当然,如果您在 nm 中管理 eth1,在接口文件中管理 eth1:0... 您可能会遇到问题。话虽如此,您的 for 中的语法乍一看似乎是正确的(假设您也在同一个文件中定义了 iface eth1。