繁体   English   中英

如何连接Open vSwitch端口和虚拟以太网接口?

[英]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    |
 ----------------

用于制作上述环境


,我在下面的命令中做了。

  1. 创建ovs桥
ovs-vsctl add-br br0
  1. 使eth0作为ovs端口
ovs-vsctl add-port br0 eth0
  1. 创建veth链接
ip link add veth1 type veth peer name veth2
ifconfig veth1 up
ifconfig veth2 up
  1. 最后,我静态设置了客户端ARP表,因为ovs端口(eth0)无法发送ARP回复

之后,我尝试在客户端和服务器之间建立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/

  1. 创建ovs桥
ovs-vsctl add-br br0
  1. 使eth0作为ovs端口
ovs-vsctl add-port br0 eth0
  1. 创建veth链接
ip link add veth1 type veth peer name veth2
  1. 创建网络名称空间
ip netns add ns1
ip link set veth2 ns1
  1. 将ns1中veth2的ip和mac设置为eth0的ip和mac

完成之后,我可以得到以下结构

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM