确保系统以无头模式连接到网络

确保系统以无头模式连接到网络

我正在尝试启动一个 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 设置网络配置。不确定它是否非常有效,但它可能是一种可能性。

希望对你有帮助 ;-)

相关内容