配置GRE(Generic Routing Encapsulation)协议通常用于在两个网络之间建立隧道,以便在不支持直接通信的网络之间传输数据。以下是配置GRE协议的基本步骤,假设你使用的是Cisco设备。
1. 配置接口IP地址
首先,确保两个设备(通常是路由器)的接口已经配置了IP地址,并且可以互相通信。
Router1(config)# interface GigabitEthernet0/0
Router1(config-if)# ip address 192.168.1.1 255.255.255.0
Router1(config-if)# no shutdown
Router2(config)# interface GigabitEthernet0/0
Router2(config-if)# ip address 192.168.1.2 255.255.255.0
Router2(config-if)# no shutdown
2. 配置GRE隧道接口
在每台路由器上配置GRE隧道接口。隧道接口的IP地址可以是私有地址,只要它们在同一子网内即可。
在Router1上:
Router1(config)# interface Tunnel0
Router1(config-if)# ip address 10.0.0.1 255.255.255.252
Router1(config-if)# tunnel source 192.168.1.1
Router1(config-if)# tunnel destination 192.168.1.2
Router1(config-if)# no shutdown
在Router2上:
Router2(config)# interface Tunnel0
Router2(config-if)# ip address 10.0.0.2 255.255.255.252
Router2(config-if)# tunnel source 192.168.1.2
Router2(config-if)# tunnel destination 192.168.1.1
Router2(config-if)# no shutdown
3. 配置路由
确保通过GRE隧道传输的数据包能够正确路由。你可以使用静态路由或动态路由协议。
在Router1上:
Router1(config)# ip route 192.168.2.0 255.255.255.0 10.0.0.2
在Router2上:
Router2(config)# ip route 192.168.3.0 255.255.255.0 10.0.0.1
4. 验证配置
使用以下命令验证GRE隧道是否正常工作:
Router1# show interface Tunnel0
Router1# ping 10.0.0.2
如果隧道接口状态为“up”并且能够ping通对端隧道接口的IP地址,说明GRE隧道配置成功。
5. 可选配置
-
Keepalive:可以配置Keepalive来检测隧道是否正常工作。
Router1(config-if)# keepalive 10 3
-
MTU调整:根据网络情况,可能需要调整隧道的MTU值。
Router1(config-if)# ip mtu 1400
总结
以上是配置GRE协议的基本步骤。GRE隧道的配置相对简单,但在实际应用中可能需要根据具体网络环境进行调整和优化。
以下是不同设备上配置GRE协议的方法:
华为设备
- 配置绑定GRE协议的接口
- 进入系统视图:
system-view
。 - 进入接口视图:
interface interface-type interface-number
。 - 配置接口的IP地址:
ip address ip-address {mask | mask-length}
。 - (可选)配置隧道源接口到隧道业务板的映射:
target-board slot-number [backup slave-slot-number]
。 - 绑定GRE隧道协议:
binding tunnel gre
。 - 退出接口视图:
quit
。 - 提交配置:
commit
。
- 进入系统视图:
- 配置Tunnel接口
- 创建Tunnel接口并进入Tunnel接口视图:
interface Tunnel ?
。 - 配置Tunnel接口的隧道协议为GRE:
tunnel-protocol gre
。 - 配置Tunnel的源地址或源接口:
source {GigabitEthernet | NULL | Tunnel | X.X.X.X}
。 - 配置Tunnel的目的地址:
destination {X.X.X.X | vpn-instance}
。
- 创建Tunnel接口并进入Tunnel接口视图:
- 配置Tunnel的路由
- 根据需要配置到达对端的路由,确保Tunnel接口能够正确转发数据。
- (可选)配置GRE的TTL处理模式
- 可以根据网络需求配置TTL值,以控制报文在网络中的跳数。
- (可选)使能Keepalive功能
- 开启Keepalive功能后,设备会定期发送探测报文探测GRE隧道是否正常,可提高隧道的可靠性。
- (可选)配置GRE的安全选项
- 可以配置GRE key等安全选项,用于检查报文的合法性。
H3C设备
- 配置GRE over IPv4隧道
- 登录设备管理界面,单击“网络 > VPN > GRE”。
- 在“GRE”页面,单击<新建>按钮,进入“新建GRE隧道接口”页面,选择传输协议为IPv4。
- 配置接口编号、加入安全域、描述、接口IPv4地址、隧道源端地址、隧道目的端地址等参数。还可以根据需要开启Keepalive功能、配置发送周期和最大传送次数、设置GRE key、开启报文校验和功能等。
- 配置GRE over IPv6隧道
- 登录设备管理界面,单击“网络 > VPN > GRE”。
- 在“GRE”页面,单击<新建>按钮,进入“新建GRE隧道接口”页面,选择传输协议为IPv6。
- 配置接口编号、加入安全域、描述、接口IPv6地址、隧道源端地址、隧道目的端地址等参数。还可以根据需要设置GRE key、开启报文校验和功能、配置封装后隧道报文的ToS和TTL等。
思科设备
-
创建并配置Tunnel接口
- 创建Tunnel接口:
interface Tunnel number
。 - 配置Tunnel接口的IP地址:
ip address ip-address mask
。 - 配置Tunnel接口的封装协议为GRE:
tunnel protocol gre
。 - 配置Tunnel的源地址或源接口:
tunnel source {ip-address | interface-type interface-number}
。 - 配置Tunnel的目的地址:
tunnel destination ip-address
。
- 创建Tunnel接口:
-
配置路由
- 配置到达对端网络的路由,确保数据能够通过Tunnel接口正确转发。
-
(可选)配置Keepalive功能
- 使用
keepalive
命令配置Keepalive功能,设置探测报文的发送周期和重试次数等参数,以检测Tunnel的连通性。
在华为设备上配置GRE隧道时,设置隧道源接口的具体步骤如下:
- 使用
-
进入系统视图
system-view
-
创建Tunnel接口并进入Tunnel接口视图
interface tunnel interface-number
其中
interface-number
是Tunnel接口的编号。 -
配置Tunnel接口的隧道协议为GRE
tunnel-protocol gre
-
设置Tunnel接口的源接口
source interface-type interface-number
interface-type
:接口类型,如GigabitEthernet
。interface-number
:接口编号,如0/0/1
。- 注意事项:Tunnel的源接口不能指定为自身的Tunnel接口,但可以指定为其他隧道的Tunnel接口。
例如,如果要将GigabitEthernet 0/0/1
设置为Tunnel接口的源接口,可以使用以下命令:
source GigabitEthernet 0/0/1
-
(可选)配置Tunnel接口的其他参数
- 目的地址:设置Tunnel接口的目的地址。
destination ip-address
- IP地址:为Tunnel接口分配IP地址。
ip address ip-address mask
- MTU:配置Tunnel接口的MTU值。
mtu mtu-value
- Keepalive功能:使能Keepalive功能以检测隧道连通性。
keepalive period retry-times
- 目的地址:设置Tunnel接口的目的地址。
-
提交配置
commit
通过以上步骤,可以成功设置GRE隧道的源接口,并完成Tunnel接口的基本配置。