Bridge(网桥)是 Linux 上用来做 TCP/IP 二层协议交换的设备,与现实的交换机功能相似。网桥设备实例可以和 Linux 上其他网络设备实例连接。当有数据到达时,网桥会根据报文中的 MAC 信息进行广播、转发、丢弃处理。
CentOS8中,已经默认不使用network.service管理网络了,默认采用NetworkManager.service管理,本文采用nmcli工具来配置网桥。
1、nmcli命令
用法: nmcli [OPTIONS] OBJECT { COMMAND | help }
选项
-a, 询问缺少的参数
-c, --颜色自动|是|否是否在输出中使用颜色
-e, --escape yes |值中没有escape列分隔符
-f, --fields<field,…>| all | common指定要输出的字段
-g, --get values<field,…>| all |-m tabular-t-f的通用快捷方式
-h, --帮助打印此帮助
-m, --模式表格|多行输出模式
-o, --概述模式
-p, --相当不错的输出
-s, --显示机密允许显示密码
-t, ——简洁输出
-v, ---版本显示程序版本
-w, ---wait<seconds>设置等待完成操作的超时
对象
g[eneral] NetworkManager's general status and operations
n[etworking] overall networking control
r[adio] NetworkManager radio switches
c[onnection] NetworkManager's connections
d[evice] devices managed by NetworkManager
a[gent] NetworkManager secret agent or polkit agent
m[onitor] monitor NetworkManager changes
常用命令:
注意一下connection可简写为c
查看网卡信息
#nmcli connection ###connection可简写为c
#nmcli con show
显示具体的网络接口信息
#nmcli c show ens33
显示所有设配状态
# nmcli device status
修改配置文件执行生效
#nmcli connection reload
显示所有活动连接
# nmcli connection show --active
删除一个网卡连接
# nmcli connection delete eth0
添加一个网卡连接
# nmcli connection add type ethernet con-name eth0 ifname br0
网络接口的启用与停用:
停用:
# nmcli connection down eth0
启用:
# nmcli connection up eth0
添加一个ipv4
# nmcli connection modify eth0 +ipv4.addresses 192.168.1.55/24
删除一个ipv4
# nmcli connection modify eth0 -ipv4.addresses 192.168.1.55/24
添加DNS
# nmcli connection modify eth0 ipv4.dns 114.114.114.114
删除DNS
# nmcli connection modify eth0 -ipv4.dns 114.114.114.114
添加一个网关(GATEWAY)
# nmcli connection modify eth0 ipv4.gateway 192.168.1.2
可一块写入:
nmcli connection modify eth0 ipv4.dns 114.114.114.114 ipv4.gateway 192.168.1.2
2、配置网卡br0
(1)、Centos8默认的一张网卡
[18:12:44 root@wangzhike ~]#cd /etc/sysconfig/network-scripts/
[18:12:52 root@wangzhike network-scripts]#ls
ifcfg-ens33 ##只有一张网卡
[19:06:38 root@wangzhike network-scripts]#nmcli connection ##查看连接
NAME UUID TYPE DEVICE
ens33 e73f4e75-b147-460c-8de9-06a9a09b53a4 ethernet ens33
docker0 39cd2d8f-6506-47c5-a094-4c9fc16334e6 bridge docker0
(2)、创建ifcfg-br0网卡
[19:08:33 root@wangzhike network-scripts]#nmcli connection add type bridge con-name br0 ifname br0 autoconnect yes
######################nmcli命令配置
Connection 'br0' (2bf8917a-dcac-442c-98be-0338ac68522d) successfully added.
######################注意:这时增加了一个br0网卡
[19:08:13 root@wangzhike network-scripts]#ls
ifcfg-br0 ifcfg-ens33
[19:11:27 root@wangzhike network-scripts]#cat ifcfg-br0
STP=yes
BRIDGING_OPTS=priority=32768
TYPE=Bridge
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br0
UUID=2bf8917a-dcac-442c-98be-0338ac68522d
DEVICE=br0
ONBOOT=yes
若需要静态IP就编辑ifcfg-br0
BOOTPROTO=static ##设置为静态
增加
IPADDR=192.168.1.63 ##同网段IP地址
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=114.114.114.114
查看增加了br0网卡
[19:08:37 root@wangzhike network-scripts]#nmcli connection ##查看连接
NAME UUID TYPE DEVICE
br0 f93e41cb-7417-4796-baf1-250325560d3d bridge br0
ens33 e73f4e75-b147-460c-8de9-06a9a09b53a4 ethernet ens33
docker0 39cd2d8f-6506-47c5-a094-4c9fc16334e6 bridge docker0
(3)、网桥br0桥接至ens33
[19:13:14 root@wangzhike network-scripts]#nmcli connection add type bridge-slave ifname ens33 master br0
Connection 'bridge-slave-ens33' (0406e703-6ade-4b92-a413-dd339db4393a) successfully added.
[19:13:28 root@wangzhike network-scripts]#ls
ifcfg-br0 ifcfg-bridge-slave-ens33 ifcfg-ens33
[19:13:30 root@wangzhike network-scripts]#cat ifcfg-bridge-slave-ens33
TYPE=Ethernet
NAME=bridge-slave-ens33
UUID=0406e703-6ade-4b92-a413-dd339db4393a
DEVICE=ens33
ONBOOT=yes
BRIDGE=br0
[19:14:37 root@wangzhike network-scripts]#nmcli connection ##查看连接
NAME UUID TYPE DEVICE
br0 2bf8917a-dcac-442c-98be-0338ac68522d bridge br0
ens33 e73f4e75-b147-460c-8de9-06a9a09b53a4 ethernet ens33
docker0 39cd2d8f-6506-47c5-a094-4c9fc16334e6 bridge docker0
bridge-slave-ens33 0406e703-6ade-4b92-a413-dd339db4393a ethernet --
(4)重启网卡
[19:16:47 root@wangzhike network-scripts]#nmcli c down ens33 ##这时ssh远程连接断开
断开是因为IP地址改变
再在虚拟机内执行nmcli c up br0启动br0网卡(需要等待一会)
启动后使用br0的IP地址ssh远程连接工具连接
(5)、测试网卡br0是否可以联网
也可以使用ping baidu.com
[19:46:19 root@wangzhike ~]#ping g.cn
PING g.cn (203.208.43.95) 56(84) bytes of data.
64 bytes from 203.208.43.95 (203.208.43.95): icmp_seq=1 ttl=112 time=71.8 ms
64 bytes from 203.208.43.95 (203.208.43.95): icmp_seq=2 ttl=112 time=71.3 ms
64 bytes from 203.208.43.95 (203.208.43.95): icmp_seq=3 ttl=112 time=71.2 ms
64 bytes from 203.208.43.95 (203.208.43.95): icmp_seq=4 ttl=112 time=71.2 ms
^Z
[1]+ 已停止 ping g.cn
若不需要使用桥接的br0网卡,关闭重启ens33网卡即可。