首页 文章

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

提问于
浏览
1

我想要做的是通过裸机PC中的Open vSwitch向服务器发送数据包,而不是在VM上 .

为此,我正在考虑遵循结构 .

Server PC
 -----------------------------
|     ------                  |
|    |SERVER|                 |
|     ------                  |
|       |veth2 (192.168.0.152)|
|       |                     |
|       |veth1                |
|     -----------             |
|    | OVS (br0) |            |
|     -----------             |
|       |eth0 (192.168.0.157) |
 -------|---------------------
        |
 -------|--------
|   Client PC    |
 ----------------

为了制造上述环境


,我做了以下命令 .

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

之后,我尝试在客户端和服务器之间进行TCP连接 .

我检查了客户端的SYN数据包是否发送到veth2 . 但是,服务器无法接收该数据包 .

我猜不出有什么不对,我怎么能做出上述环境 .

1 回答

  • 5

    我找到了解决方案 .

    通过使用网络命名空间,我可以创建逻辑网络堆栈 .

    http://man7.org/linux/man-pages/man8/ip-netns.8.html http://blog.scottlowe.org/2013/09/04/introducing-linux-network-namespaces/

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

    在这之后,我可以得到以下结构

    Server PC
     -------------------------------
    |     -----------------------   |
    |    |          ns1          |  |
    |    |   ------              |  |
    |    |  |SERVER|             |  |
    |    |   ------              |  |
    |    | veth2|(192.168.0.157) |  |
    |     -----------------------   |
    |           |                   |
    |           |                   |
    |           |veth1              |
    |       -----------             |
    |      | OVS (br0) |            |
    |       -----------             |
    |       eth0|(192.168.0.157)    |
     -----------|-------------------
                |
          ------|--------
         |   Client PC   |
          ---------------
    

相关问题