动态创建“真正的”第二个网络接口以进行 DHCP 测试

动态创建“真正的”第二个网络接口以进行 DHCP 测试

在几台Linux远程主机上,我想测试相应的远程DHCP服务器(这些服务器位于不同的主机上,我无权访问它们)。
我使用 ssh 连接到这些主机,并且不想重新启动它们,也不想修改 eth0 配置。

 

我知道如何获取一些基本的 DHCP 信息:nmap --script broadcast-dhcp-discover
这提供了一些非常有用的信息。但我们处理的是有缺陷的 DHCP 服务器,所以我想设置一个“真正的”网络接口来长期测试它们。

如果我使用网络接口 eth0:1 则 dhclient 拒绝执行该工作:

ip addr add 192.168.0.123/24 label eth0:1 dev eth0
dhclient -v eth0:1
# --> dhclient displays: Bind socket to interface: No such device

 

然后我尝试创建一个虚拟网络接口并桥接它。但这会修改​​ eth0 的配置,这是不需要的:

ip link add br0 type bridge         # create a bridge

# in one line, so the ssh connection is not lost (can additionnaly be wise
# to use "screen" but I currently do the tests on a local computer):
ip addr del 192.168.0.30/24 dev eth0; \
ip addr add 192.168.0.30/24 dev br0;  \
ip link set dev eth0 master br0;      \
ip link set dev br0 up

modprobe  dummy                     # create dummy0 
ip link set dev dummy0 master br0

现在我可以为 eth0 租用 DHCP:dhclient -v eth0效果很好。
dhclient -v dummy0永远不会获得任何 DHCP 租约(不显示错误)。

 

--> 如何创建一个正确桥接到物理网络的网络接口,而不接触 eth0(使 eth0 成为网桥一部分的装置)?

相关内容