12.3. 使用 systemd 为 CNI 运行 DHCP 插件
您可以使用 systemd 单元文件运行 dhcp 插件。
先决条件
-
container-tools模块已安装。
流程
可选:确保您重新签署了 CNI 网络堆栈:
# podman info --format "{{.Host.NetworkBackend}}" cni使用 systemd 套接字启用 DHCP 代理:
# systemctl enable --now cni-dhcp.socket Created symlink /etc/systemd/system/sockets.target.wants/cni-dhcp.socket/usr/lib/systemd/system/cni-dhcp.socket. 可选:显示套接字单元文件:
# cat /usr/lib/systemd/system/io.podman.dhcp.socket [Unit] Description=CNI DHCP service socket Documentation=https://github.com/containernetworking/plugins/tree/master/plugins/ipam/dhcp PartOf=cni-dhcp.service [Socket] ListenStream=/run/cni/dhcp.sock SocketMode=0660 SocketUser=root SocketGroup=root RemoveOnStop=true [Install] WantedBy=sockets.target
验证
检查套接字的状态:
# systemctl status io.podman.dhcp.socket # systemctl status cni-dhcp.socket ● cni-dhcp.socket - CNI DHCP service socket Loaded: loaded (/usr/lib/systemd/system/cni-dhcp.socket; enabled; vendor preset: disabled) Active: active (listening) since Mon 2025-01-06 08:39:35 EST; 33s ago Docs: https://github.com/containernetworking/plugins/tree/master/plugins/ipam/dhcp Listen: /run/cni/dhcp.sock (Stream) Tasks: 0 (limit: 11125) Memory: 4.0K CGroup: /system.slice/cni-dhcp.socket