linux使用nmcli连接无线网络

一、背景
背景:wpa_supplicant工具在某些场景的使用上感觉不够简洁、灵活,因此找到了这个工具,nmcli只需要在新增无线时指定相关的配置即可生成各种认证的配置,完成各种认证。

二、nmcli安装使用

nmcli文档:https://developer-old.gnome.org/NetworkManager/stable/nmcli.html

安装: apt install network-manager

注:不同内核和驱动效果可能不一样,有些内核下,部分指令无法连接成功,建议使用推荐的镜像 

功能 指令 说明
进入nmcli交互 nmcli connection edit type wifi

检查设备状态

nmcli device status
查看激活的连接 nmcli connection show --active
查看已存在的连接      nmcli connection show

显示设备详情

nmcli device show enp0s8 enp0s8为网卡名
新增的连接查看配置文件 /etc/NetworkManager/system-connections 目录下找到对应的连接名称
新增企业认证 nmcli connection add con-name  wifi_name  type wifi  ifname wlx5cde341992c9 ssid  wifi_name  wifi-sec.key-mgmt wpa-eap  802-1x.eap peap  802-1x.identity  1 802-1x.password 1   ipv4.method  auto  802-1x.phase2-auth mschapv2 wifi_name 为wifi名,wlx5cde341992c9为网卡名,802-1x.identity后面为账号,802-1x.password后面为密码
新增psk连接 nmcli connection add con-name  wifi_name type wifi  ifname wlx5cde341992c9 ssid  sdn_test_init  wifi-sec.key-mgmt wpa-psk  wifi-sec.psk  sdn_test_init_psk    ipv4.method  auto wifi_name 为ssid名称,wlx5cde341992c9为无线网卡名称,wpa-psk表示为wpa类型,wifi-sec.psk后面接PSK密钥, ipv4.method  auto表示IPV4地址为DHCP
新增Open nmcli connection add con-name  wifi_name  type wifi  ifname wlx5cde341992c9 ssid  wifi_name  ipv4.method  auto
新增802.1x账号认证 nmcli connection add con-name  wifi_name  type wifi  ifname wlx5cde341992c9 ssid wifi_name   802-1x.eap peap  802-1x.identity  1 802-1x.password 1  802-1x.phase2-auth mschapv2   wifi-sec.key-mgmt   IEEE8021X    ipv4.method  auto 

重点在wifi-sec.key-mgmt   IEEE8021X

需要证书认证的参数需要带

( wifi-sec.key-mgmt wpa-eap 802-1x.eap ttls

802-1x.phase2-auth mschapv2

802-1x.ca-cert ~/ca.pem 802-1x.client-cert ~/cert.pem \

 802-1x.private-key-password "..." 802-1x.private-key ~/key.pem)

新增802.1x 安全账号认证ttls nmcli connection add con-name wifi_name   type wifi  ifname wlx5cde341992c9 ssid  wifi_name    802-1x.eap ttls  802-1x.identity test123  802-1x.password test111  802-1x.phase2-auth mschapv2   wifi-sec.key-mgmt   IEEE8021X    ipv4.method  auto
扫描wifi nmcli dev wifi
启用连接 nmcli connection up wifi_name    ifname wlx5cde341992c9  
删除连接 nmcli connection delete  wifi_name  
列出所有无线网络 nmcli d wifi list
关闭/打开 所有无线网卡 nmcli nm wifi off/on
修改连接

修改为动态地址:nmcli con modify wifi_name     ipv4.method  auto

静态地址:nmcli connection add con-name <连接名> ifname <网卡名> type <连接类型> ipv4.method manual ipv4.addresses ipv4.gateway ipv4.dns

交互部分指令

nmcli> set ipv4.dns 8.8.8.8 8.8.4.4

nmcli> print

nmcli> verify

nmcli> save

nmcli> quit

802.1x证书认证 tls nmcli connection add con-name  wifi_name      type wifi  ifname wlx5cde341992c9 ssid  wifi_name      802-1x.eap tls   wifi-sec.key-mgmt   IEEE8021X    ipv4.method  auto  802-1x.client-cert /etc/pki/wifi/client.p12  802-1x.private-key /etc/pki/wifi/client.key  802-1x.private-key-password   123456

(wpa2-psk可选none, ieee8021x, wpa-psk, wpa-eap, sae )

(802-1x.eap 可选leap, md5, tls, peap, ttls, sim, fast, pwd )

(802-1x.phase2-auth可选pap, chap, mschap, mschapv2, gtc, otp, md5, tls)

自动连接参数: connection.autoconne  true

注:上述指令如果一直正常,突然无法连接了,可能是 网卡出现异常,需要重启设备恢复

参考:https://blog.51cto.com/u_7072753/2416910

你可能感兴趣的:(linux,linux,运维,服务器)