systemd networkd 在 systemctl stop 后重新启动

systemd networkd 在 systemctl stop 后重新启动

我有一些 python 代码需要使用 systemd-networkd 更改 linux 绑定的配置。我尝试编辑 .network 和 .netdev 配置文件并重新启动 networkd,但它不会更改绑定配置。

我接下来要做的是停止 networkd,删除绑定,然后再次启动 networkd。问题是,只要我删除绑定,networkd 就会启动。这也可以通过 systemctl 重现 - /lib/systemd/systemd-networkd 在删除接口后启动。

root@63cece1df328:/# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.1  0.0  76864  2376 ?        Ss   05:54   0:00 /lib/systemd/systemd
root        21  0.0  0.0  70120  6452 ?        S<s  05:54   0:00 /lib/systemd/systemd-journald
root        22  0.0  0.0  24824   368 ?        Ss   05:54   0:00 /usr/bin/socat TCP-LISTEN:7272,reuseadd
message+    29  0.0  0.0  49928   508 ?        Ss   05:54   0:00 /usr/bin/dbus-daemon --system --address
systemd+    30  0.0  0.0  71968  1296 ?        Ss   05:54   0:00 /lib/systemd/systemd-networkd
root        33  0.3  0.0  18508  3424 pts/0    Ss   05:55   0:00 bash
root        43  0.0  0.0  34400  2848 pts/0    R+   05:55   0:00 ps aux
root@63cece1df328:/# systemctl stop systemd-networkd
Warning: Stopping systemd-networkd.service, but it can still be activated by:
  systemd-networkd.socket
root@63cece1df328:/# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0  76864  4408 ?        Ss   05:54   0:00 /lib/systemd/systemd
root        21  0.0  0.0  70120  6452 ?        S<s  05:54   0:00 /lib/systemd/systemd-journald
root        22  0.0  0.0  24824   368 ?        Ss   05:54   0:00 /usr/bin/socat TCP-LISTEN:7272,reuseadd
message+    29  0.0  0.0  49928   508 ?        Ss   05:54   0:00 /usr/bin/dbus-daemon --system --address
root        33  0.0  0.0  18508  3424 pts/0    Ss   05:55   0:00 bash
root        47  0.0  0.0  34400  2868 pts/0    R+   05:56   0:00 ps aux
root@63cece1df328:/# ip link show mgmt
5: mgmt: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether fe:df:a1:cf:82:39 brd ff:ff:ff:ff:ff:ff
root@63cece1df328:/# ip link del mgmt
root@63cece1df328:/# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0  76864  4912 ?        Ss   05:54   0:00 /lib/systemd/systemd
root        21  0.0  0.0  70120  6452 ?        S<s  05:54   0:00 /lib/systemd/systemd-journald
root        22  0.0  0.0  24824   368 ?        Ss   05:54   0:00 /usr/bin/socat TCP-LISTEN:7272,reuseadd
message+    29  0.0  0.0  49928   508 ?        Ss   05:54   0:00 /usr/bin/dbus-daemon --system --address
root        33  0.0  0.0  18508  3424 pts/0    Ss   05:55   0:00 bash
systemd+    50  1.0  0.0  71968  5964 ?        Ss   05:57   0:00 /lib/systemd/systemd-networkd
root        51  0.0  0.0  34400  2924 pts/0    R+   05:57   0:00 ps aux
root@63cece1df328:/# ip link show mgmt
13: mgmt: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1514 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether fe:df:a1:cf:82:39 brd ff:ff:ff:ff:ff:ff```

答案1

停止 systemd-networkd.service 时显示的警告解释了这个问题。“警告:正在停止 systemd-networkd.service,但仍可以通过以下方式激活:systemd-networkd.socket”

如果您想防止重新启动,您也需要停止套接字服务。

systemctl stop systemd-networkd.socket

相关内容