[英]How can I connect Open vSwitch port and virtual ethernet interface?
我想要做的是通过裸机PC中的Open vSwitch将数据包发送到服务器,而不是在VM上。
为此,我正在考虑以下结构。
Server PC ----------------------------- | ------ | | |SERVER| | | ------ | | |veth2 (192.168.0.152)| | | | | |veth1 | | ----------- | | | OVS (br0) | | | ----------- | | |eth0 (192.168.0.157) | -------|--------------------- | -------|-------- | Client PC | ----------------
用于制作上述环境
,我在下面的命令中做了。
ovs-vsctl add-br br0
ovs-vsctl add-port br0 eth0
ip link add veth1 type veth peer name veth2 ifconfig veth1 up ifconfig veth2 up
之后,我尝试在客户端和服务器之间建立TCP连接。
我检查了客户端的SYN数据包是否已发送到veth2。 但是,服务器无法接收该数据包。
我无法猜测出什么问题以及如何在环境之上做出贡献。
我找到了解决方案。
通过使用网络名称空间,我可以创建逻辑网络堆栈。
http://man7.org/linux/man-pages/man8/ip-netns.8.html http://blog.scottlowe.org/2013/09/04/introducing-linux-network-namespaces/
ovs-vsctl add-br br0
ovs-vsctl add-port br0 eth0
ip link add veth1 type veth peer name veth2
ip netns add ns1 ip link set veth2 ns1
完成之后,我可以得到以下结构
Server PC ------------------------------- | ----------------------- | | | ns1 | | | | ------ | | | | |SERVER| | | | | ------ | | | | veth2|(192.168.0.157) | | | ----------------------- | | | | | | | | |veth1 | | ----------- | | | OVS (br0) | | | ----------- | | eth0|(192.168.0.157) | -----------|------------------- | ------|-------- | Client PC | ---------------
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.