У меня есть сетевой тест пространства имен. Добавленный физический интерфейс eth0 к этому пространству имен. Я должен выполнить dhcp сервер на eth0 так, чтобы любой соединился через этот порт, может получить динамический 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
ip netns exec <NAME> <CMD>
Поэтому, если Вы создали пространство имен, названное foo
с командой как
ip netns create foo
после конфигурирования сетей в том пространстве имен, Вы запустите сервис с команды, которая похожа:
ip netns exec foo service dhcpd start