Hoz*_*ard 1 linux networking openvswitch
我要做的是通过裸机PC中的Open vSwitch将数据包发送到服务器,而不是在VM上。
为此,我正在考虑以下结构。
服务器电脑 ----------------------------- | ------ | | |服务器| | | ------ | | | veth2(192.168.0.152)| | | | | | veth1 | | ----------- | | | OVS(br0)| | | ----------- | | | eth0(192.168.0.157)| ------- | --------------------- | ------- | -------- | 客户端电脑| ----------------
用于制作上述环境
,我在下面的命令中做了。
ovs-vsctl add-br br0
ovs-vsctl add-port br0 eth0
ip链接添加veth1类型veth对等名称veth2 ifconfig veth1向上 ifconfig veth2向上
之后,我尝试在客户端和服务器之间建立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链接添加veth1类型veth对等名称veth2
ip netns添加ns1 ip链接集veth2 ns1
完成之后,我可以得到以下结构
服务器电脑 ------------------------------- | ----------------------- | | | ns1 | | | | ------ | | | | |服务器| | | | | ------ | | | | veth2 |(192.168.0.157)| | | ----------------------- | | | | | | | | | veth1 | | ----------- | | | OVS(br0)| | | ----------- | | eth0 |(192.168.0.157)| ----------- | ------------------- | ------ | -------- | 客户端电脑| ---------------
归档时间: |
|
查看次数: |
5209 次 |
最近记录: |