sudo nmcli dev
时间: 2025-05-11 21:21:41 浏览: 19
### 关于 `sudo nmcli dev` 的使用说明
`nmcli dev` 是 NetworkManager 提供的一个子命令,主要用于管理和查询网络设备的状态。以下是该命令的一些常用选项及其功能:
#### 查看所有网络设备状态
运行以下命令可查看当前系统中的所有网络设备及其状态:
```bash
sudo nmcli dev status
```
此命令会返回每台设备的名称、类型、状态以及连接名称[^1]。
#### 设置设备为不可管理状态
有时需要将某些设备排除在网络管理器之外,可以通过以下命令实现:
```bash
sudo nmcli dev set <device_name> managed no
```
例如,对于无线网卡 `wlx08beac134a56`,可以执行如下操作将其设为不受 NetworkManager 管理:
```bash
sudo nmcli dev set wlx08beac134a56 managed no
```
这一步常用于解决特定设备与其他服务冲突的情况,比如创建自定义接入点 (AP)[^3]。
#### 启动或禁用设备
启动某个网络设备:
```bash
sudo nmcli dev up <device_name>
```
禁用某个网络设备:
```bash
sudo nmcli dev down <device_name>
```
这些命令可以帮助快速启用或停用指定的网络接口。
---
### 常见问题排查
#### 1. **无法识别新添加的网络设备**
当插入新的网卡或其他网络设备时,可能发现它并未被操作系统自动检测到。此时可以尝试刷新 NetworkManager 缓存并重新扫描设备:
```bash
sudo nmcli dev disconnect <device_name>
sudo systemctl restart NetworkManager
```
如果仍然无效,可能是驱动程序缺失。通过以下命令确认驱动是否加载成功:
```bash
ethtool -i <device_name>
```
如果没有输出任何信息,则表明缺少相应的驱动支持[^2]。
#### 2. **修改 IP 配置后无法生效**
在使用 `nmcli con mod` 修改静态 IP 地址、网关或 DNS 后,记得重启对应的连接以使更改立即生效:
```bash
sudo nmcli con up "<Connection Name>"
```
忽略这一环节可能导致配置未能应用。
#### 3. **无线网卡与 Hostapd 结合使用的隔离问题**
在构建基于 Linux 的热点环境时,可能会遇到客户端间通信异常的现象。这是由于默认情况下 AP 不允许不同客户端直接交互所致。解决方案是在 hostapd 中增加参数 `ap_isolate=1` 来强制数据流经由桥接设备处理[^4]:
```ini
ap_isolate=1
```
随后验证 bridge 和 fdb 是否正常工作,确保 MAC 地址映射无误。
#### 4. **设备频繁断开重连**
若某设备不断上下线切换,应检查日志文件 `/var/log/syslog` 或者实时跟踪消息:
```bash
journalctl -u NetworkManager --follow
```
定位具体错误原因后再采取针对性措施修复。
---
### 示例脚本:批量设置多个设备为未托管状态
下面提供一段简单的 Bash 脚本来一次性将若干个指定设备移除出 NetworkManager 控制范围:
```bash
#!/bin/bash
devices=("wlx08beac134a56" "eth1")
for device in "${devices[@]}"; do
echo "Setting $device to unmanaged..."
sudo nmcli dev set "$device" managed no
done
echo "All selected devices have been configured as unmanaged."
```
---
阅读全文
相关推荐


















