1.     引言

    1.1. GRE简介

GREGeneric Routing Encapsulation,通用路由封装)协议用来对某种协议(如IPMPLS、以太网)的数据报文进行封装,使这些被封装的数据报文能够在另一个网络(如IP)中传输。封装前后数据报文的网络层协议可以相同,也可以不同。封装后的数据报文在网络中传输的路径,称为GRE 隧道。GRE 隧道是一个虚拟的点到点的连接,其两端的设备分别对数据报文进行封装及解封装。 

          1.1.1    GRE封装后的报文格式

1-1 GRE封装后的格式

wKiom1iZd2-Dx7e2AAAkFA9aXfI944.png


    如图1-1所示,GRE封装后的报文包括如下几个部分:

    净荷数据Payload packet):需要封装和传输的数据报文。净荷数据的协议类型,称为乘客协议(Passenger Protocol)。乘客协议可以是任意的网络层协议。

     GRE 头(GRE header):采用GRE 协议对净荷数据进行封装所添加的报文头,包括封装层数、版本、乘客协议类型等内容。添加GRE 头后的报文称为GRE 报文。对净荷数据进行封装的GRE 协议,称为封装协议(Encapsulation Protocol)。

     传输协议的报文头(Delivery header):在GRE 报文上添加的报文头,以便传输协议对GRE报文进行转发处理。传输协议(Delivery Protocol 或者Transport Protocol)是指负责转发GRE报文的网络层协议。设备支持IPv4 IPv6 两种传输协议:当传输协议为IPv4 时,GRE 隧道称为GRE over IPv4 隧道;当传输协议为IPv6 时,GRE 隧道称为GRE over IPv6 隧道。

    Tips: GRE 收发双方的加封装、解封装处理,以及由于封装造成的数据量增加,会导致使用GRE 后设备的数据转发效率有一定程度的下降。


 1.2.概述

该文档主要描述GRE Tunnel的建立和检测,

适用读者

    链路优化开发和业务运维人员

 1.3.工具

SecureCRTXshell

2.     初始基础环境

安装初始化准备工作:

1  确定交换机的版本

2  操作前需要先备份配置文件和启动文件,防止误操作

3  测试版本要求:

    H3C交换机:不低于1807P02

wKioL1iZeAjyhP3MAABoU7FAFPo170.png

    华为CE-5800 系列:

    

wKiom1iZeEOxhMLmAABl4CuzmJA480.png



    参考原因官方文档。

wKioL1iZeI7DqNaTAAEUAJaDb8E738.png

2.1 环境拓扑

wKiom1iZeKfQJgixAAJB0d8MpaA787.png













2.2 安全配置

 

2.2.1       SSH Telnet连接限制IP

2.2.2     设置特权密码,密码规则遵从复杂和安全性规则

2.2.3       AAA 验证加密

3.2 命令行配置

    3.2.1配置H3C-s5800-1 Tunnel

wKioL1iZeQuzT8T5AAAb4VCeG44383.png


    1. Interface Tunnel 10

    2. mtu 1500

    3. ip address 10.0.0.1 255.255.255.0

    4. source 1.1.1.1

    5. destionation 4.4.4.4

    6. service-loopback-group 1

    7. tunnel-protocol gre

    8. undo shut


3.2.2 配置CE-5800

wKiom1iZedOAy0uBAAAghk3s8b0312.png



    1. Interface Tunnel 10

    2. mtu 1500

    3. ip address 10.0.0.2 255.255.255.0    #Tunnel 互联地址,Tunnel最终通信地址

    4. source 4.4.4.4                 #源地址

    5. destionation 1.1.1.1             #目的地址,相对互为源和目的

    6. service-loopback-group 1          # Tunnel 加入回环组 1

    7. tunnel-protocol gre              #隧道协议:gre

    8. undo shut

    9. 备注:H3C-S5800 配置解释同理,和华为不通的是,H3C需要先把一个普通的端口加入到回环组,这里把普通的g1/0/3加入到回还组


wKioL1iZepnD3XebAAASnSIDLYk184.png

    4.1测试标准:两端的Tunnel建立需要2up状态,

    解释:1个是物理链路,一个是链路协议状态,2边都是up的状态才可以Tunnel建立成功

    4.1.1 H3C-S5800-1上的状态如下:

wKiom1iZeuuQt-uZAABsn0SwiOo753.png

4.1.2 CE-5810 上的配置如下:

wKioL1iZezrAe1xcAABJ7tzl3L8089.png

wKiom1iZezyioi2kAABNDjrL9Ko175.png

   4.1.3 测试隧道互联地址能否通信:

wKiom1iZe4HwKPJRAABM5yA3aaw520.png

wKioL1iZe4GBSyCYAABNxWQGDrs909.png



