设为首页收藏本站language 语言切换
查看: 3349|回复: 1
收起左侧

[分享] 华为防火墙配置GRE over IPSec

[复制链接]
 成长值: 63400
发表于 2019-9-26 11:16:41 | 显示全部楼层 |阅读模式
公司两部分区域通过GRE over IPSec通信
公司两部分区域(LAN1和LAN2)通过建立GRE over IPSec隧道通信,LAN1区域用户采用ADSL拨号方式接入网络,LAN2区域用户采用以太网方式接入网络。
组网需求
如图1所示,需要实现的需求如下:
LAN1网络区域和Server、LAN2网络区域有组播报文的通信,需要建立GRE隧道才能传输,且为了通信安全,由GRE封装后的组播报文需要IPSec加密。
LAN1网络区域用户通过ADSL拨号方式接入网络,Server和LAN2网络区域用户直接通过以太网方式接入网络。
LAN1网络区域访问Server的时候比较集中,流量比较不稳定。由于公司为Server和LAN2网络区域只申请了10M的带宽,且测试发现Server和LAN2网络区域的流量已超过10M,因此需要对流量进行限制。
同时需要将来自Server和LAN2网络区域的流量分别限制为6M/s。
图1 公司两分部通过GRE over IPSec通信组网图
1.jpg
配置思路
1 为实现LAN1网络区域和Server、LAN2网络区域的组播报文能够安全的传输,需要建立GRE over IPSec隧道。由于LAN1网络区域用户通过ADSL拨号方式接入,USG_A的(2)号接口(Atm 2/0/0)IP地址不固定,在USG_B上配置Tunnel接口目的地址的时候只能通过指定域名的方式。同时需要在USG_A上配置域名解析和DNS策略。
2 USG_A作为LAN1网络区域的网关。为实现LAN1网络区域用户通过ADSL拨号方式接入网络,需要在USG_A安装ADSL插卡(本举例以单PVC ADSL插卡为例),安装ADSL插卡后USG_A相当于一台ADSL Modem。
3 为实现对Server和LAN2网络区域流量限制,需要在USG_B的入接口(即(4)号接口GigabitEthernet 0/0/2)配置接口限速功能,将接收的流量限制为10M/s,即10000kbit/s,由于流量比较不稳定,流量限速的CBS建议配置比CIR大一些,本举例中CBS配置为15000kbit/s。同时在(6)号接口GigabitEthernet 0/0/2和(7)号接口GigabitEthernet 0/0/3配置流量限速功能,将来自Server和LAN2网络区域的流量分别限制为6M/s,即6000kbit/s。由于Server和LAN2网络区域的流量较大(已通过配置流量监管限制到12000kbit/s),超出了分配的带宽(10000kbit/s),因此需要在USG_C的出接口(即(5)号接口GigabitEthernet 0/0/1)上配置流量整形功能,使超出和突发的流量以比较均匀的速度向USG_B发送。这样有利于网络上下游之间的带宽匹配,避免了报文因直接丢弃而导致的大量重传。


