【发布时间】:2011-09-11 02:49:48
【问题描述】:
我已经通过以下方式设置了一些虚拟 IP:
~# ip link add link eth0 name eth0.1 address 11:22:33:44:55:66 type macvlan
~# ifconfig eth0.1 10.10.0.0/24
我正在使用以下代码从它进行连接:
sTCP = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sTCP.setsockopt(socket.SOL_SOCKET, IN.SO_BINDTODEVICE, IFACE)
print "PORT s_TCP:" + str(HOST) +":" +str(TCP_PORT)
sTCP.connect((HOST, TCP_PORT))
print "Connected"
如果 IFACE 是 eth0,这可以正常工作,但它没有通过 eth0.1 的 sTCP.connect 并且在 eth0.2 上的 bindtodevice 失败(如预期)。
为什么 eth0.1 不起作用?这是python的问题,还是linux网络实现的问题?
【问题讨论】:
标签: python linux networking