我想让两个 IP 共享同一个接口,并且通过使用以下命令创建虚拟接口(eth0
是我的原始接口),它可以正常工作:
ifconfig eth0:0 <someip> netmask <somenetmask>
它工作正常,我可以看到它在使用,ifconfig
直到我重新启动系统。所以,我确实创建了ifcfg-eth0:0
以下/etc/sysconfig/network-scripts/
内容:
DEVICE=eth0:0
IPADDR=<some ip>
NETMASK=<some netmask>
ONBOOT=yes
但是,当我放置此虚拟接口时,它会覆盖原始接口,而当我放置原始接口时,它会覆盖虚拟接口。当我使用永久方式时,我不能同时使用两者。
PS:我使用以下命令来设置界面:
# To make up
ifup eth0
ifup eth0:0
我使用的是cent操作系统
答案1
我无法用 Centos 重现这个问题。你有没有尝试过eth0:1代替eth0:0?另外,我注意到ifup eth0调出所有虚拟接口,因此您无需ifup eth0:1。
使用 Centos 6.4 进行测试。
答案2
以下是我在基于 Red hat 的发行版上创建虚拟接口(又名网络别名)时通常遵循的步骤:
创建网络配置文件
$ cat /etc/sysconfig/network-scripts/ifcfg-eth0:0 TYPE=Ethernet DEVICE=eth0:0 IPADDR=192.168.1.2 NETMASK=255.255.255.0 NETWORK=192.168.1.0 BROADCAST=192.168.1.255 ONBOOT=yes NAME=eth0:0 BOOTPROTO=none USERCTL=no IPV6INIT=no ONPARENT=yes PEERDNS=yes
GATEWAY=
从基本 ifcfg 文件中删除行:$ cat /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE=Ethernet DEVICE=eth0 IPADDR=192.168.1.1 NETMASK=255.255.255.0 NETWORK=192.168.1.0 BROADCAST=192.168.1.255 ONBOOT=yes NAME=eth0 BOOTPROTO=none USERCTL=no IPV6INIT=no ONPARENT=yes PEERDNS=yes
将
GATEWAY=
行添加到网络配置文件:$ cat /etc/sysconfig/network HOSTNAME=grinchy NETWORKING=yes GATEWAY=192.168.1.254
开始联网
# start just eth0:0 $ ifup eth0:0 # all networking $ /etc/init.d/networking restart