阿里云VPC网络之间通过GRE隧道打通

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
公网NAT网关,每月750个小时 15CU
简介:

此前介绍了VPC网络下阿里云服务器如何配置Snat让整个VPC网络都通过一个EIP访问公网,今天介绍一下如何通过GRE隧道将两个VPC网络的私网打通。

测试环境如下:

2个VPC(VPC1,VPC2)代表两个完全隔离的物理网络

每个VPC网络交换机,路由器,公网IP各一个,ECS2台,一台作为VPC网络的网关,一台作为局域网内部的服务器。

1

VPC1:   {EIP:112.74.32.191    GW:172.16.1.1    VPC1-Client:   172.16.1.2}

VPC2:   {EIP:112.74.32.161    GW:172.16.2.1     VPC2-Client:   172.16.2.2}

拓扑如下:

2

VPC1-GW操作
加载gre模块

1 [root@VPC1-GW ~]# modprobe ip_gre
2 [root@VPC1-GW ~]# lsmod |grep gre
3 ip_gre 9575 0
4 ip_tunnel 12597 1 ip_gre

创建隧道tun1

1 [root@VPC1-GW ~]# ip tunnel add tun1 mode gre remote 112.74.32.161 local 172.16.1.1

激活隧道tun1

1 [root@VPC1-GW ~]# ip link set tun1 up

为隧道配置互联地址

1 [root@VPC1-GW ~]# ip addr add 192.168.2.1 peer 192.168.2.2 dev tun1

将访问VPC2网络的数据都丢到tun1接口

1 [root@VPC1-GW ~]# route add -net 172.16.2.0/24 dev tun1

#VPC2-GW配置和VPC1一样,只是链路反过来,按照实际情况修改一下。

1 [root@VPC2-GW ~]# modprobe ip_gre
2 [root@VPC2-GW ~]# lsmod |grep gre
3 ip_gre 9575 0
4 ip_tunnel 12597 1 ip_gre
5 [root@VPC2-GW ~]# ip tunnel add tun1 mode gre remote 112.74.32.191 local 172.16.2.1
6 [root@VPC2-GW ~]# ip link set tun1 up
7 [root@VPC2-GW ~]# ip addr add 192.168.2.2 peer 192.168.2.1 dev tun1
8 [root@VPC2-GW ~]# route add -net 172.16.1.0/24 dev tun1

查看隧道,属于激活状态
3
从VPC2网络测试VPC1的GW,已经可以联通,从VPC1测试VPC2的GW也可以联通了

1 [root@VPC2-GW ~]# nc -zv 172.16.1.1 22
2 Connection to 172.16.1.1 22 port [tcp/ssh] succeeded!
3 [root@VPC1-GW ~]# nc -vz 172.16.2.1 22
4 Connection to 172.16.2.1 22 port [tcp/ssh] succeeded!

至此,两个VPC网络的网关都已经能互通了,但是测试两个VPC网络的其他服务器,目前依然不能互通,如下:
6
这是因为路由还不通,这里以VPC2的client访问VPC1的client为例:

登陆VPC2的控制台为VPC2路由器配置默认路由,指向配置了EIP的VPC2-GW(可参考此前的SNAT教程),
4

 

登陆VPC2-GW,开启IP转发,并配置SNAT,让VPC1client的数据包转换为GRE隧道可以通讯的192.168.2.2这个IP:

