通過GRE隧道實現VPC互通方案介紹
背景
不同 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 隧道的時候,如果發現不通,要注意的地址是核心上要開啟路由轉發,相關路由要設定正確。如果檢查配置沒有問題還是不通,那麼建議在各個節點上進行抓包。
相關文章
- 兩臺linux建立GRE隧道Linux
- 在華為裝置上實施GRE隧道和IPSECVPN
- postMessage實現頁面通訊介紹
- Android通過輔助功能實現搶微信紅包原理簡單介紹Android
- nodejs通過phantomjs實現下載網頁簡單介紹NodeJS網頁
- Oracle常見SQL分頁實現方案介紹OracleSQL
- VPN隧道協議-GRE、L2TP、IPSEC協議
- VPN閘道器最佳實踐系列(一)如何讓VPC之間互通
- 文通產品及解決方案介紹
- 介紹一種更方便的代理池實現方案
- 實現瀏覽器跨域解決方案介紹瀏覽器跨域
- 【AWS】通過對等網路打通VPC訪問
- Mininet主機與真實網路互通方案實現
- GRE/PPTP/L2TP/L2隧道協議-VeCloudpptp協議Cloud
- OutputStreamWriter介紹&程式碼實現和InputStreamReader介紹&程式碼實現
- 通過佇列實現棧OR通過棧實現佇列佇列
- 內網-隱藏隧道通訊技術,場景復現(ICMP隧道)內網
- 通過模板實現POI
- 用隧道協議實現不同dubbo叢集間的透明通訊協議
- 簡單介紹numpy實現RNN原理實現RNN
- golang實現常用集合原理介紹Golang
- LSM樹的不同實現介紹
- CNN介紹及程式碼實現CNN
- BiLSTM介紹及程式碼實現
- js通過例項介紹關於閉包的用法JS
- VPC最佳實踐(四):VPC中的訪問控制
- 配置RIP、OSPF實現全網互通
- LRU 實現 通過 LinkedHashMapHashMap
- 通過redis實現session共享RedisSession
- CSS居中方案介紹CSS
- MySQL高可用方案介紹MySql
- C# 通過socket實現UDP 通訊C#UDP
- "ssh 反向隧道 實現內網穿透內網穿透
- go語言實現ssh打隧道Go
- 透過示例程式碼介紹Docker部署Mysql叢集的實現DockerMySql
- 通過實際的例子,介紹 SAP ABAP 裡的 Repository Information System 的使用技巧ORM
- javascript實現二維陣列實現簡單介紹JavaScript陣列
- 簡單介紹如何通過註解獲取反射的值反射