操作步骤
配置USG_A。
1 配置ADSL接入功能,实现LAN1网络区域用户通过拨号接入网络。
a 配置ADSL接入基本参数。
# 配置拨号访问组对应的拨号规则。
<USG_A> system-view
[USG_A] dialer-rule 10 ip permit
# 创建Dialer0接口,并进入Dialer视图。
[USG_A] interface Dialer 0
# 新建Dialer用户,用户名为ADSL账户的用户名。
[USG_A-Dialer0] dialer user adsluser
# 配置接口的Dialer Bundle。
[USG_A-Dialer0] dialer bundle 5
# 配置Dialer0接口关联的拨号访问组,将该接口与指定的拨号控制列表关联起来。
说明:
必须确保命令dialer-group中的参数group-number和dialer-rule命令中的参数group-number保持一致。ADSL配置中取值为10。
[USG_A-Dialer0] dialer-group 10
# 配置使用协商方式获取IP地址。
[USG_A-Dialer0] ip address ppp-negotiate
# 配置使用协商方式获取DNS服务器的IP地址。
[USG_A-Dialer0] ppp ip dns admit-any
# 配置认证,用户名和密码为ADSL账户的用户名和密码。
说明:
本举例配置了PAP和CHAP两种认证方式。如果已知服务器端的拨号认证方式,可以根据服务器端的认证方式只配置PAP认证或者CHAP认证。
[USG_A-Dialer0] ppp pap local-user adsluser password cipher Admin@123
[USG_A-Dialer0] ppp chap user adsluser
[USG_A-Dialer0] ppp chap password cipher Admin@123
[USG_A-Dialer0] quit
# 配置将Dialer0接口加入Untrust区域。
[USG_A] firewall zone untrust
[USG_A-zone-untrust] add interface Dialer 0
[USG_A-zone-untrust] quit
# 建立一个PPPoE会话,并指定该会话所对应的Dialer Bundle。默认情况下PPPoE的会话方式为永久在线方式。
[USG_A] interface Atm 2/0/0
[USG_A-Atm2/0/0] pppoe-client dial-bundle-number 5
[USG_A-Atm2/0/0] quit
b 将GigabitEthernet 0/0/1加入到VLAN1中,配置Vlanif1的IP地址,并在Vlanif1上配置基于接口的DHCP功能,实现内网用户接入后自动分配IP地址。
# 配置GigabitEthernet 0/0/1接口工作在二层模式。
[USG_A] interface GigabitEthernet 0/0/1
[USG_A-GigabitEthernet0/0/1] portswitch
[USG_A-GigabitEthernet0/0/1] quit
# 创建VLAN1,将GigabitEthernet 0/0/1接口加入VLAN1,并配置Vlanif1的IP地址。
[USG_A] vlan 1
[USG_A-vlan-1] port GigabitEthernet 0/0/1
[USG_A-vlan-1] quit
[USG_A] interface Vlanif 1
[USG_A-Vlanif1] ip address 192.168.0.1 24
# 在Vlanif1接口上配置基于接口的DHCP,并借用Dialer0接口的DNS服务器的IP地址。
[USG_A-Vlanif1] dhcp select interface
[USG_A-Vlanif1] dhcp server dns-list unnumbered interface Dialer 0
[USG_A-Vlanif1] quit
# 将Vlanif 1接口加入Trust安全区域。
[USG_A] firewall zone trust
[USG_A-zone-trust] add interface Vlanif 1
[USG_A-zone-trust] quit
c 配置包过滤策略和路由。
# 配置Trust和Untrust域间包过滤策略,实现LAN1网络区域用户能够与Server和LAN2网络区域用户通信。
[USG_A] policy interzone trust untrust outbound
[USG_A-policy-interzone-trust-untrust-outbound] policy 1
[USG_A-policy-interzone-trust-untrust-outbound-1] policy source 192.168.0.0 mask 24
[USG_A-policy-interzone-trust-untrust-outbound-1] policy destination 10.1.0.0 mask 16
[USG_A-policy-interzone-trust-untrust-outbound-1] action permit
[USG_A-policy-interzone-trust-untrust-outbound-1] quit
[USG_A-policy-interzone-trust-untrust-outbound] quit[USG_A] policy interzone trust untrust inbound
[USG_A-policy-interzone-trust-untrust-inbound] policy 1
[USG_A-policy-interzone-trust-untrust-inbound-1] policy destination 192.168.0.0 mask 24
[USG_A-policy-interzone-trust-untrust-inbound-1] policy source 10.1.0.0 mask 16
[USG_A-policy-interzone-trust-untrust-inbound-1] action permit
[USG_A-policy-interzone-trust-untrust-inbound-1] quit
[USG_A-policy-interzone-trust-untrust-inbound] quit
# 配置缺省路由,指定出接口为Dialer0。
[USG_A] ip route-static 0.0.0.0 0.0.0.0 Dialer 0

