通过gre隧道

时间:2017-06-06 03:32:55

标签: lxc tunnel openvswitch

我有一个子网10.207.39.0/24的openvswitch sw1,它连接了lxc容器,我在另一台物理服务器上也有相同的功能,并且我已经使用GRE隧道成功连接了这些容器。但是,lxc容器在额外的openvswitch上有额外的端口,例如sw4与子网192.220.39.0/24并且我想在sw1上的单个gre隧道上推送该流量,因为只有一个物理接口,并且在每个openvswitch上具有多个具有相同物理接口IP地址端点的gre隧道是不可能的。是否有可能在sw1上的gre隧道上推动其他openvswitch上的流量?或者是否有更好的方法在两个物理主机上的lxc容器中连接多个子网?感谢。

1 个答案:

答案 0 :(得分:0)

我解决了这个问题"我自己" - 在下面提供的两个链接的帮助下 - (在睡觉之后和无情的谷歌搜索过几个令人沮丧的日子)。

我意识到解决方案非常简单,对网络专业人员来说很清楚。我是Oracle DBA,只知道我需要使用orabuntu-lxc软件,LXC容器和Oracle软件的网络,所以如果以下是明显的"请记住这一点。 - 在我的网络无知中,这对我来说并不明显。

我从这篇博文中得到了如何解决实际步骤的线索:

http://www.cnblogs.com/popsuper1982/p/3800548.html

我确认任何子网都应该通过这篇博文发布在GRE隧道上(这让我希望继续努力寻找解决方案):

https://supportforums.adtran.com/thread/1408

特别是作者在adtran评论中指出,GRE隧道对可以遍历它的流量类型没有限制。它可以在没有多个隧道的情况下路由多个子网。"

该帖子告诉我,解决方案可能是路由解决方案,并且此用例只需要一个GRE隧道。

请注意,这个功能没有限制"关于流量类型对Oracle RAC来说非常好,因为我们需要能够通过GRE隧道为RAC发送组播。

此用例:

我正在构建一个Oracle RAC基础架构,以便在LXC Linux容器中运行。我在openvswitch sw1上有一个公共网络10.207.39.0/24,在openvswitch sw4上有一个私有RAC互连网络192.220.39.0/24。我希望能够在跨越多个物理主机的LXC linux容器中构建RAC,因此我创建了一个GRE隧道,将巨像上的10.207.39.1隧道端点连接到监护人的10.207.39.5隧道端点。

以下是设置详情:

主持人"监护人":

LAN无线物理网络接口:wlp4s0(IP 192.168.1.11)

sw1 10.207.39.5

sw4 192.220.39.5

主持人"巨像":

LAN无线物理网络接口:wlp4s0(IP 192.168.1.15)

sw1 10.207.39.1

sw4 192.220.39.1

第1步:

在具有物理无线LAN网络接口端点的物理主机上的sw1 openvswitches之间创建GRE隧道:

主持人"监护人":创建gre隧道物理主机(监护人 - >巨像)。

sudo ovs-vsctl add-port sw1 gre0 - set interface gre0 type = gre options:remote_ip = 192.168.1.15

Host" colossus":创建gre隧道物理主机(巨像 - >监护人)。

sudo ovs-vsctl add-port sw1 gre0 - set interface gre0 type = gre options:remote_ip = 192.168.1.11

第2步:

将192.220.39.0/24网络路由到已建立的GRE隧道,如下所示:

主持人"监护人":通过GRE隧道路由192.220.39.0/24 openvswitch sw4:

sudo route add -net 192.220.39.0/24 gw 1​​0.207.39.5 dev sw1

Host" colossus&#34 ;:在GRE隧道上路由192.220.39.0/24 openvswitch sw4:

sudo route add -net 192.220.39.0/24 gw 1​​0.207.39.1 dev sw1

注意:要添加其他子网,请为每个子网重复步骤2.

关于MTU的注意事项:

此外,如果要在这些隧道上进行ssh,则必须允许在MTU中进行GRE封装。

因此,在上面连接主机的主GRE隧道示例中,我们需要将MTU设置为1420以允许80为GRE头。

sw1交换机上LXC容器虚拟接口上的MTU需要在LXC容器配置文件中设置为MTU = 1420。

sw4交换机上LXC容器虚拟接口上的MTU需要在LXC容器配置文件中设置为MTU = 1420。

请注意,只要所有LXC虚拟接口都设置为新的较低MTU值,openvswitches sw1和sw4上的MTU就会自动设置为LXC接口上的MTU,因此在openvswitches sw1和sw4上自行设置MTU不应该是必要的。

如果仍然通过隧道遇到SSH问题,但ping工作跨主机跨容器,则重新检查虚拟接口和openvswitches上的所有MTU设置并重新检查。