Bootstrap

CentOS8配置网桥利用nmcli工具

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网卡即可。

;