多个IP地址源的ovs流规则

时间:2018-07-06 16:31:35

标签: openflow

我有一个工作站,需要将多个IP-Address:Port映射到同一主机。例如; host1 10.11.2.9:80可以暴露于VIP1 10.107.140.192:8800和VIP2 192.168.30.12:31801。以下流程规则显示了IP映射。

/imap/user1
/imap/user2
/imap/user3

我设置相反的流规则以按如下方式将流量发送回时的问题

cookie=0x0, duration=8899.921s, table=0, n_packets=16, n_bytes=1184, priority=100,tcp,nw_dst=10.107.140.192,tp_dst=8800 actions=mod_dl_dst:72:33:3d:ba:b1:8b,mod_nw_dst:10.11.2.9,mod_tp_dst:80,output:vethc803d85e
cookie=0x0, duration=8899.921s, table=0, n_packets=21, n_bytes=1397, priority=100,tcp,nw_dst=192.168.30.12,tp_dst=31801 actions=mod_dl_dst:72:33:3d:ba:b1:8b,mod_nw_dst:10.11.2.9,mod_tp_dst:80,output:vethc803d85e

如何区分目的地IP地址之间的相反流规则?

1 个答案:

答案 0 :(得分:0)

不知道问题是否仍然存在。 IMO,您必须在OVS中实现FIB(路由表)。 例如,如果2个VIF接口是常规IP接口,那么OS将如何确定通过哪个接口?根据路由表,例如:

x

根据OVS documentation,您可以添加OF规则以将DST IP与掩码匹配:

$ip r
0.0.0.0/0 via 10.107.140.254 dev eth0
10.107.140.0/24 dev eth0
192.168.30.0/24 dev eth1

因此,您需要添加至少3条规则(VIF1的本地子网,VIF2的本地子网,默认网关),类似于上面的ovs-ofctl add-flow <bridge> dl_type=<ethernet type>,nw_dst=ip[/netmask],actions=<action> 的输出。