本文介绍一下Linux环境下如何在一个网卡上绑定多个IP。当前的操作系统环境:
# uname -a
Linux localhost.localdomain 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
1. 给网卡绑定多个IP
在添加虚拟网卡之前,我们先来看一下我们当前的网络情况:
下面我们在ens33上绑定一个新的IP地址: 192.168.79.180
1) 临时绑定
添加虚拟网卡ens33:0(这里不一定非得从0开始,只要是0-255范围的任何数字都可以)
然后,我们可以在另外一台机器上ping 192.168.78.180这个IP:
通过上面我们可以看到,ens33
与ens33:0
是共用同一块网卡的,其对应的MAC地址相同。
如果要禁用虚拟网卡,操作方式和禁用物理网卡是一样的。例如:
这里注意,使用ifconfig临时加的网卡一旦down就没了,再也up不起来。如果重启网络服务、重启系统,临时加的虚拟网卡也会消失。
2) 永久绑定
永久生效的办法只有一个,修改配置文件。参看如下:
然后修改ifcfg-ens33:0
这一配置文件如下:
# cat ifcfg-ens33:0
TYPE="Ethernet"
BOOTPROTO="static"
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="e1aa4838-3ecc-4b38-b44e-2095e6f6a7d5"
DEVICE="ens33:0"
ONBOOT="yes"
IPADDR="192.168.79.180"
NETMASK="255.255.255.255"
修改完成之后执行如下命令重启该网卡:
注意: 有些人在这一步喜欢用service network restart来重启网络,其实这是没必要的,只需要启用这张网卡就可以了。
[参看]
- Linux高级网络设置——给网卡绑定多个IP