如何在 NETWORK NAMESPACE 中安装和配置 DHCP 服务器

如何在 NETWORK NAMESPACE 中安装和配置 DHCP 服务器

我有一个网络命名空间测试。向此命名空间添加了物理接口 eth0。我必须在 eth0 上运行 dhcp 服务器,以便通过此端口连接的任何人都可以获得动态 ip。

如果我不创建任何命名空间并使用全局,它就可以正常工作。

但是当我这样做的时候

$ ip netns exec test service isc-dhcp-server status

● isc-dhcp-server.service - ISC DHCP IPv4 server
   Loaded: loaded (/lib/systemd/system/isc-dhcp-server.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Mon 2017-05-22 03:06:56 IST; 2h 9min ago
     Docs: man:dhcpd(8)
 Main PID: 5315 (code=exited, status=1/FAILURE)

May 22 03:06:56 PowerEdge-T20 sh[5315]: Not configured to listen on any interfaces!

/etc/default/isc-dhcp-server包含INTERFACES="eth0"

并且相应的条目存在于/etc/dhcp/dhcpd.conf

命令输出:

$ ip netns exec test ip a

1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00


2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 48:ee:0c:bb:dc:68 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.1/20 scope global eth0
   valid_lft forever preferred_lft forever

答案1

ip netns exec <NAME> <CMD>

因此,如果你foo使用如下命令创建了一个命名空间

ip netns create foo

在该命名空间中配置网络后,您可以使用以下命令启动该服务:

ip netns exec foo service dhcpd start

相关内容