我有一个接口eth0
,我想给它一个额外的虚拟 IP。我通过以下方式实现此目的:
ifconfig eth0:0 ip.address.goes.here netmask subnet.address.goes.here
这工作正常,然而,当我重新启动时,它就丢失了。
我尝试进行编辑/etc/network/interfaces
以添加以下内容:
auto eth0:0 iface eth0:0 inet static
address ip.address.goes.here
netmask subnet.address.goes.here
但是,重新启动后,eth0 的静态 IP 可以正常加载,但是 eth0:0 虚拟 IP 根本没有加载。
那么,如何才能永久添加eth0:0
虚拟IP呢?
答案1
你不应该这么做eth0:0
,而应该这么做:
/etc/network/interfaces
按照通常方式配置您的(一个)静态 IP 地址:# The primary network interface auto eth0 iface eth0 inet static address 192.168.0.201 network 192.168.0.0 netmask 255.255.255.0 broadcast 192.168.0.255 gateway 192.168.0.1
添加另一个 IP 至这接口,在上面之后立即添加这个:
up /sbin/ip addr add 192.168.0.203/24 dev eth0 down /sbin/ip addr del 192.168.0.203/24 dev eth0
完整文件应该看喜欢这
现在,如果你通过运行检查配置了哪些 IP 地址ip addr show
,则会显示两个地址:
2:eth0:mtu 1500 qdisc pfifo_fast 状态UP qlen 1000 链接/以太 08:00:27:1d:fa:0b brd ff:ff:ff:ff:ff:ff inet 192.168.0.201/24brd 192.168.0.255 范围全局 eth0 inet 192.168.0.203/24范围全局辅助 eth0
感谢 Lekensteyn 为我指明了正确的方向。互联网上的每个网站都只是在谈论eth0:0
辅助 IP 地址。这看起来是正确的方法。
答案2
如果您想以“传统”方式做事,相关部分/etc/network/interfaces
应该是这样的:
auto eth0:0
iface eth0:0 inet static
address ip.address.goes.here
netmask subnet.address.goes.here
而不是这样,你犯了一个错误:
auto eth0:0 iface eth0:0 inet static
address ip.address.goes.here
netmask subnet.address.goes.here