12.2. systemd を使用した Netavark の DHCP プラグインの実行
前提条件
-
container-tools
モジュールがインストールされている。
手順
systemd ソケットを使用して DHCP プロキシーを有効にします。
systemctl enable --now netavark-dhcp-proxy.socket Created symlink /etc/systemd/system/sockets.target.wants/netavark-dhcp-proxy.socket
/usr/lib/systemd/system/netavark-dhcp-proxy.socket. systemctl enable --now netavark-dhcp-proxy.socket Created symlink /etc/systemd/system/sockets.target.wants/netavark-dhcp-proxy.socket
/usr/lib/systemd/system/netavark-dhcp-proxy.socket. Copy to Clipboard Copied! オプション: ソケットユニットファイルを表示します。
cat /usr/lib/systemd/system/netavark-dhcp-proxy.socket [Unit] Description=Netavark DHCP proxy socket [Socket] ListenStream=%t/podman/nv-proxy.sock SocketMode=0660 [Install] WantedBy=sockets.target
# cat /usr/lib/systemd/system/netavark-dhcp-proxy.socket [Unit] Description=Netavark DHCP proxy socket [Socket] ListenStream=%t/podman/nv-proxy.sock SocketMode=0660 [Install] WantedBy=sockets.target
Copy to Clipboard Copied! macvlan ネットワークを作成し、それを使用してホストインターフェイスを指定します。通常、これは外部インターフェイスです。
podman network create -d macvlan --interface-name <LAN_INTERFACE> mv1
# podman network create -d macvlan --interface-name <LAN_INTERFACE> mv1 mv1
Copy to Clipboard Copied! 新しく作成したネットワークを使用してコンテナーを実行します。
podman run --rm --network mv1 -d --name test alpine top
# podman run --rm --network mv1 -d --name test alpine top 894ae3b6b1081aca2a5d90a9855568eaa533c08a174874be59569d4656f9bc45
Copy to Clipboard Copied!
検証
コンテナーにローカルサブネット上の IP があることを確認します。
podman exec test ip addr
# podman exec test ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 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 inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000 link/ether 5a:30:72:bf:13:76 brd ff:ff:ff:ff:ff:ff inet 192.168.188.36/24 brd 192.168.188.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::5830:72ff:febf:1376/64 scope link valid_lft forever preferred_lft forever
Copy to Clipboard Copied! コンテナーを検査して、正しい IP アドレスが使用されていることを確認します。
podman container inspect test --format {{.NetworkSettings.Networks.mv1.IPAddress}}
# podman container inspect test --format {{.NetworkSettings.Networks.mv1.IPAddress}} 192.168.188.36
Copy to Clipboard Copied!
注記
この IP アドレスへの接続を試みるときは、必ず別のホストから接続してください。macvlan ネットワークを使用する場合、同じホストから接続することはできません。