1 [root@VPC2-GW ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
2 [root@VPC2-GW ~]# iptables -t nat -I POSTROUTING -s 172.16.2.0/24 -d 172.16.1.0/25 -j SNAT --to 192.168.2.2

这时,VPC2-client的数据包已经可以到达VPC1-GW了(VPC2-client->VPC2路由->VPC2-G->GRE->VPC1-GW),但是依然Ping不通,抓包看一下:

111

源地址是VPC1的互联地址,目标地址是172.16.1.2,这个路径显然是不通的,需要VPC1-GW将这个数据包转换为VPC1网络的地址:

1 [root@VPC2-GW ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
2 [root@VPC1-GW ~]# iptables -t nat -I POSTROUTING -j SNAT --to 172.16.1.1

配置完毕后,VPC1->VPC2反向也做同样的配置。

至此再做测试,VPC1和VPC2的网络就完全互通了:

3333

 

相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
阿里云专有网络VPC使用教程
专有网络VPC可以帮助您基于阿里云构建出一个隔离的网络环境,并可以自定义IP 地址范围、网段、路由表和网关等;此外,也可以通过专线/VPN/GRE等连接方式实现云上VPC与传统IDC的互联,构建混合云业务。 产品详情:https://www.aliyun.com/product/vpc
目录
相关文章
|
2天前
|
人工智能 关系型数据库 数据中心
2024 OCP全球峰会:阿里云为代表的中国企业,引领全球AI网络合作和技术创新
今年的OCP(Open Compute Project)峰会于2024年10月14日至17日在美国加州圣何塞举行,在这场全球瞩目的盛会上,以阿里云为代表的中国企业,展示了他们在AI网络架构、液冷技术、SRv6和广域网等前沿领域的强大创新能力,持续引领全球合作与技术创新。
|
5天前
|
弹性计算 Kubernetes 网络协议
阿里云弹性网络接口技术的容器网络基础教程
阿里云弹性网络接口技术的容器网络基础教程
阿里云弹性网络接口技术的容器网络基础教程
|
15天前
|
Ubuntu 网络安全 数据安全/隐私保护
阿里云国际版如何设置网络控制面板
阿里云国际版如何设置网络控制面板
|
13天前
|
Ubuntu Linux 应用服务中间件
阿里云国际短信业务网络超时排障指南
阿里云国际短信业务网络超时排障指南
|
15天前
|
存储 运维 负载均衡
为什么阿里云国际版 要使用CDN(内容交付网络)?
为什么阿里云国际版 要使用CDN(内容交付网络)?
|
5月前
|
弹性计算 监控 开发工具
【阿里云弹性计算】阿里云ECS的网络优化实践:VPC配置与网络性能提升
【5月更文挑战第29天】阿里云ECS通过虚拟私有云(VPC)提供高性能、安全的网络环境。VPC允许用户自定义IP地址、路由规则和安全组。配置包括:创建VPC和交换机,设定安全组,然后创建ECS实例并绑定。优化网络性能涉及规划网络拓扑、优化路由、启用网络加速功能(如ENI和EIP)及监控网络性能。示例代码展示了使用Python SDK创建VPC和交换机的过程。
413 3
|
2月前
|
敏捷开发 网络协议 测试技术
阿里云云效产品使用合集之在vpc网络里,如何升级agent
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
5月前
|
弹性计算 关系型数据库 数据库
【阿里云助力企业数字化转型:专有网络、ECS、RDS等一网打尽】
数字化转型已经成为企业发展的必然趋势,而阿里云作为我国领先的云计算服务提供商,为企业提供了一整套完善的云服务解决方案。本文将详细介绍阿里云的专有网络VPC、云服务器ECS、云数据RDS、云数据库Redis、Serverless容器集群ASK、微服务引擎MSE、云效以及云速搭CADT等产品,帮助企业轻松实现数字化转型。 正文:
192 3
|
存储 域名解析 弹性计算
阿里云VPC内网DNS日志正式接入SLS日志审计服务
内网DNS日志(Intranet DNS Log) 记录了指定阿里云uid下所有VPC网络内终端产生的DNS域名解析请求和应答,终端请求的这些域名既包含了配置在PrivateZone上的内网权威域名,也包含了外部公网域名。为了满足用户可以快速、简单实现多账号、多地域场景下内网DNS日志的采集、管理、中心化查询分析等需求,DNS与SLS联合开发,在SLS日志审计应用中发布一键开启内网DNS日志的功能。
阿里云VPC内网DNS日志正式接入SLS日志审计服务
|
弹性计算 负载均衡 容灾
《阿里云认证的解析与实战-云计算ACP认证》——云计算ACP训练营第5天——一、网络与VPC
《阿里云认证的解析与实战-云计算ACP认证》——云计算ACP训练营第5天——一、网络与VPC