我有一个20端口交换机连接到20-NICs PC(1对1),并希望加载流量。当然,配置具有不同IP的所有NIC并启动我的客户端/服务器(Python3)脚本(或iperf3)将仅生成本地流量,除非我强制通过NIC输出流量。
我发现(这里)两个主要'技巧'为了实现这个目标:
a。)使用网络命名空间:
[+]通过将每个NIC隔离(类似VM / docker)到一个盒子中,它将完全符合我的要求
[+] Python3似乎支持netns(Pyroute2)
[ - ]不确定如何在netns / python线程中打开套接字(10个线程x 2(客户端/服务器))
b。)使用ghost IP(iptable:S / D-NAT +路由前/路由后):
[+]所有网卡都保留在根网络命名空间中(仍然可以通过psutil收集数据)并在全局级别进行配置
[+] Python TCP线程脚本可以运行没有特定的lib /支持netns
[ - ]如果重新配置我的设置(IP,VLAN,...),必须相应地调整IPTable脚本。
我想知道我是否忽略了这里的另一种可能性和/或是否。)我得到(全部)错误(因为我无法找到一个在单个Python中打开套接字的体面示例脚本不同的网络...)