一、什么是桥接模式
在计算机网络中,桥接模式(Bridge Mode)是将计算机网络互联时,将两个局域网以物理层的方式连接起来的一种方式。桥接器在连接在其上的两个局域网之间,过滤并转发以太网数据帧,从而起到连接两个局域网的作用。当我们需要在虚拟机中实现局域网互通时,就需要使用桥接模式。
二、实现桥接模式
1. 安装桥接模式所需的软件包
在 CentOS 7 系统中,桥接模式需要安装 bridge-utils 和 net-tools 两个软件包。
yum install -y bridge-utils net-tools
2. 配置桥接模式网络
要配置桥接模式网络,我们需要编辑 /etc/sysconfig/network-scripts/ifcfg-br0 文件。
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-br0
vim ifcfg-br0
将 ifcfg-br0 配置文件中的内容修改为以下内容:
TYPE=Bridge
DEVICE=br0
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.1.10
PREFIX=24
GATEWAY=192.168.1.1
DNS1=114.114.114.114
DNS2=8.8.8.8
NM_CONTROLLED=no
BRIDGE_PORTS=ens33
BRIDGE_STP=off
BRIDGE_DELAY=0
BRIDGE=br0
其中,IPADDR 为静态 IP 地址,PREFIX 为子网掩码,GATEWAY 为网关地址,DNS1 和 DNS2 为 DNS 服务器地址,BRIDGE_PORTS 为物理网卡的名称(这里为 ens33),BRIDGE_DELAY、BRIDGE_STP、BRIDGE 都是桥接模式需要的配置参数。
注意:在 ifcfg-br0 文件中,BRIDGE 对应的值必须是 br0,而且必须设置 ONBOOT=yes,否则配置不会生效。
3. 配置物理网卡
编辑物理网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-ens33 ,修改其内容为:
DEVICE=ens33
ONBOOT=yes
BRIDGE=br0
BOOTPROTO=none
注意:在 ifcfg-ens33 文件中,BRIDGE 对应的值必须是 br0。
4. 重启网络服务
配置完成后,我们需要重启网络服务使其生效:
service network restart
注意:重启网络服务会中断当前的远程 SSH 连接,导致失去对服务器的操作权限。所以,在重启网络服务之前,建议使用一条命令开启一个新的 SSH 窗口。
三、设置静态 IP 地址
在桥接模式中,我们一般需要设置静态 IP 地址,以便于在局域网中访问虚拟机。要设置静态 IP 地址,我们需要编辑 /etc/sysconfig/network-scripts/ifcfg-br0 文件,修改其内容为:
TYPE=Bridge
DEVICE=br0
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.1.10
PREFIX=24
GATEWAY=192.168.1.1
DNS1=114.114.114.114
DNS2=8.8.8.8
NM_CONTROLLED=no
BRIDGE_PORTS=ens33
BRIDGE_STP=off
BRIDGE_DELAY=0
BRIDGE=br0
其中 IPADDR 对应的值为虚拟机的静态 IP 地址。
四、总结
桥接模式能够连接两个局域网进行通信,是在虚拟机中实现局域网互通的必要条件。在 CentOS 7 系统中,要实现桥接模式网络,我们需要安装 bridge-utils 和 net-tools 两个软件包,并配置 ifcfg-br0 和 ifcfg-ens33 两个文件,最后重启网络服务使其生效。同时,静态 IP 地址的设置也是非常必要的。