您当前的位置:首页 > 电脑百科 > 网络技术 > 网络设置

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

时间:2020-11-23 13:51:13  来源:  作者:
Linux与网络设备 GRE配置经验总结

 

GRE 介绍及应用场景

 

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

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

 

GRE 报文

 

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

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

 

GRE 的配置场景

 

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

拓扑图

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

 

实现目标

  • CentOS 与 华为防火墙建立 GRE 隧道;
  • 华为防火墙背后的内网网段 192.168.1.0/24 通过 GRE 隧道从 CentOS 到 Internet;
  • CentOS 配置端口映射,将 192.168.1.10 的 8080 端口映射到 CentOS 的公网地址 200.1.1.1 的 8080 端口。

配置

  • 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

 

配置安全策略

在实际的实施中,可以将策略收紧一些,根据需求限制源和目的地址。如果条件允许的话,可以先将默认安全策略设置为 permit,待调通之后,再修改安全策略:security-policy
rule name tunnel_out
source-zone trust
destination-zone tunnel
action permit

rule name tunnel_in
source-zone tunnel
destination-zone trust
action permit
# 放行 tunnel 到 untrust 的流量
rule name tunnel_untrust
source-zone tunnel
destination-zone untrust
action permit

配置策略路由

[USG6300E]policy-based-route
#
policy-based-route
rule name PBR
source-zone trust
source-address 192.168.1.0 mask 255.255.255.0
action pbr egress-interface Tunnel0配置 No-NAT设置去往隧道的流量不使用源地址转换:[USG6300E-policy-nat]dis th
nat-policy
rule name SNAT
source-zone tunnel
destination-zone untrust
source-address 192.168.1.0 mask 255.255.255.0
action no-nat

验证

主要有如下几个测试方法:

  1. 在 CentOS 或 防火墙 ping 对端的隧道地址;
  2. 使用 192.168.1.0/24 网段内的设备 traceroute 公网地址,查看经过的路径以确认是否经过隧道转发。

 

Ubuntu 18 与 华为路由器建立 GRE 隧道

拓扑图

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

 

实现目标

  • Ubuntu 18 与华为路由器建立 GRE 隧道;
  • 华为防火墙背后的内网网段 192.168.1.0/24 通过 GRE 隧道从 CentOS 到 Internet;
  • Ubuntu 配置端口映射,将 192.168.1.10 的 8080 端口映射到 CentOS 的公网地址 200.1.1.1 的 8080 端口。

 

配置

  • Ubuntu

netplan 配置

root@ubunt18demo:~# vim /etc/netplan/00-installer-config.yaml
network:
ethernets:
ens3:
addresses:
- 200.1.1.1/24
gateway4: 200.1.1.254
nameservers:
addresses:
- 114.114.114.114
tunnels:
tun0:
mode: gre
local: 200.1.1.1
remote: 100.1.1.1
addresses: [ 172.16.1.1/24 ]
routes:
- to: 192.168.1.0/24
via: 172.16.1.2
# 可以先执行 netplan try 验证一下,如果没有断掉的话可以按 ENTER 确认配置
# 如果和主机 SSH 中断,可以等待 120S 会自动恢复
root@ubunt18demo:~# netplay try

 

iptables 设置

Ufw 是 Ubuntu 的防火墙配置工具,底层还是调用 iptables 处理的:# 启用 ufw
ufw enable
# 放行 SSH
ufw allow ssh
# 放行 GRE 对端进入的流量
ufw allow from 100.1.1.1/32
# 配置 nat 映射
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 200.1.1.1
iptables -t nat -A PREROUTING -d 200.1.1.1 -p tcp --dport 8080 -j DNAT --to-dest 192.168.1.10:8080
# 将 ufw 设置为开机自启动
systemctl enable ufw开启 ipv4 转发:echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p

华为路由器

以 AR1200 系列路由器为例:

配置接口interface Tunnel0/0/1
ip address 172.16.1.2 255.255.255.0
tunnel-protocol gre
source 100.1.1.1
destination 200.1.1.1

