前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >25、【实战中提升自己】分支篇之VPN部署(包括对接、双链路冗余、优化与分析、策略路由与NAT的影响)

25、【实战中提升自己】分支篇之VPN部署(包括对接、双链路冗余、优化与分析、策略路由与NAT的影响)

作者头像
网络之路一天
发布2024-03-05 11:19:33
1250
发布2024-03-05 11:19:33
举报
文章被收录于专栏:网络之路网络之路

1 1拓扑

有朋友说拓扑模糊,这里更新清晰拓扑,大家可以双击看

1 分支机构部署与部署思路

1 路由器配置VPN,实现财务部门互访,并且AP能够正常关联到总部AC。

1、创建环回口

代码语言:javascript
复制
[GW]interface lo0
[GW-LoopBack0]ip address 2.2.2.2 32
说明:该地址是与总部建立Tunnel用的

2 定义IKE peer

代码语言:javascript
复制
[GW]ike peer to-center1
[GW-ike-peer-to-center]pre-shared-key simple ccieh3c.com
[GW-ike-peer-to-center1]remote-address 202.100.1.2
说明:定义了一个策略去往总部,Proposal使用默认的。

3 定义IPSEC Proposal

代码语言:javascript
复制
[GW]ipsec proposal to-center
说明:使用默认策略即可

4 定义感兴趣流量

代码语言:javascript
复制
[GW]acl number 3000
[GW-acl-adv-3000]rule permit gre source 2.2.2.2 0 destination 1.1.1.1 0
说明:定义GRE的流量为感兴趣流量

5定义ipsec policy

代码语言:javascript
复制
[GW]ipsec policy to_center 1 isakmp
[GW-ipsec-policy-isakmp-to_center-1]ike-peer to-center1
[GW-ipsec-policy-isakmp-to_center-1]security acl 3000
[GW-ipsec-policy-isakmp-to_center-1]proposal to-center
说明:用Ipsec Policy模板关联策略。

6 定义Tunnel接口

代码语言:javascript
复制
[GW]interface Tunnel 0
[GW-Tunnel0]source lo0
[GW-Tunnel0]destination 1.1.1.1
[GW-Tunnel0]ip address 10.1.1.2 30
说明:定义Tunnel接口,源为自己环回口,目的为总部的环回口

7 定义OSPF

代码语言:javascript
复制
[GW]ospf 1 router-id 2.2.2.2
[GW-ospf-1]area 0
[GW-ospf-1-area-0.0.0.0]network 10.1.1.2 0.0.0.0
说明:开启OSPF功能

8 定义路由过滤

代码语言:javascript
复制
[GW]ip ip-prefix import_static permit 172.16.4.0 24
[GW]ip ip-prefix import_static permit 172.16.1.0 24
[GW]route-policy import-staic-filter permit node 10
[GW-route-policy]if-match ip-prefix import_static
[GW]route-policy import-conn-filter permit node 10
[GW-route-policy]if-match ip-prefix import_static
说明:路由过滤调用,只允许172.16.4.0与1.0通过
[GW]ospf 1
[GW-ospf-1]import-route static route-policy import-static-filter
[GW-ospf-1]import-route direct route-policy import-conn-filter
重分布进OSPF

9 调用VPN在Dialer接口

代码语言:javascript
复制
[GW]interface Dialer 1
[GW-Dialer1]ipsec policy to_center
说明:这里在拨号接口调用VPN,而不是物理接口。

2 【总部IPSEC配置回顾】 IPSEC VPN部署

(1)为什么需要部署Gre Over ipsec 说明:VPN的需求其实非常简单,就是与分部进行安全的访问,当然只允许财务部之间的互访【这个根据需求决定】,这路需要注意,除了这个以外,还有无线AP需要注册到总部来,这个需要通过VPN进行加密连接,但是这里总部是固定IP,而分部则是PPPOE拨号,这个只能通过动态策略模板来进行部署。所以这里需要实施 Gre Over ISPEC。

(2)IKE 对等体配置

代码语言:javascript
复制
[USG-GW]ike peer to-branch
[USG-GW-ike-peer-to-branch]pre-shared-key ccieh3c.com
[USG-GW-ike-peer-to-branch]undo version 2

