linux 添加secondary ip

 linux下ip地址除了primary外,还有两种:
1. ip alias(子接口)
2. secondary ip(辅助ip)

 都可在一块物理网卡上添加,alias由ifconfig添加,ifconfig查看时以子接口如eth0:1的形式显示;secondary ip由ip命令所支持.

 1. ip alias(子接口)
# ifconfig eth0:1 10.10.56.33/24 up                

#添加到内存中并立即生效,ifconfig和ip addr sh可查看.也可到/etc/sysconfig/network-scripts目录下面创建一个对应的子接口配置文件:
cd 
/etc/sysconfig/network-scripts ;
cp ifcfg-eth0 ifcfg-eth0:0 ;
编辑:ifcfg-eth0:0, 将里面的设备名称和ip地址等修改即可:  
DEVICE=eth0:0
IPADDR=10.10.56.33
Linux最多255个ip alias. 

 2. secondary ip(辅助ip)
添加secondary ip:
# ip a add dev eth1 172.16.18.18/24 brd 172.16.18.255
# ip a sh dev eth1
......          
inet 172.16.18.118/24 brd 172.16.18.255 scope global secondary eth1
#如果添加的是同网段的ip,那么显示的是secondary ip;如果不是同一网段的那就是primary. 不过对于物理网卡,对于我们来说,除了第一个配置的ip地址,之后添加的都可以算是secondary了.这里添加的ip ifconfig命令是看不到的. 
就我本人所知, ip添加secondary ip只添加到内存,不知道是否可以以配置文件的方式实现.


删除网卡的第二个IP地址:

ip addr del 192.168.0.1/24 dev eth0  

Usage: ip addr {add|change|replace} IFADDR dev STRING [ LIFETIME ]
                                                      [ CONFFLAG-LIST]
       ip addr del IFADDR dev STRING
       ip addr {show|flush} [ dev STRING ] [ scope SCOPE-ID ]
                            [ to PREFIX ] [ FLAG-LIST ] [ label PATTERN ]
IFADDR := PREFIX | ADDR peer PREFIX
          [ broadcast ADDR ] [ anycast ADDR ]
          [ label STRING ] [ scope SCOPE-ID ]
SCOPE-ID := [ host | link | global | NUMBER ]
FLAG-LIST := [ FLAG-LIST ] FLAG
FLAG  := [ permanent | dynamic | secondary | primary |
           tentative | deprecated | CONFFLAG-LIST ]
CONFFLAG-LIST := [ CONFFLAG-LIST ] CONFFLAG
CONFFLAG  := [ home | nodad ]
LIFETIME := [ valid_lft LFT ] [ preferred_lft LFT ]

LFT := forever | SECONDS 

原文地址:https://www.cnblogs.com/itfat/p/7268045.html