我有一个具有2个接口的Linux VM,eth0具有mgmt IP,eth1具有如下配置
ip netns exec eng51 ifconfig
eth1.51 Link encap:Ethernet HWaddr 52:54:00:bd:68:c3
inet addr:51.51.1.10 Bcast:51.51.1.255 Mask:255.255.255.0
ip netns exec eng52 ifconfig
eth1.52 Link encap:Ethernet HWaddr 52:54:00:bd:68:c3
inet addr:51.51.2.10 Bcast:51.51.2.255 Mask:255.255.255.0
ip netns exec eng522 ifconfig
eth1.522 Link encap:Ethernet HWaddr 52:54:00:bd:68:c3
inet addr:51.51.2.10 Bcast:51.51.2.255 Mask:255.255.255.0
ip netns exec eng511 ifconfig
eth1.511 Link encap:Ethernet HWaddr 52:54:00:bd:68:c3
inet addr:51.51.1.10 Bcast:51.51.1.255 Mask:255.255.255.0
所以我有一个使用tcp协议的脚本,我需要同时发送流量
from eng51[51.51.1.10 vlan-id 51] to eng52[ 51.51.2.10 vlan-id 52]
and i use same script to send traffic from eng52[ 51.51.1.10 vlan-id 511] to eng522 [51.51.2.10 vlan-id 522]
我在名称空间下运行脚本:
ip netns exec eng51 python client.py 51.51.2.10
ip netns exec eng511 python client.py 51.51.2.10
在client.py
内部,我将源端口始终绑定为63999,并且我在名称空间eng52
和eng522
的端口8000上运行了一个HTTPserver
sock.bind(('0.0.0.0',63999))
我将源端口绑定到63999的原因是我需要源地址,目标,地址,源端口,目标端口和协议相同 在两个流量会话中。
我面临的问题是,即使我在不同的命名空间下运行此脚本,也不会将源端口视为唯一端口 我只能运行一个导致问题的脚本实例,因为我希望此源端口重叠。