(3)IPSEC策略配置 [USG-GW]ipsec proposal to-branch

不需要配置策略 ,默认有md5、des、esp-tunne,当然可以根据自己需求定义。

(4)定义感兴趣流量

代码语言:javascript
复制
[USG-GW]acl number 3004
[USG-GW-acl-adv-3004]rule permit gre source 1.1.1.1 0 destination 2.2.2.2 0

说明:该ACL定义的是GRE的流量,但是匹配有些特殊,该说明在后续说明。

(5)动态policy VPN模板

代码语言:javascript
复制
[USG-GW]ipsec policy-template dyl2l 1000
[USG-GW-ipsec-policy-template-dyl2l-1000]security acl 3004
[USG-GW-ipsec-policy-template-dyl2l-1000]ike-peer to-branch
[USG-GW-ipsec-policy-template-dyl2l-1000]proposal to-branch

(6)静态Policy关联动态Policy vpn

代码语言:javascript
复制
[USG-GW]ipsec policy vpn 999 isakmp template dyl2l

说明:静态Policy关联动态 Policy的VPN,之前定义过L2TP OVER IPSEC,所以这里只需要关联即可

(7)接口调用 说明:接口已经调用之前的L2TP,所以不需要管理。

(8)Tunnel接口配置

代码语言:javascript
复制
[USG-GW]interface lo0
[USG-GW-LoopBack0]ip address 1.1.1.1 32
[USG-GW]interface Tunnel 0
[USG-GW-Tunnel0]tunnel-protocol gre
[USG-GW-Tunnel0]ip address 10.1.1.1 30
[USG-GW-Tunnel0]source lo0
[USG-GW-Tunnel0]destination 2.2.2.2

说明:Tunnel接口的定义与平时的配置不一样,平时都是通过公网地址进行配置,但是由于分支是PPPOE环境,所以这里并不能明确指定,所以这里利用一个特性,两边各自建立一个Loopback接口,然后通过GRE的流量来触发VPN的建立,这里形成一个 变相的 Gre over ipsec的现象,这个可以在后续看到现象的时候在分析。

(9)新建Zone,加入对应接口

代码语言:javascript
复制
[USG-GW]firewall zone name gre
[USG-GW-zone-gre]set priority 35
[USG-GW-zone-gre]add interface Tunnel 0

(10)放行VPN到内网的流量,双向

代码语言:javascript
复制
[USG-GW]firewall packet-filter default permit interzone trust gre

(11)VPN需要放行的流量 说明:之前已经放行了L2TP与IPSEC IKE的,所以这里还需要放行一个GRE,因为GRE的流量默认也是拒绝的。

代码语言:javascript
复制
[USG-GW]policy interzone local isp_dx inbound
[USG-GW-policy-interzone-local-isp_dx-inbound]policy 0
[USG-GW-policy-interzone-local-isp_dx-inbound-0]policy service service-set gre
[USG-GW-policy-interzone-local-isp_dx-inbound-0]policy destination 1.1.1.1 0
代码语言:javascript
复制
[USG-GW]policy interzone local isp_lt inbound
[USG-GW-policy-interzone-local-isp_lt-inbound]policy 0
[USG-GW-policy-interzone-local-isp_lt-inbound-0]policy service service-set gre
[USG-GW-policy-interzone-local-isp_lt-inbound-0]policy destination 1.1.1.1 0

说明:该策略之前已经定义好了,只需要增加一个GRE协议进去,另外也是允许访问1.1.1.1,因为要协商GRE。

(12)运行OSPF 说明:在Tunnel中建议跑OSPF协议,当然静态路由也是可以的,但是不方便收敛,而且OSPF可以实现负载均衡效果,因为总部部署的是双ISP。

代码语言:javascript
复制
[USG-GW]ospf 1 router-id 1.1.1.1
[USG-GW-ospf-1]area 0
[USG-GW-ospf-1-area-0.0.0.0]network 10.1.1.1 0.0.0.0

说明:允许OSPF,保证在Tunnel中双方建立OSPF邻居,在安全的隧道中传输数据。

(13)只允许分支看到指定的路由【也就是需要加密通信的】 说明:在该需求中,我们只需要财务部门之间进行互访,另外分支AP可以正常的注册到AC上面来,所以我们希望的是,双方只看到各自需要的路由,这样只对这些流量加密,其余的则不加密。

