
Ubuntu 20.04です。
systemd-networkdを停止して無効にしました。次にNetworkManagerを有効にします。ただし、再起動後、両方のサービスが表示されます。これは絶えず起こります。私はnmcliを使ってサーバーを管理したいのですが、どのように動作するか(そしてネットワーキングを停止する)ことがわかりません。
349 systemctl stop systemd-networkd
350 nmcli dev status
351 systemctl restart network-manager
352 systemctl status network-manager
364 systemctl status systemd-networkd
365 systemctl disable systemd-networkd
366 systemctl status NetworkManager
367 systemctl enable NetworkManager
---再起動後----
# ls -ltr /run/network/
total 4
-rw-r--r-- 1 root root 88 Feb 3 21:50 dynamic-interfaces
# nmcli dev status
DEVICE TYPE STATE CONNECTION
eno1 ethernet unmanaged --
eno2 ethernet unmanaged --
eno3 ethernet unmanaged --
eno4 ethernet unmanaged --
enp129s0f0 ethernet unmanaged --
enp129s0f1 ethernet unmanaged --
enp131s0f0 ethernet unmanaged --
enp131s0f1 ethernet unmanaged --
enp3s0f0 ethernet unmanaged --
enp3s0f1 ethernet unmanaged --
idrac ethernet unmanaged --
lo loopback unmanaged --
DHCPを使用してeno1のネットワークからホストにSSHを介して接続できますが、後で静的にしたいと思います。
# ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether x:x:x:x:x:x brd ff:ff:ff:ff:ff:ff
inet x.x.x.x/24 brd x.x.x.x scope global dynamic eno1
valid_lft 28733sec preferred_lft 28733sec
3: eno2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether x:x:x:x:x:x brd ff:ff:ff:ff:ff:ff
4: eno3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether x:x:x:x:x:x brd ff:ff:ff:ff:ff:ff
5: eno4: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether x:x:x:x:x:x brd ff:ff:ff:ff:ff:ff
6: enp3s0f0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether x:x:x:x:x:x brd ff:ff:ff:ff:ff:ff
7: enp129s0f0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether x:x:x:x:x:x brd ff:ff:ff:ff:ff:ff
8: enp3s0f1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether x:x:x:x:x:x brd ff:ff:ff:ff:ff:ff
9: enp129s0f1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether x:x:x:x:x:x brd ff:ff:ff:ff:ff:ff
10: enp131s0f0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether x:x:x:x:x:x brd ff:ff:ff:ff:ff:ff
11: enp131s0f1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether x:x:x:x:x:x brd ff:ff:ff:ff:ff:ff
12: idrac: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether x:x:x:x:x:x brd ff:ff:ff:ff:ff:ff
root@myhost:~#
root@myhost:~# systemctl status systemd-networkd
● systemd-networkd.service - Network Service
Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled-runtime; vendor preset: enabled)
Active: active (running) since Fri 2023-02-03 21:51:06 UTC; 8min ago
Docs: man:systemd-networkd.service(8)
Main PID: 1611 (systemd-network)
Status: "Processing requests..."
Tasks: 1 (limit: 309305)
Memory: 4.1M
CGroup: /system.slice/systemd-networkd.service
└─1611 /lib/systemd/systemd-networkd
Feb 03 21:51:06 myhost systemd[1]: Starting Network Service...
Feb 03 21:51:06 myhost systemd-networkd[1611]: Enumeration completed
Feb 03 21:51:06 myhost systemd[1]: Started Network Service.
Feb 03 21:51:06 myhost systemd-networkd[1611]: eno1: Link UP
Feb 03 21:51:07 myhost systemd-networkd[1611]: eno1: Gained carrier
Feb 03 21:51:07 myhost systemd-networkd[1611]: eno1: DHCPv4 address x.x.x.x/24 via x.x.x.x
root@myhost:~#
root@myhost:~# systemctl status NetworkManager
● NetworkManager.service - Network Manager
Loaded: loaded (/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2023-02-03 21:51:10 UTC; 8min ago
Docs: man:NetworkManager(8)
Main PID: 1639 (NetworkManager)
Tasks: 3 (limit: 309305)
Memory: 14.9M
CGroup: /system.slice/NetworkManager.service
└─1639 /usr/sbin/NetworkManager --no-daemon
Feb 03 21:51:10 myhost NetworkManager[1639]: <info> [1675461070.5034] manager: (enp3s0f1): new Ethernet device (/or>
Feb 03 21:51:10 myhost NetworkManager[1639]: <info> [1675461070.5050] manager: (idrac): new Ethernet device (/org/f>
Feb 03 21:51:10 myhost NetworkManager[1639]: <warn> [1675461070.5286] Error: failed to open /run/network/ifstate
Feb 03 21:51:10 myhost NetworkManager[1639]: <info> [1675461070.5634] manager: startup complete
Feb 03 21:51:10 myhost NetworkManager[1639]: <info> [1675461070.8076] modem-manager: ModemManager not available
Feb 03 21:51:10 myhost NetworkManager[1639]: <info> [1675461070.8842] modem-manager: ModemManager now available
Feb 03 21:52:43 myhost NetworkManager[1639]: <info> [1675461163.2859] manager: rfkill: Wi-Fi hardware radio set dis>
Feb 03 21:52:43 myhost NetworkManager[1639]: <info> [1675461163.2862] audit: op="radio-control" arg="wireless-enabl>
Feb 03 21:58:03 myhost NetworkManager[1639]: <info> [1675461483.8856] manager: rfkill: WWAN hardware radio set disa>
Feb 03 21:58:03 myhost NetworkManager[1639]: <info> [1675461483.8858] audit: op="radio-control" arg="wwan-enabled" >
root@myhost:~#
それ以来、私はそうしました:
これまで私が理解した最良の方法は、このファイルを修正することです。
# cat /etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity' (<----from cloud-init of live dvd install....)
network:
ethernets:
eno1:
addresses: [x.x.x.x/24]
gateway4: x.x.x.x
nameservers:
addresses: [xx.x.x.x]
version: 2
# netplan apply
# nmcli c s
# nmcli d s
DEVICE TYPE STATE CONNECTION
eno1 ethernet unmanaged --
eno2 ethernet unmanaged --
eno3 ethernet unmanaged --
eno4 ethernet unmanaged --
enp129s0f0 ethernet unmanaged --
enp129s0f1 ethernet unmanaged --
enp131s0f0 ethernet unmanaged --
enp131s0f1 ethernet unmanaged --
enp3s0f0 ethernet unmanaged --
enp3s0f1 ethernet unmanaged --
idrac ethernet unmanaged --
lo loopback unmanaged --
#
IPアドレスは静的ですが、nmcliはそれを管理できず、ルーティングテーブルが変更されているようです。
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 24:6e:96:06:f2:f8 brd ff:ff:ff:ff:ff:ff
inet x.x.x.x/24 brd x.x.x.x scope global eno1
valid_lft forever preferred_lft forever
systemd-networkdを停止してからnetplan applyを実行すると、エラーが発生します。
# systemctl stop systemd-networkd
# netplan apply
Failed to reload network settings: No such file or directory
Falling back to a hard restart of systemd-networkd.service
それからあなたの提案を試しました。
# systemctl stop systemd-networkd
# systemctl disable systemd-networkd
# systemctl mask systemd-networkd
Created symlink /etc/systemd/system/systemd-networkd.service → /dev/null.
# systemctl restart NetworkManager
今完全に狂った。
# netplan apply
Failed to reload network settings: No such file or directory
Falling back to a hard restart of systemd-networkd.service
Failed to restart systemd-networkd.service: Unit systemd-networkd.service is masked.
Traceback (most recent call last):
File "/usr/share/netplan/netplan/cli/commands/apply.py", line 265, in command_apply
utils.networkctl_reload()
File "/usr/share/netplan/netplan/cli/utils.py", line 103, in networkctl_reload
subprocess.check_call(['networkctl', 'reload'])
File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['networkctl', 'reload']' returned non-zero exit status 1.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/sbin/netplan", line 23, in <module>
netplan.main()
File "/usr/share/netplan/netplan/cli/core.py", line 50, in main
self.run_command()
File "/usr/share/netplan/netplan/cli/utils.py", line 247, in run_command
self.func()
File "/usr/share/netplan/netplan/cli/commands/apply.py", line 61, in run
self.run_command()
File "/usr/share/netplan/netplan/cli/utils.py", line 247, in run_command
self.func()
File "/usr/share/netplan/netplan/cli/commands/apply.py", line 275, in command_apply
utils.systemctl('restart', ['systemd-networkd.service'], sync=True)
File "/usr/share/netplan/netplan/cli/utils.py", line 89, in systemctl
subprocess.check_call(command)
File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['systemctl', 'restart', 'systemd-networkd.service']' returned non-zero exit status 1.
私はnmcli / NetworkManagerを除くすべてをもう使用したくありませんでした。これはとても複雑になっています。
答え1
正常に実行
systemctl disable foo.service
[Install]
ユニットファイルの一部のみを元に戻します。他のシステム単位の要件または依存関係を介して実行を継続できます。
サービスの実行を停止するには、以下を実行する必要があります。
systemctl mask foo.service
これは、/etcの/dev/nullへのシンボリックリンクでユニットファイルを上書きするため、実行されません。
答え2
Netplan設定にレンダラーディレクティブを追加し、問題を解決しました。これでネットワークマスクを使用できます。ネットワーク管理者を再起動します。今、すべてがナノメートル未満です。
答え3
直接述べたように、解決策はレンダラーをnetplan設定ファイルに追加することです。その理由は、次の文書によると、netplanで使用されるデフォルトのレンダラーがsystemd-networkdであるためです。 https://netplan.io/reference
デプロイインストーラ、クラウドインスタンス化、特定のデバイス用のイメージビルド、またはその他のオペレーティングシステムのデプロイ方法は、必要なネットワーク構成をYAML構成ファイルに入れます。初期起動中に /{lib,etc,run}/netplan/*.yaml を読み込み、/run に設定を書き込む netplan "ネットワークレンダラー" が実行され、デバイス制御を指定されたネットワークデーモンプロセスに転送します。
- 設定されたデバイスは、特定のレンダラ(NetworkManager)によって管理されていると明示的に表示されない限り、デフォルトでsystemd-networkdによって処理されます。