Linux与网络设备 GRE配置经验总结


GRE 介绍及应用场景

GRE(General Routing Encapsulation),即通用路由封装,是一种三层 VPN 技术。它的最大作用是可以对某些网络层协议的报文进行封装,如对路由协议、语音、视频等组播报文或IPv6报文进行封装。同时,也能够与 IPSec 结合,解决 GRE 的安全问题。

本文主要介绍 Linux 与 网络设备(华为防火墙、华为路由器、Juniper SRX防火墙)对接 GRE 的配置方法

GRE 报文

如下图所示,GRE 是按照 TCPIP 协议栈进行逐层封装,新的 IP 头会封装在原有的 IP 头中,然后运送出去,封装操作是通过 Tunnel 接口完成的,GRE 协议经过 Tunnel 口时,会将接口的封装协议设置为 GRE 协议。

GRE 的配置场景

CentOS 7.6 与 华为防火墙建立 GRE 隧道

拓扑图

实现目标
  • CentOS 与 华为防火墙建立 GRE 隧道;

  • 华为防火墙背后的内网网段 192.168.1.0/24 通过 GRE 隧道从 CentOS 到 Internet;

  • CentOS 配置端口映射,将 192.168.1.108080 端口映射到 CentOS 的公网地址 200.1.1.18080 端口。

配置
  • CentOS

  • 配置接口与路由

[root@CentOS ~]# vim /etc/sysconfig/network-scripts/ifcfg-tun0
DEVICE=tun0
BOOTPROTO=none
ONBOOT=yes
DEVICETYPE=tunnel
TYPE=GRE
PEER_INNER_IPADDR=172.16.1.2
PEER_OUTER_IPADDR=100.1.1.1
MY_INNER_IPADDR=172.16.1.1
MY_OUTER_IPADDR=200.1.1.1

[root@CentOS ~]# vim /etc/sysconfig/network-scripts/route-tun0
192.168.1.0/24 via 172.16.1.2

[root@CentOS ~]# ifup tun0

Iptables 配置

# 安装 iptables 管理服务
[root@CentOS ~]# yum install iptables-services

# 在 INPUT 方向要放行对端的公网地址
[root@CentOS ~]# iptables -I INPUT -s 100.1.1.1/32 -j ACCEPT

# 配置源地址转换
[root@CentOS ~]# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 200.1.1.1

# 端口映射
[root@CentOS ~]# iptables -t nat -A PREROUTING -d 200.1.1.1 -p tcp --dport 8080 -j DNAT --to-dest 192.168.1.10:8080

# 保存 iptables
[root@CentOS ~]# service iptables save

开启 ipv4 转发

[root@CentOS ~]# echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf

[root@CentOS ~]# sysctl -p
  • 华为防火墙

    本次以华为 USG6300E 系列防火墙为例:

  • 配置接口,并添加到安全区域

    interface Tunnel0
    ip address 172.16.1.2 255.255.255.0
    tunnel-protocol gre
    source 100.1.1.1
    destination 200.1.1.1
    
    # 将接口添加到安全区域内
    [USG6300E] firewall zone tunnel
    firewall zone name tunnel
    set priority 75
    add interface Tunnel0
    

    配置安全策略

    在实际的实施中,可以将策略收紧一些,根据需求限制源和目的

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值