不同 vpc 之间或者是云下 idc 机房和 vpc 网络之间互通,可以通过高速通道、自建 site to site vpc 和 gre 隧道 3 种方式实现互通。
本介绍如何使用 gre 实现互通并对相关问题进行分析。
部署图拓扑图:

杭州节点:
网段:172.16.0.0/24
部署 gre ecs:172.16.0.1 绑定 eip:121.196.208.175 系统:centos6.5
隧道互联地址:192.168.1.1
测试主机:172.16.0.136 系统:centos6.5
北京节点:
网段:10.10.10.0/24
部署 gre ecs:10.10.10.1 绑定eip:60.205.187.39 系统:centos6.5
隧道互联地址:192.168.1.2
测试主机:10.10.10.118 系统:centos6.5
1、在虚拟路由器上添加去往 10.10.10.0/24 指向 ecs:172.16.0.1
2、在杭州 vpc 的虚拟路由器上增加去往互联地址的路由:
3、在 ecs:172.16.0.1 上加载 gre 模块
<code>[root@hz-gw ~]# modprobe ip_gre</code>
<code>[root@hz-gw ~]# lsmod |grep ip_gre</code>
<code>9575 0 ip_tunnel 12661 1 ip_gre</code>4、在 ecs:172.16.0.1 上创建隧道 tun1<code>[root@hz-gw ~]# ip tunnel add tun1 mode gre remote 60.205.187.39 local 172.16.0.1</code>5、在 ecs:172.16.0.1 上激活隧道 tun1<code>[root@hz-gw ~]# ip link set tun1 up</code>6、在 ecs:172.16.0.1 上为隧道配置互联地址
<code>[root@hz-gw ~]# ip addr add 192.168.1.1 peer 192.168.1.2 dev tun1</code>7、在 ecs:172.16.0.1 上指路由,将访问 10.10.10.0/24 丢到 tun1 上<code>[root@hz-gw ~]# route add -net 10.10.10.0/24 dev tun1</code>8、在 ecs:172.16.0.1 上开启路由转发<code>[root@hz-gw ~]# echo 1 > /proc/sys/net/ipv4/ip_forward</code>以上已经把 ger 在杭州的环境已经配置好
1、在虚拟路由器上添加去往 172.16.0.0/24 指向 ecs:10.10.10.1
3、在 ecs:10.10.10.1上加载 gre 模块
<code>[root@bj-gw ~]# modprobe ip_gre</code>
<code>[root@bj-gw ~]# lsmod |grep ip_gre</code>
<code>9575 0ip_tunnel 12661 1 ip_gre</code>
4、在 ecs:10.10.10.1 上创建隧道 tun1
<code>[root@bj-gw ~]# ip tunnel add tun1 mode gre remote 121.196.208.175 local 10.10.10.1</code>
5、在 ecs:10.10.10.1 上激活隧道 tun1
<code>[root@bj-gw ~]# ip link set tun1 up</code>
6、在 ecs:10.10.10.1 上为隧道配置互联地址
<code>[root@bj-gw ~]# ip addr add 192.168.1.2 peer 192.168.1.1 dev tun1</code>
7、在 ecs:10.10.10.1上指路由,将访问 172.16.0.0/24 丢到 tun1上
<code>[root@bj-gw ~]# route add -net 172.16.0.0/24 dev tun1</code>
8、在 ecs:10.10.10.1 上开启路由转发
<code>[root@bj-gw ~]# echo 1 > /proc/sys/net/ipv4/ip_forward</code>
以上已经把 ger 在北京的环境已经配置好:
1、在北京 vpc 下测试去往杭州 vpc
在 10.10.10.1上 ping 172.16.0.1 通
在 10.10.10.1上 ping 172.16.0.136 通
在 10.10.10.118 上 ping 172.16.0.136 通
在 10.10.10.118 上 ping 172.16.0.1 通
2、在杭州 vpc 下测试去往北京 vpc
在 172.16.0.1 上 ping 10.10.10.1 通
在 172.16.0.1 上 ping 10.10.10.118 通
在 172.16.0.136 上 ping 10.10.10.118 通
在 172.16.0.136 上 ping 10.10.10.1 通
在搭建 gre 隧道的时候,如果发现不通,要注意的地址是内核上要开启路由转发,相关路由要设置正确。如果检查配置没有问题还是不通,那么建议在各个节点上进行抓包。