我正在尝试启动一个 ubuntu 22.04 服务器,它会自动连接到 wifi 或以太网(没有显示器来设置它)。这就是我所做的:
在下面添加了一个服务,/lib/systemd/system/myService.service
如下所示:
#Put me in /lib/systemd/system/
[Unit]
Description=My Net Connection
After=network.target
[Service]
Type=simple
User=sm
WorkingDirectory=/home/sm
ExecStart=/bin/bash -c 'sudo netplan apply && sudo netplan generate'
Restart=on-failure # or always, on-abort, etc
[Install]
WantedBy=multi-user.target
以及这种类型的网络规划配置:
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: true
optional: true
wifis:
wlan0:
dhcp4: true
optional: true
access-points:
"<SSID>":
password: "<PWD>"
尽管 netplan 文件是正确的(替换我的详细信息),但它无法启动和引导。
我认为这是因为服务没有启动,但我想它会自动启动?
我需要添加什么吗?
答案1
如果可能的话,我建议使用 NetworkManager,它工作得很好,并且如果需要的话,有一个 ncurse 配置方法(通过 nmtui),如果你没有 GUI,这会更简单一些。
通常 ubuntu 开箱即可正确连接到网络,您是否尝试过使用 ssh 访问它?可以使用 nmap 或 arp 在您的 LAN 上看到它。
要检查您的服务是否已启动,您可以检查:
systemctl status myService
如果您需要进一步的帮助,也许发布该命令的输出可能是一个好主意。
如果您认为这是一个错误,您也可以尝试此命令,以获得更多信息。
journalctl -xe
在我看来,Netplan 使用起来有点复杂。 NetworkManager 通常是自动配置的,并且在大多数情况下开箱即用。
哦,您是否正确设置了文件 myService.service 的权限?
另一种解决方案,有点极端:将 Ubuntu 的磁盘连接到另一台计算机,并通过 chroot 设置网络配置。不确定它是否非常有效,但它可能是一种可能性。
希望对你有帮助 ;-)