计算机网络-GRE基础实验

一、基础配置

前面我们学习了GRE的理论知识,还是比较复杂的,现在来结合实践来验证下GRE的应用。

网络拓扑
网络拓扑

首先我们需要明确分支和总部都通过运营商提供的线路访问Internet,但是分支想要访问总部只能通过Internet如微信、QQ等方式来实现,私网路由是不会在公网设备上存在的。我们的需求是在不修改网络架构的情况下实现内网互通。

一般情况下我们会在出口接口上配置NAT用于将私网地址转换成公网地址,然后缺省路由指向运营商设备。

基础配置:

分支:
# 创建ACL用于NAT转换
acl number 3000  
 rule 5 permit ip 
# 公网接口
interface GigabitEthernet0/0/0
 ip address 202.96.134.133 255.255.255.0 
 nat outbound 3000
# 内网接口
interface GigabitEthernet0/0/1
 ip address 192.168.1.254 255.255.255.0 
#
ip route-static 0.0.0.0 0.0.0.0 202.96.134.132


Internet:只需要配置接口即可
#
interface GigabitEthernet0/0/0
 ip address 202.96.134.132 255.255.255.0 
#
interface GigabitEthernet0/0/1
#
interface GigabitEthernet0/0/2
 ip address 185.74.54.128 255.255.255.0 
 
 
总部:
# 创建ACL用于NAT转换
acl number 3000  
 rule 5 permit ip 
# 内网接口
interface GigabitEthernet0/0/1
 ip address 172.16.1.254 255.255.255.0 
#公网接口并应用NAT
interface GigabitEthernet0/0/2
 ip address 185.74.54.129 255.255.255.0 
 nat outbound 3000
#
ip route-static 0.0.0.0 0.0.0.0 185.74.54.128
ip route-static 192.168.1.0 255.255.255.0 Tunnel0/0/0

目前PC能够通过NAT访问对应的公网出口的,但是无法访问对端内网的。

PC1测试连通性
PC1测试连通性

二、配置GRE隧道

首先我们先规划一个网段用于Tunnel隧道的接口地址,尽量保证在一个网段里面吧,防止出现一些不可控因素,这里以10.0.0.0/24网段为例。然后保证双方的公网接口也就是分支和总部的出口地址是能够互相访问的。

配置:

分支:
# 创建一个tunnel接口
interface Tunnel0/0/0
 ip address 10.0.0.2 255.255.255.0    # 配置隧道接口
 tunnel-protocol gre                  # 配置隧道封装协议为gre
 source 202.96.134.133                # 配置隧道的源地址为出口公网地址
 destination 185.74.54.129            # 配置隧道的目的地址,对端的公网地址

# 这里简单以静态路由指向隧道接口
ip route-static 172.16.1.0 255.255.255.0 Tunnel0/0/0


总部:
# 创建一个tunnel0/0/0
interface Tunnel0/0/0
 ip address 10.0.0.1 255.255.255.0   # 配置隧道接口
 tunnel-protocol gre                 # 隧道的封装协议为GRE 
 source 185.74.54.129                # 定义源地址,也就是公网出口地址
 destination 202.96.134.133          # 定义目的地址,表明需要找到对端的公网地址

# 这里简单配置静态路由指向tunnel隧道即可
ip route-static 192.168.1.0 255.255.255.0 Tunnel0/0/0

验证:

PC1连通性测试
PC1连通性测试
ICMP报文
ICMP报文
报文详情
报文详情

大致将一下报文逻辑:

  • PC1发送报文源地址为192.168.1.1,目的地址为172.16.1.1的ICMP报文,自身校验后发现不是同一个网段,然后发送到网关也就是出口路由器G0/0/1。
  • 分支出口路由器创建了一个tunnel0/0/0,指定源地址是公网接口,目的地址是对端公网地址,使用gre封装
  • 分支出口路由器定义了静态路由到达172.16.1.0/24指向tunnel0/0/0,因此当PC1的ICMP报文到达路由器会进行gre封装,加上外层IP头部源目地址,发送到总部路由器。
  • 总部路由器接收到目的地址为自身的IP报文进行解封装,然后得到内层IP头部,然后根据自身直连路由找到172.16.1.1,从内网G0/0/1转发出去

三、进行数据校验与安全验证

3.1 数据校验

通过进行数据校验确保数据的完整性。

配置:

# 在隧道接口开启校验
interface Tunnel0/0/0
 ip address 10.0.0.2 255.255.255.0 
 tunnel-protocol gre
 source 202.96.134.133
 destination 185.74.54.129
 gre checksum                        # 开启校验功能


# 在隧道接口开启校验
interface Tunnel0/0/0
 ip address 10.0.0.1 255.255.255.0 
 tunnel-protocol gre
 source 185.74.54.129
 destination 202.96.134.133
 gre checksum                       # 开启校验功能

然后我们再去抓包查看:

数据校验
数据校验

3.2 安全认证

目前我们是只需要创建隧道接口,配置源目地址就可以建立隧道了,如果被非法抓包获取到gre报文进行伪造可以造成严重后果,因此可以开启key认证。

配置:

# 在隧道接口开启key认证
# 分支
interface Tunnel0/0/0
 ip address 10.0.0.2 255.255.255.0 
 tunnel-protocol gre
 source 202.96.134.133
 destination 185.74.54.129
 gre key 8096                     # key只能是<0-4294967295>的数字
 gre checksum
 
总部:
interface Tunnel0/0/0
 ip address 10.0.0.1 255.255.255.0 
 tunnel-protocol gre
 source 185.74.54.129
 destination 202.96.134.133
 gre key 8096
 gre checksum

再进行抓包:

key抓包信息
key抓包信息

基本实验就是这样简单,只要双方网络可达,然后创建隧道接口指定源目地址和封装协议就能建立GRE隧道,通过在隧道接口进行简单校验和key验证可以实现一定安全但是相对还是比较薄弱的。

本文由 mdnice 多平台发布

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不喜欢热闹的孩子

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

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

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

打赏作者

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

抵扣说明:

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

余额充值