8.3. 配置 GRETAP 隧道来通过 IPv4 传输以太网帧
通用路由封装终端接入点(GRETAP)隧道在 OSI 级别 2 上运行,并封装 IPv4 数据包中的以太网流量,如 RFC 2784 所述。
通过 GRETAP 隧道发送的数据没有加密。出于安全考虑,通过 VPN 或不同的加密连接建立隧道。
例如,您可以在两个 RHEL 路由器之间创建一个 GRETAP 隧道,以使用网桥连接两个网络,如下图所示:
先决条件
- 每个 RHEL 路由器都有一个网络接口,它连接到其本地网络,接口没有分配 IP 配置。
- 每个 RHEL 路由器都有一个网络接口,它连接到互联网。
流程
- 在网络 A 的 RHEL 路由器上: - 创建名为 - bridge0的网桥接口:- nmcli connection add type bridge con-name bridge0 ifname bridge0 - # nmcli connection add type bridge con-name bridge0 ifname bridge0- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 配置网桥的 IP 设置: - nmcli connection modify bridge0 ipv4.addresses '192.0.2.1/24' nmcli connection modify bridge0 ipv4.method manual - # nmcli connection modify bridge0 ipv4.addresses '192.0.2.1/24' # nmcli connection modify bridge0 ipv4.method manual- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 为连接到本地网络的接口添加新连接配置集到网桥: - nmcli connection add type ethernet slave-type bridge con-name bridge0-port1 ifname enp1s0 master bridge0 - # nmcli connection add type ethernet slave-type bridge con-name bridge0-port1 ifname enp1s0 master bridge0- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 为网桥添加 GRETAP 隧道接口的新连接配置集: - nmcli connection add type ip-tunnel ip-tunnel.mode gretap slave-type bridge con-name bridge0-port2 ifname gretap1 remote 198.51.100.5 local 203.0.113.10 master bridge0 - # nmcli connection add type ip-tunnel ip-tunnel.mode gretap slave-type bridge con-name bridge0-port2 ifname gretap1 remote 198.51.100.5 local 203.0.113.10 master bridge0- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - remote和- local参数设置远程和本地路由器的公共 IP 地址。重要- 保留 - gretap0设备名称。对该设备使用- gretap1或者不同的名称。
- 可选:如果您不需要,STP(Spanning Tree Protocol): - nmcli connection modify bridge0 bridge.stp no - # nmcli connection modify bridge0 bridge.stp no- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 默认情况下,STP 被启用并导致在使用连接前出现延迟。 
- 配置激活 - bridge0连接会自动激活网桥端口:- nmcli connection modify bridge0 connection.autoconnect-slaves 1 - # nmcli connection modify bridge0 connection.autoconnect-slaves 1- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 激活 - bridge0连接:- nmcli connection up bridge0 - # nmcli connection up bridge0- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- 在网络 B 中的 RHEL 路由器中: - 创建名为 - bridge0的网桥接口:- nmcli connection add type bridge con-name bridge0 ifname bridge0 - # nmcli connection add type bridge con-name bridge0 ifname bridge0- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 配置网桥的 IP 设置: - nmcli connection modify bridge0 ipv4.addresses '192.0.2.2/24' nmcli connection modify bridge0 ipv4.method manual - # nmcli connection modify bridge0 ipv4.addresses '192.0.2.2/24' # nmcli connection modify bridge0 ipv4.method manual- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 为连接到本地网络的接口添加新连接配置集到网桥: - nmcli connection add type ethernet slave-type bridge con-name bridge0-port1 ifname enp1s0 master bridge0 - # nmcli connection add type ethernet slave-type bridge con-name bridge0-port1 ifname enp1s0 master bridge0- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 为网桥添加 GRETAP 隧道接口的新连接配置集: - nmcli connection add type ip-tunnel ip-tunnel.mode gretap slave-type bridge con-name bridge0-port2 ifname gretap1 remote 203.0.113.10 local 198.51.100.5 master bridge0 - # nmcli connection add type ip-tunnel ip-tunnel.mode gretap slave-type bridge con-name bridge0-port2 ifname gretap1 remote 203.0.113.10 local 198.51.100.5 master bridge0- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - remote和- local参数设置远程和本地路由器的公共 IP 地址。
- 可选:如果您不需要,STP(Spanning Tree Protocol): - nmcli connection modify bridge0 bridge.stp no - # nmcli connection modify bridge0 bridge.stp no- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 配置激活 - bridge0连接会自动激活网桥端口:- nmcli connection modify bridge0 connection.autoconnect-slaves 1 - # nmcli connection modify bridge0 connection.autoconnect-slaves 1- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 激活 - bridge0连接:- nmcli connection up bridge0 - # nmcli connection up bridge0- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
验证
- 在两个路由器上,验证 - enp1s0和- gretap1连接是否已连接,并且- CONNECTION列是否显示端口的连接名称:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 从每个 RHEL 路由器中,ping 路由器的内部接口的 IP 地址: - 在路由器 A 上,ping - 192.0.2.2:- ping 192.0.2.2 - # ping 192.0.2.2- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 在路由器 B 上,ping - 192.0.2.1:- ping 192.0.2.1 - # ping 192.0.2.1- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
