我有一个子网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容器中连接多个子网?感谢。
答案 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 10.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 10.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设置并重新检查。