更新于2024/5/10,本文已经是旧版本了有些地方已经修改,如果想查看最新版本的文章可以进入我的csdn主页或博客中查看!!!

    新增其他网络配置,如:无线网络(AP模式)、vlan、vxlan、bridge、路由以及优先级等。点击以下连接即可查看最新配置

使用nmcli命令在Linux系统上配置各种网络(有线、无线、vlan、vxlan等)icon-default.png?t=N7T8https://myweb.myskillstree.cn/123.html

目录

配置Network-Manager接管网络(Ubuntu需要,Centos不需要)

nmcli的相关配置

有线网络配置

使用nmcli添加一个网卡并配置静态ip地址

激活/关闭网卡

使用nmcli修改一个网卡的地址

使用nmcli添加一个网卡配置使其获取动态ip地址

使用nmcli将已有的静态网卡配置修改为动态网卡配置

使用nmcli将已有的动态网卡配置修改为静态网卡配置

使用nmcli删除一个网卡配置信息

使用nmcli修改网卡设备的连接名称

无线网络配置(需要有无线网卡):

打开/关闭无线网络开关

查看无线网络开关状态:

扫描可用的无线网络

连接到无线网络

查看连接状态

查看连接的详细信息

其他设置:


PS:network-manager接管网络后使用nmcli命令修改网卡的相关配置后会永久生效(重启网卡后依旧生效)

配置Network-Manager接管网络(Ubuntu需要,Centos不需要)

安装Network-Manager

apt install network-manager -y

编辑Network-Manager配置文件

vim /etc/NetworkManager/NetworkManager.conf
  将 managed=flase 改为 managed=true
保存退出
systemctl restart NetworkManager                    # 重启NetworkManager服务

