通過GRE隧道實現VPC互通方案介紹

jiangyong10086發表於2017-01-20

背景

不同 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

部署步驟

一、杭州 VPC 部署

1、在虛擬路由器上新增去往 10.10.10.0/24 指向 ECS:172.16.0.1

2、在杭州 VPC 的虛擬路由器上增加去往互聯地址的路由:

3、在 ECS:172.16.0.1 上載入 GRE 模組
[root@HZ-GW ~]# modprobe ip_gre
[root@HZ-GW ~]# lsmod |grep ip_gre
9575 0 ip_tunnel 12661 1 ip_gre

4、在 ECS:172.16.0.1 上建立隧道 tun1
[root@HZ-GW ~]# ip tunnel add tun1 mode gre remote 60.205.187.39 local 172.16.0.1

5、在 ECS:172.16.0.1 上啟用隧道 tun1
[root@HZ-GW ~]# ip link set tun1 up

6、在 ECS:172.16.0.1 上為隧道配置互聯地址
[root@HZ-GW ~]# ip addr add 192.168.1.1 peer 192.168.1.2 dev tun1

7、在 ECS:172.16.0.1 上指路由,將訪問 10.10.10.0/24 丟到 tun1 上
[root@HZ-GW ~]# route add -net 10.10.10.0/24 dev tun1

8、在 ECS:172.16.0.1 上開啟路由轉發
[root@HZ-GW ~]# echo 1 > /proc/sys/net/ipv4/ip_forward

以上已經把 GER 在杭州的環境已經配置好

二、北京 VPC 部署

1、在虛擬路由器上新增去往 172.16.0.0/24 指向 ECS:10.10.10.1

2、在杭州 VPC 的虛擬路由器上增加去往互聯地址的路由:

3、在 ECS:10.10.10.1上載入 GRE 模組
[root@BJ-GW ~]# modprobe ip_gre
[root@BJ-GW ~]# lsmod |grep ip_gre
9575 0ip_tunnel 12661 1 ip_gre

4、在 ECS:10.10.10.1 上建立隧道 tun1
[root@BJ-GW ~]# ip tunnel add tun1 mode gre remote 121.196.208.175 local 10.10.10.1

5、在 ECS:10.10.10.1 上啟用隧道 tun1
[root@BJ-GW ~]# ip link set tun1 up

6、在 ECS:10.10.10.1 上為隧道配置互聯地址
[root@BJ-GW ~]# ip addr add 192.168.1.2 peer 192.168.1.1 dev tun1

7、在 ECS:10.10.10.1上指路由,將訪問 172.16.0.0/24 丟到 tun1上
[root@BJ-GW ~]# route add -net 172.16.0.0/24 dev tun1

8、在 ECS:10.10.10.1 上開啟路由轉發
[root@BJ-GW ~]# echo 1 > /proc/sys/net/ipv4/ip_forward

以上已經把 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 隧道的時候,如果發現不通,要注意的地址是核心上要開啟路由轉發,相關路由要設定正確。如果檢查配置沒有問題還是不通,那麼建議在各個節點上進行抓包。


相關文章