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 ens33


systemctl 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 none

        bridge  默认,桥接到docker0网络

        host  直接使用宿主机IP

        container  与已存在的容器共享同一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/[email protected]

# br1 为容器桥接的网卡

# test 为容器名称

# @ 以前为给容器设定的IP及掩码,以后为给容器设定的网关,这里即br1的IP,也可以直接将路由器网关作为容器网关

进入容器测试

docker exec -it test /bin/sh

(这里所测试的IP是百度的IP)

笔者所使用的镜像无法进行域名解析,需要自己配置

你可能感兴趣的:(centos8 nmcli重建网络)