4.2 QuidWay-CE5800 H3C-S5800 的三层交换机,建立Tunnel的限制:

4.2.1 设备限制了建立max Tunnel的最大数目即0-255

4.2.2  H3C设备出厂默认支持128Tunnel,CE5800默认出厂不支持GRE特性,需要升级版本,故可以要求厂家或者代理商直接升级最新或者指定版本,升级后支持256Tunnel

  以下为常用操作命令:

4.2.3交换机登陆:

  • 登陆使用telnet命令:

    • telnet xxx.xxx.xxx.xxx

    • 现在节点上使用的都需要输入用户名和密码进行验证:

    • 当看到提示Username:      输入用户名 回车

    • 然后会提示输入密码,      Password: 输入密码 回车

    • 如果用户名和密码匹配就会进入交换机

    • 注意:我们的交换机设置了不同权限,初始化登陆的权限是最低的,几乎不支持任何操作,此时需要键入命令;super

    • 提示输入密码后,键入正确密码即可得到超级管理员权限

4.2.4交换机基本操作:

  • 查询命令:

    • display ip routing-table 查询交换机路由表

    • display current-configuration 查询交换机当前的配置

    • display interface Tunnel X 查询隧道信息,X为某条隧道的编号,比如查询tunnel20 X处就应该是20

    • display acl X 查询ACL配置,xAcl编号,一般等于 3000 + 当前隧道编号

    • display snmp-agent community 查询当前交换机snmp的团体名有哪些, community处还可以是其他字段,当不知道是可以在snmp-agent的空格后,输入?来查询

    • display traffic X 查询当前流量相关的配置,X处可以behavior 或者 classifier 比如查询流量行为:display traffic behavior user-defined tunnel

    • 交换机查询一般使用display命令, 交换机大部分命令都可以缩写,比如dis 就可以

    • 配置交换机时首先得进入系统模式,键入system-view 即可

    • 路由配置:

    • 新建隧道:

    • 删除隧道:

    • 新建ACL

    • 删除ACl

    • 建立classifier

    • 新建路由:ip route-static D M H 其中D代表目的地址,M代表下一跳掩码,H代表下一跳地址

    • 删除路由:undo ip route-static D M H 其中D代表目的地址,M代表下一跳掩码,H代表下一跳地址

    • interface tunnel X 其中X代表隧道编号

    • mtu N 设置隧道Mtu值,N为值的大小,一般为1500 1480

    • ip address A 255.255.255.252 设置本端隧道的IP地址,A代表隧道IP地址

    • tunnel-protocol ipv4-ipv4 设置隧道模式

    • source S 设置隧道源地址,S为本端交换机loopBack地址

    • destination D 设置隧道目的地址,D为对端交换机loopBack地址

    • service-loopback-group 1 设置隧道工作组

    • undo interface tunnel N 删除比设置隧道容易, N为要删除的隧道编号

    • acl number N 设置Acl N N为此条Acl的编号,一般是一个大于3000的数字

    • rule N permit ip source S 0 destination D 0 设置规则,N为规则编号, S为本端交换机loopBack地址,D为对端交换机loopBack地址

    • undo acl number N 同样N为要删除的ACL编号

    • traffic classifier C operator and 建立calssifier,其中C为要建立classifier名称

    • if-match acl N classifier匹配一条Acl NAcl编号

    • interface Ten-GigabitEthernet1/0/N 同上

    • qos apply policy tunnel outbound

    • interface Ten-GigabitEthernet1/0/N 进入流量引入端口配置,N为端口号,我们节点一般是52

    • undo qos apply policy tunnel       outbound

    • 在新建或者删除隧道时,一般需要先关闭,删除其流量统计行为

    • port link-mode bridge

    • flow-interval 5

    • stp disable

    • undo lldp enable

    • port service-loopback group 1

    • service-loopback group N type       tunnel 其中N为组编号

    • traffic behavior N 其中N为自定义的行为名称

    • accounting byte 设置流量统计模式,byte为字节,package为包

    • undo traffic classifier C 其中C为要删除的classifier名字

    • 删除classifier

    • 流量统计行为设置:

    • loopBack组设置:

    • 流量统计端口设置:

    • 关闭Qos

    • 打开Qos

    • 一般交换机中删除或者取消某项操作,都用undo命令当然这里说的是华桑的交换机

    • 要统计隧道流量,需要在acltunnelclassifierbehavior 建立好之后,关闭qos 接着执行classifier      C behavior B 其中Cclassifier的名字,Bbehavior的名字,要统计几条就加入几条, 最后打开Qos

    • display interface tunnel brief 可以查询交换机隧道的联通状况,如果是up 则代表通,down则代表断


    • 注:交换机内的大部分信息都可以通过查询配置信息得到

    • 配置命令:       附:详细配置见附件