centos8|centos8 nmcli重建网络

有的系统网卡是eth0 有的是ens33 ,使用ifconfig即可查看
新建网卡,命名为br1

nmcli connection add type bridge con-name br1 ifname br1 autoconnect yes # con-name 后接新建命名的网卡名# ifname 后接新建网卡连接的网卡设备名,此例为自己连接自己,如果去掉系统将自动指定其他不存在的设备,但会给后期设置带来不必要的麻烦# autoconnect 为是否开机自动连接

此时系统网卡目录里已经有了br1网卡的文件
ls /etc/sysconfig/network-scripts

查看连接也已经出现br1网卡
nmcli connection

将新建的br1桥接到系统原有网卡ens33
nmcli connection add type bridge-slave con-name br1-ens33 ifname ens33 master br1

此时系统网卡目录里已经有了br1网卡桥接ens33的文件
ls /etc/sysconfig/network-scripts

关闭原有网卡,重启NetworkManager
nmcli connection down ens33systemctl restart NetworkMansger

如果 启动不了 解决:
1、可以尝试使用以下命令:
service network-manager restart

2、如果是 Kali Linux(Debian),则需要用以下命令:
service networking restart

3、如果是Centos 8,则需要用以下命令:
nmcli c reload

查看IP地址
此时可以连接外部网络
创建不设定网络的Docker容器
docker run -itd --net=none --name=test centos /bin/sh # -it 表示交互式启动容器,-itd 表示后台交互式启动容器,不可去掉it,否则将无法启动和进入容器# --net 表示创建容器网络模式,包含:bridge host container nonebridge默认,桥接到docker0网络host直接使用宿主机IPcontainer与已存在的容器共享同一IP,但二者不在同一网络none不会创建网络,可使用pipework工具手工配置# --name 表示创建容器的名字# 后面的centos为笔者使用的镜像名# /bin/sh 为指定以shell运行

准备pipework工具
下载pipework工具
git clone https://github.com/jpetazzo/pipework

设置pipework
cp pipework/pipework /usr/local/bin/pipework#pipework为可执行文件

使用pipework工具为新建的容器配置应用br1的桥接网络
pipework br1 test 192.168.0.233/24@192.168.0.6# br1 为容器桥接的网卡# test 为容器名称# @ 以前为给容器设定的IP及掩码,以后为给容器设定的网关,这里即br1的IP,也可以直接将路由器网关作为容器网关

进入容器测试
docker exec -it test /bin/sh

【centos8|centos8 nmcli重建网络】(这里所测试的IP是百度的IP)
笔者所使用的镜像无法进行域名解析,需要自己配置

    推荐阅读