配置策略路由# 配置 ACL
[AR1200] acl number 3000
[AR1200-acl-adv-3000] rule 10 permit ip destination 192.168.1.0 0.0.0.255
# 配置流分类
[AR1200] traffic classifier togretunnel
[AR1200-classifier-togretunnel] if-match acl 3000
# 配置流行为
[AR1200] traffic behavior togretunnel
[AR1200-behavior-togretunnel] redirect ip-nexthop 172.16.1.1
# 配置流策略
[AR1200] traffic policy togretunnel
[AR1200-trafficpolicy-vlan10] classifier togretunnel behavior togretunnel
# 在内网口调用流策略
[AR1200] interface gigabitethernet 1/0/1
[AR1200-GigabitEthernet3/0/0] traffic-policy togretunnel inbound

 

验证

验证方法同 CentOS 与 华为防火墙建立 GRE 隧道一致。

 

Juniper SRX 防火墙的 GRE 配置

SRX 防火墙的出接口如果使用了 route-instances,那么配置 tunnel 口时,一定要注意增加 route-instance destination,如下所示:

set interfaces gr-0/0/0 unit 0 tunnel source 100.1.1.1
set interfaces gr-0/0/0 unit 0 tunnel destination 200.1.1.1
set interfaces gr-0/0/0 unit 0 tunnel routing-instance destination EXAMPLE-INSTANCE
set interfaces gr-0/0/0 unit 0 family inet address 172.16.1.2/24

另外策略路由在 SRX 中称为 FBF,还有 No-NAT的配置示例如下:

# 配置 firewall filter,匹配需要进入隧道的流量
set firewall filter to-GreTunnel term 1 from source-address 192.168.1.0/24
set firewall filter to-GreTunnel term 1 then routing-instance EXAMPLE-INSTANCE
set firewall filter to-GreTunnel term 3 then accept

set routing-options rib-groups global import-rib EXAMPLE-INSTANCE.inet.0

# 配置去往 Gre Tunnel 的路由
set routing-instances EXAMPLE-INSTANCE instance-type forwarding
set routing-instances EXAMPLE-INSTANCE routing-options interface-routes rib-group inet global
set routing-instances EXAMPLE-INSTANCE routing-options static route 0.0.0.0/0 next-hop 172.16.1.1

# 在内网口调用 firewall filter
set interfaces reth2 unit 0 family inet filter input to-GreTunnel

# 去往隧道口的流量不做 SNAT
set security nat source rule-set Gre-snat from zone Trust
set security nat source rule-set Gre-snat to zone EXAMPLE-INSTANCE
set security nat source rule-set Gre-snat rule to-cn2-no-nat match source-address 192.168.1.0/24
set security nat source rule-set Gre-snat rule to-cn2-no-nat match destination-address 0.0.0.0/0
set security nat source rule-set Gre-snat rule to-cn2-no-nat then source-nat off

 

CentOS 的策略路由

如果有使用 Linux 作为中转的场景,也就是说华为防火墙和 Linux 建立 GRE 隧道,Linux 又和其他设备建立,由 Linux 做中转流量,这种场景下,可以在 Linux 配置策略路由,如下所示:

# 临时配置,重启后会消失,可以作为调试使用
ip rule add from 192.168.1.0/24 table 100 pref 10
ip route add 0.0.0.0/0 via 200.1.1.254 table 100

# 将配置持久化
vim /etc/sysconfig/network-scripts/rule-eth0
from 192.168.1.0/24 table 100 pref 10

vim /etc/sysconfig/network-scripts/route-eth0
default via 172.16.1.1 dev tun0

# 验证命令
ip rule show
ip route show table 100

 

总结

GRE虽然配置还比较简单, 在实际项目中会经常用到。 Linux 通常需要系统工程师配置,而网络设备通常由网络工程师配置,如果对接有问题,则需要沟通协调,就比较浪费时间。如果一个工程师能够完成两种设备的配置,并进行排错,那么效率将会提高很多。