静态路由定义

代码语言:javascript
复制
[USG-GW]ip route-static 192.168.21.0 24 192.168.100.254
[USG-GW]ip route-static 192.168.1.251 32 192.168.100.254
[USG-GW]ip ip-prefix import_static permit 192.168.21.0 24
[USG-GW]ip ip-prefix import_static permit 192.168.1.251 32
[USG-GW]route-policy ospf-filter-routing permit node 10
[USG-GW-route-policy]if-match ip-prefix import_static
[USG-GW]ospf 1
[USG-GW-ospf-1]import-route static route-policy import_static

说明:这样的话,当OSPF建立邻居后,对方只会收到这2条静态路由,为了防止意外的话,做个route-map,里面用ACL匹配只允许这2条进去,这样的好处就是防止以后如果添加了其他静态路由的话,对方也收不到

10 测试结果 10.1 :IKE协商sa查看

10.2 OSPF邻居查看

可以看到双方已经成功建立OSPF邻居。

10.3 OSPF路由查看

可以看到双方都学到了需要的流量,USG端只需要知道怎么去对方的财务部,并且与AP的管理流量。而分支这边学到了总部这边的财务与AC的地址。

财务部之间互访测试

为财务部的地址进行访问分部的

可以看到是可以相互访问的。

加解密的数据包

可以看到加密数据包一直在增加。

3 双链路VPN部署分析

说明:在该项目中,可以看到总部是有双线路出口的,也就是说,分支可以跟VPN建立两条链路的VPN,这样的话无论总部哪一条链路出现故障,还能保证VPN的继续使用,而之前的 部署中,只部署了与电信建立VPN,而联通的链路是空闲的,所以这里我们还需要部署与联通建立另外一条链路。

1、 与主线链路建立VPN【已经建立成功】

2、 与联通建立另外一条 VPN链路 说明:与总部联通链路建立VPN,必须跟电信的链路一样,在各自创建一个Tunnel接口,来保证双方可以正常建立VPN,与OSPF邻居建立。

3、总部最重要的配置,源进源出功能,这个如果不配置,双链路是建立不起来的。

4 双链路VPN部署具体配置

总部VPN配置(定义另外一个链路的)

(1)Loopback口建立

代码语言:javascript
复制
[USG-GW]int lo 1
[USG-GW-LoopBack1]ip address 1.1.1.2 32

(2)IKE策略与IPSEC Proposal 说明:可以直接引用之前的策略配置,因为这个是一样的,可以重复定义。

(3)感兴趣流量 ACL定义

代码语言:javascript
复制
[USG-GW]acl number 3005
[USG-GW-acl-adv-3006]rule 1 permit gre source 1.1.1.2 0 destination

2.2.2.1 0 说明:这里定义了感兴趣流量依然是另外一个环回接口到,分支的另外一个环回接口的流量,走VPN。

(4)动态ipsec policy部署

代码语言:javascript
复制
[USG-GW]ipsec policy-template lt 1000
[USG-GW-ipsec-policy-template-lt-1000]security acl 3005
[USG-GW-ipsec-policy-template-lt-1000]ike-peer to-branch
[USG-GW-ipsec-policy-template-lt-1000]proposal to-branch

说明:动态模板调用了之前的IKE策略与Proposal策略,还调用了感兴趣流量

(5)静态ipsec 关联 动态模板

代码语言:javascript
复制
[USG-GW]ipsec policy vpn_lt 1000 isakmp template lt

(6)调用在出接口

代码语言:javascript
复制
[USG-GW]int g0/0/2
[USG-GW-GigabitEthernet0/0/2]ipsec policy vpn_lt

(7) 创建Tunnel接口

代码语言:javascript
复制
[USG-GW]interface Tunnel 1
[USG-GW-Tunnel1]tunnel-protocol gre
[USG-GW-Tunnel1]source LoopBack 1
[USG-GW-Tunnel1]destination 2.2.2.1
[USG-GW-Tunnel1]ip address 10.1.1.5 30

(8)把接口加入zone

代码语言:javascript
复制
[USG-GW]firewall zone gre
[USG-GW-zone-gre]add interface Tunnel 1

