ifconfig与ip addr的恩怨情仇
2018-11-13阅读 7409

ifconfigip addr都支持为接口配置多个地址,但是两个命令之间是有些许差异的,你注意到了么?


ifconfig使用子接口(别名接口/虚拟接口)的方法在同一接口中绑定多个IP地址。


# ifconfig ens33 192.168.1.100/24

# ifconfig ens33:0 192.168.2.100/24

# ifconfig

ens33: flags=4163 mtu 1500

inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255

ether 00:0c:29:f7:21:70 txqueuelen 1000 (Ethernet)

……

ens33:0: flags=4163 mtu 1500

inet 192.168.2.100 netmask 255.255.255.0 broadcast 192.168.2.255

ether 00:0c:29:f7:21:70 txqueuelen 1000 (Ethernet)


如果不使用子接口地址的话,可以使用如下命令使之失效:

# ifconfig ens33:0 down



ip addrip address的缩写,支持直接为同一接口分配多个地址,只要重复多次使用 ip addr命令配置地址就可以分配多个地址。


# ip addr add 192.168.1.111/24 dev ens33

# ip addr add 192.168.2.222/24 dev ens33

# ip addr show ens33

2: ens33: mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 00:0c:29:f7:21:70 brd ff:ff:ff:ff:ff:ff

inet 192.168.1.111/24 brd 192.168.1.255 scope global ens33

valid_lft forever preferred_lft forever

inet 192.168.2.222/24 brd 192.168.2.255 scope global ens33

valid_lft forever preferred_lft forever


删除一个地址可以使用:

# ip addr del 192.168.2.222/24 dev ens33


两种不同设置IP地址的方法都是立即生效,但是重启系统后会失效。

想要永久设置,需要把IP地址信息写入配置文件,两种不同的配置方式写法也是不同的!


对于ifconfig来说,聪明的你大概可以想到是怎么做了,没错~给子接口新建配置文件。这里我们只想配置两个IP,那么只需要新建一个配置文件即可,网卡名称是ens33,那么我们只需要新建一个ifcfg-ens33:0即可。如果想要设定3IP地址,再创建一个ens33:1,以此类推。值得注意的一点是,如果是子接口的配置,需要DEVICE=子接口名。


配置样例,如:

# vim /etc/sysconfig/network-scripts/ifcfg-ens33

DEVICE=ens33

TYPE=Ethernet

BOOTPROTO=static

NAME=ens33

UUID=f19830bc-ea6e-4b35-9587-778307a54b88

ONBOOT=yes

IPADDR=192.168.1.100

PERFIX=24


# vim /etc/sysconfig/network-scripts/ifcfg-ens33:0

DEVICE=ens33:0

TYPE=Ethernet

BOOTPROTO=static

NAME=ens33

UUID=f19830bc-ea6e-4b35-9587-778307a54b88

ONBOOT=yes

IPADDR=192.168.2.100

PERFIX=24



对于ip addr来说,只需要一个配置文件即可,在里面写入多个地址的信息,分别使用IPADDR0PREFIX0IPADDR1PREFIX1……标识即可,如:

# vim /etc/sysconfig/network-scripts/ifcfg-ens33

DEVICE=ens33

TYPE=Ethernet

BOOTPROTO=static

UUID=f19830bc-ea6e-4b35-9587-778307a54b88

NAME=ens33

ONBOOT=yes

IPADDR0=192.168.1.111

PREFIX0=24

IPADDR1=192.168.2.222

PREFIX1=24


如果需要添加网关信息,也是类似的使用GATEWAY0GATEWAY1……标识即可。

怎么样,现在是不是明白两种不同的配置方法了呢?