Tags:GRE配置   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
GRE 介绍及应用场景 GRE(General Routing Encapsulation),即通用路由封装,是一种三层 VPN 技术。它的最大作用是可以对某些网络层协议的报文进行封装,如对路由协议、语音、视频...【详细内容】
2020-11-23  Tags: GRE配置  点击:(124)  评论:(0)  加入收藏
▌简易百科推荐
这几年来,随着国家提速降费政策的执行,百兆网甚至千兆网已经步入千万寻常百姓家,而伴随这几年Wi-Fi技术的发展,Wi-Fi 6路由器也步入了平价时代。但甭管家里用的Wi-Fi 5还是Wi-Fi...【详细内容】
2021-12-16  中关村在线    Tags:Wi-Fi   点击:(10)  评论:(0)  加入收藏
静态NAT有些环境需要单独指定公网IP地址上网,可以使用静态NAT的方式来实现1、AR路由器的配置<Huawei>system-view #进入系统视图Enter system view, return user view with...【详细内容】
2021-12-15  sn7696    Tags:路由器配置   点击:(18)  评论:(0)  加入收藏
华为 1、配置设备间的网络互联。#配置设备各接口的IP地址,配置SwitchA。system-viewsysname switchAvlan batch 100 300interface gigabitethernet 1/0/1port link-type hyb...【详细内容】
2021-12-07  大海的日常随记    Tags:VRRP   点击:(19)  评论:(0)  加入收藏
当今时代,人人离不开网络。出门坐地铁乘公交都需要出示“健康码”,居家点外卖、打游戏、追剧都离不开流量。尤其是游戏玩家,想象一下,当你马上要“五杀”了,结果你的网络亮了红灯...【详细内容】
2021-12-01  限量版Rita    Tags:路由器   点击:(36)  评论:(0)  加入收藏
路由器安装设置共分两个步骤,依次是”路由器与光猫“串联,“宽带账号写入路由器”即可,接下来我就讲解操作步骤。 步骤一首先将路由器与光猫串联,用网线一端连接至“光猫”的LAN...【详细内容】
2021-11-22  电脑技师大明    Tags:路由器   点击:(36)  评论:(0)  加入收藏
无线路由器的使用方法通常是插上网线,让设备发出WIFI无线信号,所有的无线设备都是通过这个WIFI信号接入互联网、或者局域网中,这是把有线转成无线的典型应用,平时我们见到最多的...【详细内容】
2021-11-15  奥赛德邢老师    Tags:WiFi信号   点击:(35)  评论:(0)  加入收藏
当电脑无法上网,显示电脑连不上wifi的时候怎么办呢?很多网友都遇到过这种问题,不知道为什么连不上wifi?导致出现这个问题的原因很多,下面小编就教下大家常见的详解为什么电...【详细内容】
2021-11-10  小白系统    Tags:无线网络   点击:(52)  评论:(0)  加入收藏
如何在windows 10电脑上添加删除静态路由环境和需求:假设本机电脑是192.168.0.0/24网段,现在电脑要访问一个172.16.10.0/24的网段,现在没有可达路由,就需要手动添加静态路由了...【详细内容】
2021-11-05  菜鸟年华记    Tags:静态路由   点击:(58)  评论:(0)  加入收藏
采用VXLAN实现不同站点主机跨三层网络实现二层互通:PCA和PCB分别模拟两个不同站点的主机; PCA和PCB处在不同VLAN,但处于同一个VXLAN; 通过配置VXLAN实现PCA和PCB之间跨三层的二...【详细内容】
2021-11-05  wljslmz    Tags:H3C交换机   点击:(49)  评论:(0)  加入收藏
随着时代的发展,多数朋友家中都已接入有线宽带,在畅游网络的同时也并发着诸多问题。比如部分房间WIFI信号始终只有1至2格,这样将会大大降低无线网络的利用率。这时我们便可以通...【详细内容】
2021-10-29  玩手机的张先生    Tags:有线桥接   点击:(70)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条