GREVPN讲解实例

本文详细介绍了GRE(Generic Routing Encapsulation)VPN的工作原理、优缺点,以及配置过程。通过GRE隧道,可以实现在公网上传输私网数据,允许两端私网路由可达,但不支持地址重叠。配置中涉及了GRE隧道的创建、源目地址设定、 Keeplive功能以确保隧道的稳定。通过实例展示了如何在两端路由器上配置GRE隧道,并进行了通信测试,成功实现了两端私网的互通。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

老王说网络:网络资源分享
https://docs.qq.com/sheet/DWXZiSGxiaVhxYU1F
☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝

GREvpn
基于IP地址
ip用协议号47标识GRE头
GRE是一种封装方法,在任意一种网络协议上传输任意一种其它网络协议的封装方法
优点:
最普遍的ip网络作为承载网络
支持多种协议
支持组播和动态路由协议
配置简单 部署容易
缺点
点到点隧道
静态配置隧道参数
部署复杂连接关系时代价巨大
缺乏安全性—不提供加密
不能分隔地址空间

Ip私网1----E0/0 MSRA s0/0-------公网--------s0/0 MSRB E0/0----ip私网2
私网1访问私网2流程:
隧道起点路由查找
1)找不到路由项,丢弃
2)匹配到一条普通接口的路由项正常转发
3)匹配到出站接口为tunnel的路由表项 执行转发和GRE封装
加封装
1)Tunnle口是逻辑接口实际还是依靠物理接口进行转发,
2)将ip私网数据包进行发GRE封装,从tunnel接口获取源目地址,填充字段,
3)这样一个包裹GRE头和私网IP的公网IP包–承载协议–
承载协议路由转发
1)找不到路由表象 丢弃
2)匹配到路由表项 执行转发
中途转发
1)公网正常转发 ,路由可达
解封装
1)检查数据包目的iP地址 发现为本端接口地址
2)检查公网IP头 发现协议号为47 标识载荷为GRE封装
3)根据公网IP包头目的地址 将私网IP包提交给Tunnel接口 就如同这个数据包是Tunnel接口收到的一样
4)GRE模块解开GRE封装
隧道终点路由查找
1)若找不到匹配表项 丢弃
2)匹配到路由表项 执行转发·

具体流程
1)私网1 RTA根据目的地址(私网2)查找路由表 找到出站接口
2)如出站接口为tunnel接口 对私网IP(私网2)包进行GRE封装 再加以公网Ip封装 变成一个公网IP包 其目的的为RTB的公网地址(s0/0)
3)数据包穿越Ip公共网 到达RTB
4)RTB收到 由于其目的地址为RTB 且ip包头协议号为47 RTB将根据地址将该数据包交给对应tunnel接口
由GRE模块进行解封装处理
5)解开数据包GRE封装后 根据得到的原始私网IP包目的地址(私网2)在进行下一步路由查找 通过e0/0包发到私网2

注意事项:
两端私网路由要可达
不支持两端地址重叠

Keeplive功能:实现故障探测和路由备份,探测并感知隧道的实际工作情况
开启后tunnel口周期性发送keeplive报文 默认连续三次接收不到对方响应的keeplive报文认为隧道不可达
Tunnel口置为down 这样以tunnel接口的静态路由表项就会从路由表中消失

配置:
[RTA]int tunnel 1 mode gre 创建tunnel接口1
[RTA-tunnel1] source 20.0.10.1 指定tunnel的源地址为20.0.10.1
[RTA-tunnel1]destination 20.0.20.1 指定tunnel的目的地址为20.0.20.1
源目地址为公网出接口地址
[RTA-tunnel1] IP add 192.168.20.1 指定tunnel口192.168.20.1
{RTA-tunnel1]keeplive 开启keeplive 功能实时感知隧道的变化
查询命令: dis int tunnel 1 查看tunnel口详细信息

实例:
在这里插入图片描述

配置RTA
[RTA]interface g 0/0
[RTA-GigabitEthernet0/0]ip ad 192.168.10.254 24
[RTA]interface g 0/1
[RTA-GigabitEthernet0/1]ip add 20.0.0.1 30
[RTA-GigabitEthernet0/1]nat outbound
[RTA]ip route-static 0.0.0.0 0 20.0.0.2
配置LSP
[LSP]int g 0/0
[LSP-GigabitEthernet0/0]ip add 20.0.0.2 30
[LSP-GigabitEthernet0/0]int g 0/1
[LSP-GigabitEthernet0/1]ip add 30.0.0.2 30
配置RTB
[RTB]int g 0/0
[RTB-GigabitEthernet0/0]ip add 30.0.0.1 30
[RTB-GigabitEthernet0/0]int g 0/1
[RTB-GigabitEthernet0/1]ip add 172.16.10.254 24
[RTB-GigabitEthernet0/0]nat outbound
[RTB]ip route-static 0.0.0.0 0 30.0.0.2
测试:
<私网2>ping 30.0.0.2
56 bytes from 30.0.0.2: icmp_seq=1 ttl=254 time=1.000 ms
<私网1>ping 20.0.0.2
56 bytes from 20.0.0.2: icmp_seq=1 ttl=254 time=2.000 ms
<私网2>ping 192.168.10.1
Request time out
两端私网上公网都正常,两边私网不互通
两端公网要保证互通,
配置GRE vpn
配置RTA:
interface Tunnel0 mode gre
ip address 10.100.1.1 255.255.255.252
source 20.0.0.1
destination 30.0.0.1
keepalive 10 3
配置RTB:
interface Tunnel0 mode gre
ip address 10.100.1.2 255.255.255.252
source 30.0.0.1
destination 20.0.0.1
keepalive 10 3
测试
[RTA]ping -a 10.100.1.1 10.100.1.2
56 bytes from 10.100.1.2: icmp_seq=0 ttl=255 time=2.000 ms
[RTA]ip route-static 172.16.10.0 24 tunnel 0
去往私网2下一跳交给tunnel 0
[RTB]ip route-static 192.168.10.0 24 tunnel 0
去往私网1下一跳交给tunnel 0
私网的数据要交给tunnel ,也就是gre模块,不然数据包不能在公网上传输,
<私网1>ping 172.16.10.1
56 bytes from 172.16.10.1: icmp_seq=0 ttl=253 time=6.000 ms
[私网2]ping 192.168.10.1
56 bytes from 192.168.10.1: icmp_seq=0 ttl=253 time=7.000 ms

总结:实现了两端私网的通信

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老王说网络

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值