(9)策略放行 说明:之前已经把策略放行过了,所以这里不需要再次放行。

(10)VPN需要放行的流量

代码语言:javascript
复制
[USG-GW]policy interzone local isp_lt inbound
[USG-GW-policy-interzone-local-isp_lt-inbound]policy 0
[USG-GW-policy-interzone-local-isp_lt-inbound-0]policy destination 1.1.1.2 0

说明:这里必须放行GRE建立的流量,否则GRE通信不了,导致OSPF邻居建立不了。

(11)OSPF运行与路由策略

代码语言:javascript
复制
[USG-GW]ospf 1
[USG-GW-ospf-1]area 0
[USG-GW-ospf-1-area-0.0.0.0]network 10.1.1.5 0.0.0.0

说明:只需要直接宣告即可,路由策略之前已经调用过了

(12)调用在接口

代码语言:javascript
复制
[USG-GW]int g0/0/2
[USG-GW-GigabitEthernet0/0/2]ipsec policy vpn_lt

分部VPN部署【连总部接联通链路】

(1)定义ike peer

代码语言:javascript
复制
[GW]ike peer to-center2
[GW-ike-peer-to-center2]remote-address 61.128.1.2
[GW-ike-peer-to-center2]pre-shared-key simple ccieh3c.com

说明:分部是需要定义另外一个策略的,去联通的地址

(2)ipsec Proposal 说明:这里引用之前定义的策略即可。

(3)创建环回口

代码语言:javascript
复制
[GW]interface lo1
[GW-LoopBack1]ip address 2.2.2.1 32

(4)创建Tunnel接口

代码语言:javascript
复制
[GW]interface Tunnel 1
[GW-Tunnel1]source lo1
[GW-Tunnel1]destination 1.1.1.2
[GW-Tunnel1]ip address 10.1.1.6 30

(5)感兴趣流量定义

代码语言:javascript
复制
[GW]acl number 3001
[GW-acl-adv-3001]rule permit gre source 2.2.2.1 0 destination 1.1.1.2 0

(6)定义ipsec policy

代码语言:javascript
复制
[GW]ipsec policy to_center 2 isakmp
[GW-ipsec-policy-isakmp-to_center-2]security acl 3001
[GW-ipsec-policy-isakmp-to_center-2]ike-peer to-center2
[GW-ipsec-policy-isakmp-to_center-2]proposal to-center

(7)调用在拨号接口

OSPF宣告以及路由策略

代码语言:javascript
复制
[GW]ospf 1
[GW-ospf-1]area 0
[GW-ospf-1-area-0.0.0.0]network 10.1.1.6 0.0.0.0

说明:加入宣告即可,路由策略在之前已经做过了。

VPN测试

说明:在USG上面可以看到有一个IPSEC VPN测试建立,而H3C这边的路由,则有2个。说明VPN是建立成功的。

可以看到,邻居只建立了一个,还是之前的邻居。在通常情况下可以有2个邻居的。

这里的原因是USG防火墙上面,把对于同一个源地址,建立的2条VPN链路看成一条,所以默认情况下,只能从最先建立的VPN使用,另外一条做备用状态。

主备切换测试

把USG的主接口shutdown掉后。

可以看到提示,之前的接口已经down了,而这个新的邻居已经建立

说明:可以看到该类型只能实现主备复用,而不能支持同时建立,负载均衡的情况,这是USG特性的限制,所以也没什么办法,如果是思科的话,是肯定支持的。(新版本USG NGFW 6系列没具体测试是否支持负载分担,后续有机会遇到这样的需求,有结果了在分享)

5 总部与分支全部VPN配置解析与建立过程思路总结

总部VPN配置部分【附带注释】 (1)ike peer配置部分

代码语言:javascript
复制
ike peer to-branch
pre-shared-key ccieh3c.com
undo version 2

说明:这里与分别的密钥同步即可,另外注意关闭ike的version 2

(2)ipsec Proposal部分

代码语言:javascript
复制
ipsec proposal to-branch

说明:有默认配置,可以不需要配置,根据自己需求来决定

(3)感兴趣流量部分

