我的机器是没有 wifi 硬件的虚拟机。它已连接到 eth0,一切正常,但 除外nmcli g status
,它显示“连接性”为“未知”,“WIFI-HW”为“缺失”。
我怎样才能让它明白没有WIFI硬件,这是完全可以接受的,而且它应该显示我已完全连接?
我搜索的所有信息都提供了有关如何调试 WIFI 的建议。我没有安装它,并且希望它能够识别出,就网络连接而言,一切正常。
这是 Debian GNU/Linux 12(书虫)。
我的机器是没有 wifi 硬件的虚拟机。它已连接到 eth0,一切正常,但 除外nmcli g status
,它显示“连接性”为“未知”,“WIFI-HW”为“缺失”。
我怎样才能让它明白没有WIFI硬件,这是完全可以接受的,而且它应该显示我已完全连接?
我搜索的所有信息都提供了有关如何调试 WIFI 的建议。我没有安装它,并且希望它能够识别出,就网络连接而言,一切正常。
这是 Debian GNU/Linux 12(书虫)。
我知道通过执行命令:
nmcli con show
我获取了 Linux 系统中存在的所有连接配置文件的列表。例如,如果我在 Linux Mint 系统中执行前面的命令,我会得到:
$ nmcli con show
NAME UUID TYPE DEVICE
lan0 b89ebc2f-8702-32d1-8dbf-e8d4cf226ce1 ethernet enp0s25
lan1 bd0a02cf-65e9-3cf5-8b51-ef05aa204e7c ethernet enp5s0f0
lan2 4b5d75d9-cab9-3ac5-95e5-cbeddf257cc5 ethernet enp5s0f1
lan1 with space 63b628f9-7671-41a4-8d2a-be5cfa34c454 ethernet --
lan2 with space 1cd1fb7d-0c5d-4105-ba27-c7e6ce7b6ecb ethernet --
在示例中,连接配置文件的名称包含空格(请参阅lan1 with space
和lan2 with space
)。
我的需要是执行前面的命令并仅获取连接的列表,NAME
而不包含列UUID
, TYPE
, DEVICE
。
在前面的示例中,我希望的输出是:
lan0
lan1
lan2
lan1 with space
lan2 with space
该命令是否有一个选项nmcli
可以准确给出之前的输出?
我正在尝试编写一个 bash 脚本来配置多个网络接口,并且在某些 NIC 获取有线连接名称而不是设备名称时遇到问题。例如
$ nmcli dev status
DEVICE TYPE STATE CONNECTION
ens22 ethernet connected ens22
ens18 ethernet connected Wired connection 2
ens19 ethernet connected ens19
ens20 ethernet connected Wired connection 1
ens21 ethernet connected ens21
lo loopback unmanaged --
这样做的影响是这些命令失败,因为它需要的是连接名称,而不是设备名称:
printf "\n${YELLOW}### Configure ens20: ###${NC}\n"
sudo nmcli con mod ens20 ipv4.addresses 10.70.20.254/24
sudo nmcli con mod ens20 ipv4.dns 8.8.8.8
sudo nmcli con mod ens20 ipv4.method manual
问题:
这有效:
sudo nmcli connection modify "Wired connection 2" connection.id "ens18"
这不起作用:
sudo nmcli device modify ens18 connection.id "ens18"
谢谢
使用 nmcli 创建新接口时,可以使用 ipv4.addresses 和 ip4 参数设置 IP 地址。
这些有区别吗?
例子
nmcli con add ifname ens192 con-name ens192 type ethernet ipv4.addresses 192.168.0.10/24
对比
nmcli con add ifname ens192 con-name ens192 type ethernet ip4 192.168.0.10/24
使用单个命令或添加少量 polkit 来限制所有非特权用户只读使用 nmcli的正确方法是什么?
编辑:除了 root 之外,只允许特权 unix 组,例如“netadmins”,也会很好。然而,主要问题是阻止一般非特权用户进行的所有非只读更改。
像我认识的大多数系统管理员一样,对于服务器部署,我通常禁用 NetworkManager 并运行“网络”服务,而不是使用配置文件和网络脚本来配置接口、网桥、绑定等,这很简单、可重现、可靠且非常不可靠-black-boxy 即使是高级配置。
在 EL 8 中,不推荐使用传统的网络配置,取而代之的是 NetworkManager。同时,EL 发行版(当前为 EL 7.5)现在允许非 root 用户创建、修改和删除接口,并对现有配置进行几乎无限的更改。对于充当计算头节点的服务器,这允许一个用户干扰整个机器的有效操作。对于提供边界服务的服务器,这增加了非特权妥协的潜在严重性和安全隐患。
我已经阅读了一些关于更改 NetworkManager 的 polkit 配置的文档,但其中大部分是为了解决笔记本电脑上的一些无线问题。