制作永久虚拟接口?

制作永久虚拟接口?

我想让两个 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 的发行版上创建虚拟接口(又名网络别名)时通常遵循的步骤:

  1. 创建网络配置文件

    $ 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
    
  2. 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
    
  3. GATEWAY=行添加到网络配置文件:

    $ cat /etc/sysconfig/network
    HOSTNAME=grinchy
    NETWORKING=yes
    GATEWAY=192.168.1.254
    
  4. 开始联网

    # start just eth0:0
    $ ifup eth0:0
    
    # all networking
    $ /etc/init.d/networking restart
    

参考

相关内容