linux 下配置GRE

通用路由封装协议GRE(Generic Routing Encapsulation)可以对某些网络层协议(如IPX、ATM、IPv6、AppleTalk等)的数据报文进行封装,使这些被封装的数据报文能够在另一个网络层协议(如IPv4)中传输。
GRE提供了将一种协议的报文封装在另一种协议报文中的机制,是一种三层隧道封装技术,使报文可以通过GRE隧道透明的传输,解决异种网络的传输问题。

我理解一种典型的应用场景就是使用IPV4网络进行IPV6通信;
我用的是展锐udx710板子
点到点隧道
板侧配置

# 创建隧道 隧道名tun0  模式GRE  远端地址192.168.1.2 本地地址 192.168.1.1
ip tunnel add tun0 mode gre remote 192.168.1.2 local 192.168.1.1

# 为隧道配置地址 10.9.9.1为本地地址 10.9.9.2为远端地址
ip addr add 10.9.9.1 dev tun0 peer 10.9.9.2/24

# 启动隧道 之后可以ifconfig查看网卡 就有tun0网卡 ip为10.9.9.1
ip link set dev tun0 up

上位机配置

# 创建隧道 隧道名tun0  模式GRE  远端地址192.168.1.1 本地地址 192.168.1.2
ip tunnel add tun0 mode gre remote 192.168.1.1 local 192.168.1.2

# 为隧道配置地址 10.9.9.2为本地地址 10.9.9.1为远端地址
ip addr add 10.9.9.2 dev tun0 peer 10.9.9.1/24

# 启动隧道 之后可以ifconfig查看网卡 就有tun0网卡 ip为10.9.9.2
ip link set dev tun0 up

配置完成后就可以互相ping通了
比如在上位机ping10.9.9.1,抓包可以看到GRE协议表示
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_38721267/article/details/129196513