代码语言:javascript
复制
acl number 3004 【用于电信】
rule 5 permit gre source 1.1.1.1 0 destination 2.2.2.2 0
#
acl number 3005【用于网通】
rule 1 permit gre source 1.1.1.2 0 destination 2.2.2.1 0
说明:一个用于电信做Tunnel的,一个个联通做Tunnel的,要区分开来。

(4)动态ipsec 策略模板

代码语言:javascript
复制
ipsec policy-template dx 999
security acl 3004
ike-peer to-branch
proposal to-branch
#
ipsec policy-template lt 1000
security acl 3005
ike-peer to-branch
proposal to-branch

说明:由于分别是PPPOE这样的动态方式拨入的,所以IP地址并不明确,所以我们需要定义动态模板来实现接入。

(5)静态ipsec 策略

代码语言:javascript
复制
ipsec policy vpn_dx 1000 isakmp template dx
#
ipsec policy vpn_lt 1000 isakmp template lt

说明:由于动态的策略是不能定义在接口下的,所以必须用静态的关联,然后调用在接口下,然后一个静态模板只能关联一个动态模板,当然高版本的系统支持多个。

(6)接口调用 这里就不在给出了,电信的调用在电信的接口,联通的调用在联通的接口即可

(7)Tunnel接口配置

代码语言:javascript
复制
interface Tunnel0
tunnel-protocol gre
ip address 10.1.1.1 255.255.255.252
source 1.1.1.1
destination 2.2.2.2
interface Tunnel1
tunnel-protocol gre
ip address 10.1.1.5 255.255.255.252
source 1.1.1.2
destination 2.2.2.1

说明:该类型主要是与对方建立2个Tunnel,用来做OSPF建立等,因为默认情况下VPN是不支持组播与广播的。还需要注意的地方就是,默认情况下USG是没有封装的,所以注意封装为GRE

(8) Tunnel接口加入Zone,与策略放行

代码语言:javascript
复制
firewall zone name gre
set priority 35
add interface Tunnel0
add interface Tunnel1

firewall packet-filter default permit interzone trust gre 说明:这里必须加入Zone,接口才能正常运行,另外需要放行trust与gre的双向流量,这样的话VPN的流量就可以访问了,而且也不影响内部网络访问外网的策略。

(9)VPN需要放行的流量

代码语言:javascript
复制
policy interzone local isp_dx inbound 【用于电信的策略】
policy 0
action permit
policy service service-set udp
policy service service-set esp
policy service service-set l2tp
policy service service-set gre
policy destination 1.1.1.1 0
policy destination 202.100.1.2 0
policy interzone local isp_lt inbound 【用于联通的策略】
policy 0
action permit
policy service service-set udp
policy service service-set esp
policy service service-set l2tp
policy service service-set gre
policy destination 61.128.1.2 0
policy destination 1.1.1.2 0

说明:这里电信的策略里面,放行了UDP ESP L2TP与GRE,这些都是需要明确放行的,因为默认情况下USG是拒绝的,不处理这些数据包,不放行的话,导致VPN的建立与数据传输有问题,而目的地址指定是因为GRE的建立需要放行这个流量通过,否则GRE通信不了,导致OSPF建立不了。联通也是一样。

(10)OSPF的配置

代码语言:javascript
复制
ip route-static 192.168.1.251 255.255.255.255 192.168.100.254
ip route-static 192.168.21.0 255.255.255.0 192.168.100.254
ip ip-prefix import_static index 10 permit 192.168.21.0 24
ip ip-prefix import_static index 20 permit 192.168.1.251 32
route-policy ospf-filter-routing permit node 10
if-match ip-prefix import_static
ospf 1 router-id 1.1.1.1
import-route static route-policy import_static
area 0.0.0.0
network 10.1.1.1 0.0.0.0
network 10.1.1.5 0.0.0.0

说明:路由协议的运用使得双方建立了动态路由协议,当然我们并不希望所有的流量都可以访问,所以这里必须定义一个路由过滤来允许我们希望给对方的路由,其余的则不发送。

分部VPN配置部分【附带注释】 (1)ike peer配置部分

代码语言:javascript
复制
ike peer to-center1
pre-shared-key simple ccieh3c.com
remote-address 202.100.1.2
#
ike peer to-center2
pre-shared-key simple ccieh3c.com
remote-address 61.128.1.2
#

