システムがヘッドレスモードでネットワークに接続されていることを確認します。

システムがヘッドレスモードでネットワークに接続されていることを確認します。

Wi-Fiまたはイーサネットに自動的に接続するUbuntu 22.04サーバーを起動しようとしています(設定するモニターなし)。これが私がしたことです:

/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を使用することをお勧めします。うまく動作し、必要に応じて(nmtuiを介して)ncurseを設定する方法があります。これは、GUIがなければ少し簡単です。

通常、Ubuntuはデフォルトでネットワークに正しく接続されます。 SSHを使ってアクセスしてみましたか? nmapまたはarpを使用してLANで表示できます。

サービスが開始されたことを確認するには、次の点を確認してください。

systemctl status myService

さらに支援が必要な場合は、このコマンドの出力を公開することをお勧めします。

これがバグだと思われる場合は、このコマンドを試してより多くの情報を取得することもできます。

journalctl -xe

私の考えでは、Netplanは使用するのが少し複雑です。 NetworkManagerは通常自動的に設定され、ほとんどの場合すぐに利用可能です。

ああ、myService.serviceファイルの権限を正しく設定しましたか?

もう少し極端な解決策は、Ubuntuディスクを別のコンピュータに接続し、chrootを介してネットワーク構成を設定することです。非常に効率的かどうかはわかりませんが、可能性があるかもしれません。

それがあなたに役立つことを願っています;-)

関連情報