2 配置GRE功能,实现对组播数据的封装传输。
a 配置Tunnel接口。
说明:
由于源接口IP地址不固定,源地址配置为Dialer 0。本端Tunnel接口的IP地址需与对端Tunnel接口的IP地址在同一网段。
[USG_A] interface tunnel 1
[USG_A-Tunnel1] ip address 40.1.1.1 255.255.255.0
[USG_A-Tunnel1] tunnel-protocol gre
[USG_A-Tunnel1] source Dialer 0
[USG_A-Tunnel1] destination 202.1.1.1
[USG_A-Tunnel1] quit
b 开启组播功能。
[USG_A] multicast routing-enable
[USG_A] interface GigabitEthernet 0/0/1
[USG_A-GigabitEthernet0/0/1] pim dm
[USG_A-GigabitEthernet0/0/1] quit
[USG_A] interface tunnel1
[USG_A-Tunnel1] pim dm
[USG_A-Tunnel1] quit
3 配置IPSec功能,实现对GRE封装后的组播数据加密。
说明:
配置IKE对等体可以不指定使用的IKE安全提议,在协商时使用缺省的IKE安全提议,双方能够协商成功。
对于USG V3R1,下面的local-id-type name命令需要替换为local-id-type fqdn。
a 配置IKE对等体。
[USG_A] ike local-name ike_a
[USG_A] ike peer USG_B
[USG_A-ike-peer-USG_B] exchange-mode aggressive
[USG_A-ike-peer-USG_B] local-id-type name
[USG_A-ike-peer-USG_B] pre-shared-key 12345
[USG_A-ike-peer-USG_B] remote-address 202.1.1.1
[USG_A-ike-peer-USG_B] remote-name ike_b
[USG_A-ike-peer-USG_B] quit
b配置IPSec策略。
说明:
本例使用缺省的安全提议参数。
先进行GRE封装,再进行IPSec加密,IPSec策略ACL的源和目的分别需要与Tunnel接口的源和目的对应。但是由于源地址(USG_A的Atm 2/0/0接口地址)不固定,因此IPSec策略的ACL须配置匹配GRE协议和Tunnel接口的目的地址,并将该IPSec策略应用在实际传输数据的物理接口。
[USG_A] acl 3000
[USG_A-acl-adv-3000] rule permit gre destination 202.1.1.1 0
[USG_A-acl-adv-3000] quit
[USG_A] ipsec proposal p1
[USG_A-ipsec-proposal-p1] quit
[USG_A] ipsec policy policy1 1 isakmp
[USG_A-ipsec-policy-isakmp-policy1-1] security acl 3000
[USG_A-ipsec-policy-isakmp-policy1-1] ike-peer USG_B
[USG_A-ipsec-policy-isakmp-policy1-1] proposal p1
[USG_A-ipsec-policy-isakmp-policy1-1] quit
[USG_A] interface Dialer 0
[USG_A-Dialer0] ipsec policy policy1
[USG_A-Dialer0] quit
4开启域名解析并且配置DDNS策略。
a开启域名解析功能,使得USG_A能够通过域名访问DDNS Server。

[USG_A] dns resolve
[USG_A] dns server 200.1.1.1
b配置DDNS策略。
[USG_A] ddns policy abc
[USG_A-ddns-policy-abc] ddns client www.peer1.3322.org
[USG_A-ddns-policy-abc] ddns server www.3322.org
[USG_A-ddns-policy-abc] ddns username abc123 password abc123
[USG_A-ddns-policy-abc] quit
c应用DDNS策略。
[USG_A] ddns client enable
[USG_A] interface Dialer 0
[USG_A-Dialer0] ddns apply policy abc
[USG_A-Dialer0] quit

