在为接口分配多个 IPv4 地址时,我遇到了一个小问题。我按照以下步骤添加了 2 个 IPv4 地址:
首先,我使用以下命令行添加了 2 个 IPv4 地址:
#sudo ip address add 10.0.0.21/24 dev eth1 #sudo ip address add 10.0.1.21/24 dev eth1
为了检查结果,我输入了以下命令行:
#ip address show eth0.
其次,为了使这些配置永久生效,我
/etc/network/interfaces
通过添加特定配置来编辑文件,现在它看起来像这样:auto eth1 iface eth1 inet static address 10.0.0.21 netmask 255.255.255.0 gateway 10.0.0.1 auto eth1 iface eth1 inet static address 10.0.1.21 netmask 255.255.255.0 gateway 10.0.1.1
最后,为了在不重启的情况下激活这些设置,我输入了以下命令
ifdown/ifup
:#sudo ifdown eth1 && sudo ifup eth1.
第一个问题是当我使用 ifdown/ifup 命令时,我收到以下通知:
ifdown: interface eth1 not configured
RTNETLINK answers: File exists
Failed to bring up eth1.
而我更新了/etc/network/interfaces
so,通常它可以识别界面。
第二个问题是当我重新启动机器时,所有设置都丢失了。谢谢
答案1
要在接口上添加辅助 IP,您必须创建子接口。
在你的情况下eth1:1
auto eth1
iface eth1 inet static
address 10.0.0.21
netmask 255.255.255.0
gateway 10.0.0.1
auto eth1:1
iface eth1:1 inet static
address 10.0.1.21
netmask 255.255.255.0
gateway 10.0.1.1
metric 20
根据评论,我编辑了答案并向接口添加了度量eht1:1
。这意味着网关将成为主要路由决策。如果您希望成为主要路由eth1
,则可以向添加度量。eth1
eth1:1
编辑2
我发现更多人有同样的问题,解决办法是:
auto eth1
iface eth1 inet static
address 10.0.0.21
netmask 255.255.255.0
gateway 10.0.0.1
up ip addr add 10.0.1.21/24 dev eth1 label eth1:1
down ip addr del 10.0.1.21/24 dev eth1 label eth1:1
up ip route add 10.0.1.0/24 via 10.0.1.1 dev eth1:1 metric 20
down ip route del 10.0.1.0/24 via 10.0.1.1 dev eth1:1 metric 20