说明:一个用来与电信建立VPN,另外一个与联通的链路建立

(2)ipsec proposal 配置

代码语言:javascript
复制
ipsec proposal to-center

说明:这个可以通用的,而且有默认策略,所以不需要建立多个,安全策略可以根据自己需求定义。

(3)感兴趣流量配置

代码语言:javascript
复制
acl number 3000
rule 5 permit ip source 2.2.2.2 0 destination 1.1.1.1 0
acl number 3001
rule 0 permit gre source 2.2.2.1 0 destination 1.1.1.2 0

说明:一个ACL用于电信用的VPN,另外一个用于联通的VPN

(4)ipsec 策略配置部分

代码语言:javascript
复制
ipsec policy to_center 1 isakmp
security acl 3000
ike-peer to-center1
proposal to-center
#
ipsec policy to_center 2 isakmp
security acl 3001
ike-peer to-center2
proposal to-center

说明:该策略绑定了之前定义的策略,一个用于电信VPN建立,另外用于联通VPN建立

(5)拨号接口调用

两边路由的说明 说明:在实际工作中,一般直接默认路由指向出口ISP即可,这样既可以包含VPN的流量,也包含访问Internet的流量。

分析VPN建立过程,以及整个VPN实现的效果

说明:可以看到VPN的配置有几个特殊支持,1、Tunnel接口的配置,不是以公网接口作为源目,而是定义了两对环回口作为各自Tunnel的源与目,这主要是因为分支机构那边没有固定IP地址,所以根本不能明确指定对方的IP,所以这里用私网地址用来固定双方地址,如果建立GRE成功,那么就得依靠VPN了。2、ACL的定义,正常情况下,gre over ipsec的建立,ACL定义则以双方公网地址的gre流量为感兴趣流量,但是这里定义的却为私网地址定义的,这是为了能够触发VPN流量的建立。

(1)这里VPN的建立,主要依靠OSPF周期性的发送数据包用来与地方建立邻居,由于是Tunnel接口,所以要封装GRE,源IP为:2.2.2.2,目的地址为:1.1.1.1 | GRE | 源IP:10.1.1.2 目的IP:10.1.1.1 :OSPF

(2)匹配默认路由出去,走的拨号接口,拨号接口有VPN的策略,并且之前的流量又匹配感兴趣流量。

(3)这时候的封装会以:| 公网地址:源地址:【动态分配】 目的IP:202.100.1.2 | ESP | GRE头部 | 实际真实IP流量,然后发送给目的IP【也就是peer指定的202.100.1.2】

(4)总部收到以后,会以接口下的VPN调用,然后进行匹配对应的策略,如果一致则建立VPN的隧道,协商IKE sa与IPSEC SA。

(5)当VPN建立以后,那么感兴趣流量内的流量是可以互访了,也就是GRE是可以互通的。

(6)Tunnel接口可以互通了,那么自然OSPF就可以正常建立了。

(7)所以说整个过程都是通过OSPF来自动触发建立的,如果没有OSPF的触发建立,那么导致的情况就是,VPN根本建立不起来,所以这个特殊的地方必须使用动态路由协议来动态触发建立,因为没有动态触发建立的话,那么Tunnel永远起不来,因为没有流量触发,不能建立VPN。当然可以使用特殊的技术,比如NQA等来触发。

(8)当然这里只能建立一个Tunnel,另外一个Tunnel做备用,这是因为USG处理机制导致的,不能通过一个源地址建立2个VPN隧道,所以只能做主备,而不能实现A/A,负载均衡的方式。

(9)这里必须由分部的OSPF主动触发VPN建立,而不能是总部触发,因为总部根本就不知道分部在哪,不知道具体地址,根本就建立不起来VPN,所以只能通过分部OSPF流量触发VPN的建立,然后整个VPN建立后,保证OSPF建立。

(PS:当然华为本身就支持自动建立VPN机制,但是灵活性我更喜欢用上面这种,能解决各种复杂的需求)

6 其他配置对VPN的影响以及优化

策略路由的影响

说明:因为该项目中总部是部署了策略路由,策略路由的作用都知道,会优先于路由表进行转发处理,那么对于VPN来说,会有怎么样的影响呢。

