📅  最后修改于: 2023-12-03 15:28:23.223000             🧑  作者: Mango
通用路由封装(GRE)是一种网络隧道协议,可以在不同的物理网络之间传输数据包。GRE隧道通常用于将远程分支机构或数据中心的网络连接到主网络上。
GRE隧道将数据包封装在一个额外的IP头中,将其传输到目的地网络,然后再将原始数据包解封并传递到目标主机。GRE隧道的头信息包含源IP地址、目的IP地址、协议类型和键值,它用于处理封装和解封数据包的操作。GRE隧道通常采用配置简单的标准点到点模型,其中一个端点为本地GRE端点,另一个端点为远程GRE端点。
以下是使用GRE隧道在Linux上设置虚拟私有网络(VPN)的示例:
安装GRE模块:apt-get install -y linux-modules-extra-$(uname -r)
创建本地GRE端点:ip tunnel add gre0 mode gre local 192.168.1.1 remote 192.168.2.1 ttl 255
配置GRE端点地址:ifconfig gre0 10.1.1.1/24 up
创建远程GRE端点:ssh user@192.168.2.1 'ip tunnel add gre0 mode gre local 192.168.2.1 remote 192.168.1.1 ttl 255'
配置远程GRE端点地址:ssh user@192.168.2.1 'ifconfig gre0 10.1.1.2/24 up'
添加路由:ip route add 192.168.2.0/24 via 10.1.1.2 dev gre0
通过以上步骤,本地主机和远程主机之间就建立了GRE隧道,并且可以进行数据交互。