配置USG_B。
1 配置USG_B基本数据。
配置相关接口的IP地址,将接口加入相应的安全区域,配置域间包过滤。配置路由,保证网络互通。具体配置过程略。
2配置GRE功能,实现对组播数据的封装传输。
a 配置Tunnel接口。
说明:
由于目的接口IP地址不固定,目的地址采用域名方式。本端Tunnel接口的IP地址需与对端Tunnel接口的IP地址在同一网段。
[USG_B] interface tunnel 1
[USG_B-Tunnel1] ip address 40.1.1.2 255.255.255.0
[USG_B-Tunnel1] tunnel-protocol gre
[USG_B-Tunnel1] source 202.1.1.1
[USG_B-Tunnel1] destination domain www.peer1.3322.org
[USG_B-Tunnel1] quit
b开启组播功能。
[USG_B] multicast routing-enable
[USG_B] interface GigabitEthernet 0/0/2
[USG_B-GigabitEthernet0/0/2] pim dm
[USG_B-GigabitEthernet0/0/2] quit
[USG_B] interface tunnel1
[USG_B-Tunnel1] pim dm
[USG_B-Tunnel1] quit
3配置IPSec功能,实现对GRE封装后的组播数据加密。
说明:
配置IKE对等体可以不指定使用的IKE安全提议,在协商时使用缺省的IKE安全提议,双方能够协商成功。
对于USG V3R1,下面的local-id-type name命令需要替换为local-id-type fqdn。
a配置IKE对等体。
[USG_B] ike local-name ike_b
[USG_B] ike peer USG_A
[USG_B-ike-peer-USG_A] exchange-mode aggressive
[USG_B-ike-peer-USG_A] local-id-type name
[USG_B-ike-peer-USG_A] pre-shared-key 12345
[USG_B-ike-peer-USG_A] remote-domain www.abcd.3322.org
[USG_B-ike-peer-USG_A] remote-name ike_a
[USG_B-ike-peer-USG_A] quit
b配置IPSec策略。
说明:
本例使用缺省的安全提议参数。
先进行GRE封装,再进行IPSec加密,IPSec策略ACL的源和目的分别需要与Tunnel接口的源和目的对应。但是由于目的地址(USG_A的Atm 2/0/0接口地址)不固定,因此IPSec策略的ACL须配置匹配GRE协议和Tunnel接口的源地址,并将该IPSec策略应用在实际传输数据的物理接口。
[USG_B] acl 3000
[USG_B-acl-adv-3000] rule permit gre source 202.1.1.1 0
[USG_B-acl-adv-3000] quit
[USG_B] ipsec proposal p1
[USG_B-ipsec-proposal-p1] quit
[USG_B] ipsec policy policy1 1 isakmp
[USG_B-ipsec-policy-isakmp-policy1-1] security acl 3000
[USG_B-ipsec-policy-isakmp-policy1-1] ike-peer USG_A
[USG_B-ipsec-policy-isakmp-policy1-1] proposal p1
[USG_B-ipsec-policy-isakmp-policy1-1] quit
[USG_B] interface GigabitEthernet 0/0/1
[USG_B-GigabitEthernet0/0/1] ipsec policy policy1
[USG_B-GigabitEthernet0/0/1] quit
4配置接口限速功能,将分配给USG_C的带宽限制在10M。
# 在GigabitEthernet 0/0/2接口上配置接口限速,将接口接收的流量限制为10000000bit/s。

[USG_B] interface GigabitEthernet 0/0/2
[USG_B-GigabitEthernet0/0/2] qos lr cir 10000000 cbs 15000000
[USG_B-GigabitEthernet0/0/2] quit

配置USG_C。
1配置USG_C基本数据。
配置相关接口的IP地址,将接口加入相应的安全区域,配置域间包过滤。配置路由,保证网络互通。具体配置过程略。
2配置流量监管和流量整形功能,限制Server和LAN2网络区域的带宽,降低丢包率。
a在GigabitEthernet 0/0/2和GigabitEthernet 0/0/3接口上配置流量监管,限制Server和LAN2网络区域用户的带宽。
<USG_C> system-view
[USG_C] acl number 2001
[USG_C-acl-basic-2001] rule permit source 10.1.0.0 0.0.0.255
[USG_C-acl-basic-2001] quit
[USG_C] acl number 2002
[USG_C-acl-basic-2002] rule permit source 10.1.1.10 0.0.0.0
[USG_C-acl-basic-2002] quit
[USG_C] interface GigabitEthernet 0/0/2
[USG_C-GigabitEthernet0/0/2] qos car inbound acl 2002 cir 6000000 cbs 6000000 green pass red discard
[USG_C-GigabitEthernet0/0/2] quit
[USG_C] interface GigabitEthernet 0/0/3
[USG_C-GigabitEthernet0/0/3] qos car inbound acl 2001 cir 6000000 cbs 6000000 green pass red discard
[USG_C-GigabitEthernet0/0/3] quit
b在GigabitEthernet 0/0/1接口上配置流量整形,对该接口发送的超过10000000bit/s的报文进行流量整形,以降低在接口GigabitEthernet 0/0/1处的丢包率。
[USG_C] interface GigabitEthernet 0/0/1
[USG_C-GigabitEthernet0/0/1] qos gts any cir 10000000 cbs 10000000
[USG_C-GigabitEthernet0/0/1] quit



您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-2-2 18:06 , Processed in 0.053471 second(s), 12 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表