情况问题分析:分支与总部的VPN是主备关系,而不是A/A的,那么之前策略路由部署的时候,是把财务部 192.168.21.0/24给直接转发电信,那么假设分部与总部VPN先建立的是联通链路,那么电信的VPN是作为备份的,不能转发数据包,而策略路由又把数据包转发给电信,那么导致的情况则是VPN不通。

问题存在演示

可以看到现在分支主要与联通建立的邻居,10.1.1.5是Tunnel 1 的接口,Tunnel 1为联通的接口。

可以看到现在Ping不同分支,这是因为在策略路由上面,192.168.21.0网段走的是电信,而现在电信是备用,所以就被丢弃了。

解决办法。

在该ACL中多加一个条目,当21网段访问分支的172.16.4.0的时候,不走策略路由,走路由转发。

这时候就可以了。

NAT对于VPN的影响

说明:如果在平时的VPN部署中,NAT与VPN是冲突的,通常情况下需要在NAT中把对应的VPN流量不做源NAT,完成访问。

(1)总部的NAT与VPN影响 说明:总部USG的NAT策略是针对 trust到isp_dx或者isp_lt的,而并没有针对trust到gre的Zone,所以不会进行影响。

而Trust与GRE没任何配置,所以VPN流量不受到影响。

(2)分支的NAT与VPN影响 说明:如果分部部署了NAT的话,看是否有问题。 NAT在之前已经部署过,所以现在测试,

可以看到继续访问,没任何问题,也就是说,不会对Tunnel下的流量做NAT转换。

VPN优化

说明:为什么需要对VPN进行优化呢,我们都知道VPN的流量传输都是要经过加解密的,如果数据流量非常大的话,就会影响设备性能,而且VPN的传输速率也取决于VPN设备的性能与带宽。

(1)MTU与tcp mss优化 总部接口优化

代码语言:javascript
复制
[USG-GW]int g0/0/1
[USG-GW-GigabitEthernet0/0/1]mtu 1476
[USG-GW]int g0/0/2
[USG-GW-GigabitEthernet0/0/2]mtu 1476
[USG-GW]interface Tunnel 0
[USG-GW-Tunnel0]mtu 1450
[USG-GW]interface Tunnel 1
[USG-GW-Tunnel1]mtu 1450
[USG-GW]firewall tcp-mss 1400

说明:总部把接口修改了MTU值,这个主要为了防止分片,而TCP MSS也是为了防止分片,有时候会遇到打开网站图片什么的打不开的情况,这就是TCP MSS太大造成的。

分部接口优化

代码语言:javascript
复制
[GW]interface Dialer 1
[GW-Dialer1]mtu 1460
[GW-Dialer1]tcp mss 1400
[GW]interface Tunnel 0
[GW-Tunnel0]mtu 1450
[GW-Tunnel0]tcp mss 1300
[GW]interface Tunnel 1
[GW-Tunnel1]mtu 1450
[GW-Tunnel1]tcp mss 1300

说明:分支的修改主要是在拨号接口,由于是PPPOE环境,所以MTU值必须修改的低点,TCP MSS也低点,这样一切都是为了防止分片,造成一些应用访问失败或者是访问效率低效的情况。

(2)OSFP的优化功能 说明:OSPF默认情况下在点对点环境下是每10s发送一次Hello包的,而Hello包是通过VPN进行加解密的,这样的话会每10秒一次加解密出现,而VPN的环境对于路由收敛没必要这么快,所以我们可以改长点。

代码语言:javascript
复制
interface Tunnel 0
ospf timer hello 30

说明:每30秒发送一次Hello包,作为探测存在即可

文章版权归网络之路博客/网络之路Blog(公众号/其他平台同名,)所有,转载请标明出处,谢谢。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-03-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 网络之路博客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 1拓扑
相关产品与服务
VPN 连接
VPN 连接(VPN Connections)是一种基于网络隧道技术,实现本地数据中心与腾讯云上资源连通的传输服务,它能帮您在 Internet 上快速构建一条安全、可靠的加密通道。VPN 连接具有配置简单,云端配置实时生效、可靠性高等特点,其网关可用性达到 99.95%,保证稳定、持续的业务连接,帮您轻松实现异地容灾、混合云部署等复杂业务场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档