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配置网桥的 IP 设置:
# nmcli connection modify bridge0 ipv4.addresses '192.0.2.1/24' # nmcli connection modify bridge0 ipv4.method manual为连接到本地网络的接口添加新连接配置集到网桥:
# nmcli connection add type ethernet slave-type bridge con-name bridge0-port1 ifname enp1s0 master bridge0为网桥添加 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 bridge0remote和local参数设置远程和本地路由器的公共 IP 地址。重要保留
gretap0设备名称。对该设备使用gretap1或者不同的名称。可选:如果您不需要,STP(Spanning Tree Protocol):
# nmcli connection modify bridge0 bridge.stp no默认情况下,STP 被启用并导致在使用连接前出现延迟。
配置激活
bridge0连接会自动激活网桥端口:# nmcli connection modify bridge0 connection.autoconnect-slaves 1激活
bridge0连接:# nmcli connection up bridge0
在网络 B 中的 RHEL 路由器中:
创建名为
bridge0的网桥接口:# nmcli connection add type bridge con-name bridge0 ifname bridge0配置网桥的 IP 设置:
# nmcli connection modify bridge0 ipv4.addresses '192.0.2.2/24' # nmcli connection modify bridge0 ipv4.method manual为连接到本地网络的接口添加新连接配置集到网桥:
# nmcli connection add type ethernet slave-type bridge con-name bridge0-port1 ifname enp1s0 master bridge0为网桥添加 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 bridge0remote和local参数设置远程和本地路由器的公共 IP 地址。可选:如果您不需要,STP(Spanning Tree Protocol):
# nmcli connection modify bridge0 bridge.stp no配置激活
bridge0连接会自动激活网桥端口:# nmcli connection modify bridge0 connection.autoconnect-slaves 1激活
bridge0连接:# nmcli connection up bridge0
验证
在两个路由器上,验证
enp1s0和gretap1连接是否已连接,并且CONNECTION列是否显示端口的连接名称:# nmcli device nmcli device DEVICE TYPE STATE CONNECTION ... bridge0 bridge connected bridge0 enp1s0 ethernet connected bridge0-port1 gretap1 iptunnel connected bridge0-port2从每个 RHEL 路由器中,ping 路由器的内部接口的 IP 地址:
在路由器 A 上,ping
192.0.2.2:# ping 192.0.2.2在路由器 B 上,ping
192.0.2.1:# ping 192.0.2.1