编辑/etc/netplan/*.yaml,在我的机器上为:01-network-manager-all.yaml

vim /etc/netplan/01-network-manager-all.yaml
修改为以下内容:
network:
  version: 2
  renderer: NetworkManager
保存退出
netplan apply                                      # 应用配置

此时已经可以通过nmcli管理网络了

        使用nmcli -p device查看设备状态

nmcli -p device

============
  设备状态
============
DEVICE  TYPE      STATE   CONNECTION 
--------------------------------------------------
ens32   ethernet  已连接  有线连接 1 
lo      loopback  未托管  --      

nmcli的相关配置

有线网络配置

使用nmcli添加一个网卡并配置静态ip地址

        语法:

nmcli con add con-name <连接名> ifname <网卡名> type <连接类型> ipv4.method manual ipv4.addresses <ipv4地址> ipv4.gateway <ipv4网关地址> ipv4.dns <ipv4 dns服务器>

      注意:如果想要添加两个dns地址应该用双引号 " " 将两个地址包起来,表示两个地址都是DNS地址

        示例:

nmcli con add con-name test ifname ens32 type ethernet ipv4.method manual ipv4.addresses 192.168.10.10/24 ipv4.gateway 192.168.10.2 ipv4.dns 192.168.10.2
 连接 "test" (3ceeec8a-d92c-42dd-ae10-2f5478eda991) 已成功添加

        此时静态地址就配置完成了,但是网卡还未激活配置未生效

激活/关闭网卡

        语法:

nmcli con {up/down} <连接名>

        示例:

nmcli con up test 
 连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/2)

        查看网卡信息

nmcli con show

NAME        UUID                                  TYPE      DEVICE 
test        3ceeec8a-d92c-42dd-ae10-2f5478eda991  ethernet  ens32  
有线连接 1   b640bf63-ac94-3547-be75-8fac06083304  ethernet  --    

使用nmcli修改一个网卡的地址

        语法:

nmcli con modify <连接名> ipv4.method manual ipv4.addresses <新的ipv4地址> ipv4.gateway <新的ipv4网关地址> ipv4.dns <dns服务器>

        示例:

nmcli con modify ens33 ipv4.method manual ipv4.addresses 192.168.10.20/24 ipv4.gateway 192.168.10.2 ipv4.dns 192.168.10.2

        刷新网卡并查看信息

nmcli con up test
ip add

使用nmcli添加一个网卡配置使其获取动态ip地址

        语法:

nmcli con add con-name <连接名> ifname <网卡名> type <连接类型> ipv4.method auto

        示例:

nmcli con add con-name test ifname ens32 type ethernet ipv4.method auto
nmcli con up test                                     # 激活网卡

使用nmcli将已有的静态网卡配置修改为动态网卡配置

        语法:

nmcli con modify <连接名> ipv4.method auto

        示例:

nmcli con modify test ipv4.method auto
nmcli con up test

        PS:需要将静态地址删除,否则会有两个地址出现

nmcli connection modify test ipv4.addresses "" ipv4.gateway ""        # 将test的ip地址和网关设置为空,也就不存在了,只剩下了动态地址

使用nmcli将已有的动态网卡配置修改为静态网卡配置

        语法:

nmcli con modify <连接名> ipv4.method manual ipv4.address <IP地址/子网掩码> ipv4.gateway <网关> ipv4.dns <dns地址>

        示例:

nmcli con modify test ipv4.method manual ipv4.address 192.168.10.20/24 ipv4.gateway 192.168.10.2 ipv4.dns 192.168.10.2
nmcli con up test

使用nmcli删除一个网卡配置信息

        语法:

nmcli con del <连接名> 

        示例:

nmcli con del test
 成功删除连接 "test" (3ceeec8a-d92c-42dd-ae10-2f5478eda991)

        查看网卡信息

nmcli con show

NAME        UUID                                  TYPE      DEVICE 
有线连接 1  b640bf63-ac94-3547-be75-8fac06083304  ethernet  ens32 

使用nmcli修改网卡设备的连接名称

        语法:

nmcli con modify <原名称或UUID值> connection.id <新名称>

        示例:

        先查看网卡设备的各项信息

nmcli con show

NAME        UUID                                  TYPE      DEVICE 
有线连接 1   b640bf63-ac94-3547-be75-8fac06083304  ethernet  ens32     

        修改网卡设备的连接名称为ens32

nmcli con modify b640bf63-ac94-3547-be75-8fac06083304 connection.id ens32

        再次查看网卡设备的各项信息,可以发现NAME这一栏的名称被修改了

nmcli con show

NAME        UUID                                  TYPE      DEVICE 
ens32       b640bf63-ac94-3547-be75-8fac06083304  ethernet  ens32   

无线网络配置(需要有无线网卡):

打开/关闭无线网络开关

        语法:

nmcli radio all <on/off>

        示例:

nmcli radio all on

查看无线网络开关状态:

        语法:

nmcli radio <all--默认>

        示例:

nmcli radio 
  WIFI-HW  WIFI    WWAN-HW  WWAN   
  已启用   已启用  已启用   已启用 

扫描可用的无线网络

nmcli device wifi list

        这个命令会列出所有可用的无线网络及其详细信息

连接到无线网络

        如果您知道无线网络的 SSID(网络名称),可以直接连接:

        语法:

nmcli dev wifi connect <SSID> password <network-password>

        示例:

nmcli device wifi con 李李密制十三香 password MySkillstree
  设备 "wlx0013ef6f25bd" 成功以 "c2d01c8d-47e5-41ee-8a3c-171aaddf53a8" 激活。

        如果您知道无线网络的 SSID(网络名称)但不想显示密码,可以加入-a 或 --ask参数,此参数会询问缺少的参数

        语法:

nmcli -a device wifi con <SSID>

        示例:

nmcli -a device wifi con 李李密制十三香
  密码: ••••••••••••
  设备 "wlx0013ef6f25bd" 成功以 "afc44524-ba51-452b-ae51-21f2cd2b2f6f" 激活。

查看连接状态

        连接尝试后,您可以检查连接状态

nmcli connection show
  NAME            UUID                                   TYPE      DEVICE          
  李李密制十三香   afc44524-ba51-452b-ae51-21f2cd2b2f6f   wifi      wlx0013ef6f25bd

查看连接的详细信息

        语法:

nmcli connection show <connection-name>

        示例:

nmcli connection show  李李密制十三香

其他设置:

        对于其他设置如:动静态地址,修改连接名称,删除连接等均与有线网络设置一样,这里就不在讲述

Logo

更多推荐