出于深奥的原因,我有一台只能通过 WiFi 访问网络的服务器。
通过在可移动驱动器上复制必要的 dpkg 文件,我设法安装了 wpa_supplicant。
困扰我的是,在其他发行版上配置它可以通过编辑来完成/etc/wpa_supplicant/wpa_supplicant.conf
。但这在 Ubuntu 上不起作用,因为 systemd 服务文件在没有指定配置文件的情况下启动 wpa_supplicant。它的参数中没有-c
指定。
甚至Ubuntu 手册页都说最常见的启动方式是指定一个配置文件......
在最常见的情况下,wpa_supplicant 以:
wpa_supplicant -B -c/etc/wpa_supplicant.conf -iwlan0
因为这是一个服务器,所以没有安装 GUI,我没有使用网络管理器(AFAIK)
我当然已经确认关闭 systemd 服务并从命令行手动启动守护进程是可行的。我当然可以修改 .service 文件。但这感觉像是错误的解决方案。
谁能告诉我应该如何在 Ubuntu 服务器上配置 wpa_supplicant?
无需手动配置 wpa_supplicant。
最近的 Ubuntu 服务器版本中的网络由 netplan 管理。检查以查看您的 netplan 文件的名称:
我假设您找到的文件的名称是 01-netcfg.yaml。如果不是 01-netcfg.yaml,请在此处替换您的详细信息。
我们将修改文件以指定您的详细信息:
将文件更改为:
请在此处替换您的无线接口名称而不是 wlx----。请注意接入点名称和密码用引号“”括起来。间距、缩进等很重要,请仔细校对两次。
保存(Ctrl+o 后按 Enter)并退出(Ctrl+x)文本编辑器 nano。跟随:
如果您更喜欢服务器的静态 IP 地址,可以在此处找到模板:
在 Ubuntu 20.04 中,wpa_supplicant 使用 DBus 和 unix 域套接字(如管道)来配置守护进程。注意 wpa_supplicant 命令行上的“-u”和“-O”选项。这是通过安全设计和系统效率来完成的,因为它不允许将网络连接的密码暴露给系统的用户。这也为 Gnome 提供了更有效的编程接口来配置网络设置,因为套接字文件将配置间接映射到共享内存,而不是写入文本文件以供所有其他应用程序解析(即更改设置时的延迟更短&流程之间更好的协调)。
要解决所描述的问题,您可以采用多种方法。这只是您想要对设置进行多少管理的问题。您可以: 为 wpa_supplicant 创建另一个配置文件(即直接方法);修改单个网络设置的 Netplan/yaml 文件(即间接方法);或者您可以编写一个利用 DBus 编程接口的脚本(即可维护的方法,因为它不依赖于其他工具的开发)。前两个是微不足道的解决方案,但是如果您学会实施最后一个建议,您将获得更多的掌握并可能赚更多的钱。祝你好运!