使用GRE实现两个内网跨越公网通信


前言

    企业分支与企业总部都是处于自己的内网中,通过出口防火墙和路由器进行外联,如果他们之间想要通信,那么问题就来了,私网的数据包是无法在公网上进行传播的,那有什么办法可以使两台处于内网环境中的主机跨越公网进行通信呢?
    答案是使用GRE通信协议,本篇阐述了GRE的基本原理以及基本配置,相信你看了之后会有很多的收获。


一、GRE概述

  • GRE就像是一辆火车,报文可以比作乘客,报文装上火车之后,GRE会载着报文通过建立的隧道跨越公网传输到想去的网络。
  • 设备从连接私网的接口接收到报文后,检查报文头中的目的IP地址字段,在路由表查找出接口,如果发现出接口是隧道接口,则将报文发送给隧道模块进行处理,给报文添加上IP报文头,源地址就是隧道地址,目的地址就是隧道目的地址。
  • 报文到达目的之后,检查协议类型字段,如果是GRE,就去掉IP报文头和GRE报文头,把承载的东西交给私网中的协议处理,乘客安全抵达目的地。
  • GRE使用Keepalive检测功能检测隧道对端是否可达。如果对端不可达,隧道连接就会及时关闭,避免形成数据空洞。

二、GRE配置

拓扑图

  • 图中显示的就是今天的实验拓扑,192.168.1.0网段模拟企业分支,通过出口路由器AR1连接运营商网络;172.16.1.0网段模拟企业总部,通过出口路由器AR2连接运营商网络;ISP路由器模拟运营商网络,回环口模拟公网中的一个地址。

基础网络配置

AR1:
interface GigabitEthernet0/0/0
 ip address 192.168.1.254 255.255.255.0
interface GigabitEthernet0/0/1
 ip address 10.1.1.1 255.255.255.0 
ip route-static 0.0.0.0 0.0.0.0 10.1.1.2 //配置默认路由,企业内需要访问公网的路由全部指向ISP路由器

//配置Easy-IP地址转换,将报文的源地址由私网地址转换成公网,因为私网地址不能在公网上转发
acl number 2000  
 rule 5 permit source 192.168.1.0 0.0.0.255
interface GigabitEthernet0/0/1
 nat outbound 2000 
AR2:
interface GigabitEthernet0/0/0
 ip address 20.1.1.1 255.255.255.0
interface GigabitEthernet0/0/1
 ip address 172.16.1.254 255.255.255.0 
ip route-static 0.0.0.0 0.0.0.0 20.1.1.2

acl number 2000  
 rule 5 permit source 172.16.1.0 0.0.0.255
interface GigabitEthernet0/0/0
 nat outbound 2000
ISP:
interface GigabitEthernet0/0/0
 ip address 10.1.1.2 255.255.255.0
interface GigabitEthernet0/0/1
 ip address 20.1.1.2 255.255.255.0
interface LoopBack0
 ip address 1.1.1.1 255.255.255.255
  • 验证内网主机可以连通公网地址
    在这里插入图片描述

GRE隧道配置

在这里插入图片描述

  • 在AR1和AR2之间创建一个GRE隧道,实现两个内网跨越公网进行通信。
AR1:
interface Tunnel0/0/1 //创建隧道接口
 ip address 40.1.1.1 255.255.255.0 //配置隧道接口地址
 tunnel-protocol gre //配置隧道协议为gre
 source 10.1.1.1 //配置出口路由器源地址
 destination 20.1.1.1  //配置对端出口路由器的地址
ip route-static 172.16.1.0 255.255.255.0 Tunnel0/0/1 //配置静态路由,让通向对端内网的路由都走这个隧道
AR2:
interface Tunnel0/0/1
 ip address 40.1.1.2 255.255.255.0 
 tunnel-protocol gre
 source 20.1.1.1
 destination 10.1.1.1
ip route-static 192.168.1.0 255.255.255.0 Tunnel0/0/1
  • 验证GRE隧道创建成功

在这里插入图片描述

配置Keepalive检测

两端路由器都需要配置:
interface Tunnel0/0/1
 keepalive period 3 retry-times 3//指定Keepalive检测报文的发送周期,默认值为5秒, retry-times参数指定Keepalive检测报文的重传次数,默认值为3

总结

使用GRE创建隧道的方法可以实现两个内网之间的通信,也不需要增加很多的成本,是一种很好的解决方案。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

微瑟秋风

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

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

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

打赏作者

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

抵扣说明:

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

余额充值