我有一个使用 TCP 和 UDP 与外部世界通信的 Linux 进程。它还通过多播发送消息。现在我想通过模拟外部通信来测试通信。我可以创建网络命名空间,并将测试中的进程附加到其中一个命名空间,并将测试应用程序附加到其他命名空间。通信运行良好。但是,网络命名空间在我的测试场景中引入了复杂性,例如调试进程,因为我总是将命名空间附加到它并需要提供 root 访问权限。
我想知道是否可以通过设置“tap”接口来实现。我可以设置 2 个 tap 接口并实现单播通信。但是我从未让多播工作过。
有没有什么办法可以通过 tap 接口启用多播通信?
这是我的点击网络设置
sudo ip tuntap add dev tap0 mode tap
sudo ip tuntap add dev tap1 mode tap
sudo ip link set tap1 up
sudo ip link set tap0 up
sudo ip addr add 192.168.7.2/24 dev tap0
sudo ip addr add 192.168.7.3/24 dev tap1
我甚至尝试添加桥接器,但仍然无法使多播通信正常工作。我对网络了解不多。非常感谢您的帮助。