山石网科-Hillstone-PNP-VPN应用实战经验终结篇

各位晚上好自上次更新已经有了20多天没更新了罪过罪过。不过确实有一个令人振奋的消息需要主动的推送给大家。上周历经9个小时完成了Hillstone-HCSE的考试并通过了。这期间让我感触最深的就是细心和经验非常关键痴迷命令行的网工在考试中是有优势的因为命令行集中体现了思路、逻辑、快的三个特点所以这一次考试也算给自己在山石的售后近两年一个完美的交代。

————————Allen

当然了今晚不是傲娇的过来说一说我考试过了也是带了一个山石特有的VPN场景的干货过来了大家都或多或少知晓市面上主流的VPN应用场景和配置手法无非就是L2TP/PPTP/IPSEC/SSL这样的功能当然也不排除万金油的GRE今天给大家介绍山石特有的一个vpn场景pnpvpn具体的大家往下看。

上大菜~~~~~~

PnPVPN解决了哪些需求

IPSecVPN配置复杂维护成本高对网管人员技术要求高针对该问题Hillstone 为企业用户提供了一种简单易用的VPN技术——PnP-VPN即即插即用VPN。通过PnP-VPN技术在部署VPN时在中心Server端做好配置接入端只需填入简单的几项配置即可实现到中心端的VPN连接。

PnPVPN 的工作流程如下

1. 客户端发起连接请求并传送自己的 ID 以及密码到服务器端。

2. 服务器端收到请求后验证客户端传送的 ID和密码验证通过即下发预配置的 DHCP 地址池、DHCP 掩码、DHCP 网关、WINS、DNS 和隧道路由

等信息到客户端。

3. 客户端把收到的信息下发到相应的功能模块。

4. 客户端 PC 自动获取 IP 地址、IP 地址掩码和网关地址等网络参数并正常接入 VPN 网络。

官方原文截图【留意标红的地方】

其实在笔者玩过这么多年各种VPN的互联对接需求后对山石网科的pnpvpn的理解转化为通俗语言就是如下一番这样的理解

即把分支侧的DHCP的配置隧道访问的配置。全部使用了由总部下发的配置的手段实现即分支不需要养技术员所有的维护全部由总部直接进行即可。

贴上今天演示的拓扑图:

需求说明

1.   通过VPN功能实现总部和分支之间的内网直接访问

2.   分支网内配置DHCP

3.   分支和分支实现内网互访

PS:上图虚线为笔者个人准备配置的pnp-vpn思路逻辑链接图。

介绍下山石网科pnp-vpn的配置思路---

– 第一步配置认证服务器和添加用户

– 第二步配置IKEVPN

*配置P1提议可选

*配置ISAKMP网关

*配置P2提议可选

*生成pnp客户端秘钥

*配置隧道

– 第三步配置Tunnel接口并添加VPN路由

*新建Tunnel接口,绑定安全域及IPSec隧道

*添加通过Tunnel接口访问对端的路由

– 第四步配置访问策略

下面为大家献上个人整理的CLI命令行的配置总结。---【笔者亲测配置后的效果绝对没有错误放心刷配置都可以】

第一步:

3A服务器配置

aaa-server pnpvpn type local      -------------配置本地 AAA 认证服务器-pnpvpn

user shanghai              -------------使用上海地区命名pnpclient账户,容易区分

password shanghaiuser

ike-id fqdn  shanghai

dhcp-pool-gateway  192.168.20.1

------------为上海分支定义dhcp的gateway、mask、可用ip地址范围

dhcp-pool-netmask 255.255.255.0               ------------同上

dhcp-pool-address  192.168.20.2 192.168.20.100    ------------同上

split-tunnel-route 192.168.10.0/24

------------为上海分支下发目的明细路由,在上海分支client拨入success后,route会存在V*路由

dns 114.114.114.114 8.8.8.8

------------为上海分支下发dns服务器ip,(在分支pc网卡dns会呈现为20.1,并接口起dns-proxy)

wings x.x.x.x  (option)

exit

aaa-server pnpvpn type local      -------------配置本地 AAA 认证服务器-pnpvpn

user shenzhen              -------------使用深圳地区命名pnpclient账户,容易区分

password shenzhen

ike-id fqdn  shenzhen

dhcp-pool-gateway  192.168.40.1

------------为深圳分支定义dhcp的gateway、mask、可用ip地址范围

dhcp-pool-netmask 255.255.255.0                 ------------同上

dhcp-pool-address  192.168.40.2 192.168.40.100      ------------同上

split-tunnel-route 192.168.40.0/24

------------为深圳分支下发目的明细路由,在深圳分支client拨入success后,route会存在V*路由

dns 114.114.114.114 8.8.8.8

------------为深圳分支下发dns服务器ip,(在分支pc网卡dns会呈现为40.1,并接口起dns-proxy)

wings x.x.x.x  (option)

exit

第二步:

自定义算法------pfs组必须为group2,否则会出错

hostname(config)# isakmp proposal test1

hostname(config-isakmp-proposal)# group 2

hostname(config-isakmp-proposal)# exit

hostname(config)# ipsec proposal test2

hostname(config-ipsec-proposal)# group 2

hostname(config-ipsec-proposal)# exit

配置ipsec-vpn第一阶段参数:

isakmp peer "test1"

mode aggressive        ---使用野蛮模式

type usergroup         ---类型使用用户组

isakmp-proposal "test1"   ---调用自定义算法

pre-share 123456      ---常规配置,后面生成rootkey需要此参数,切勿与user password混淆

aaa-server "pnpvpn"      ---调用前面定义的AAA本地认证服务器

interface aggregate1      ---公网出接口

exit

配置ipsec-vpn第二阶段参数:

tunnel ipsec "test" auto

isakmp-peer "test1"             ----关联第一阶段

ipsec-proposal "test2"         ----调用自定义的第二阶段算法

生成客户端秘钥:

hostname(config)# exec generate-user-key rootkey 123456 userid shanghai        ----rootkey是第一阶段的pre-share参数,切勿混淆

userkey: kyZAKmLWCc5Nz75fseDiM2r+4Vg=【生成输出物】

该参数填入参考:

第三步:

配置独立zone,和tunnel接口,并关联pnpvpn

NAV-BBBBBBBB(config)# zone pnp

NAV-BBBBBBBB(config-zone-pnp)# exit

interface tunnel5

zone  "pnp"

tunnel ipsec "test"

总部Server端指定去往分支的tunnel路由

ip route 192.168.20.0/24 tunnel5

ip route 172.16.119.0/24 tunnel5

第四步:

最后配置总部与分支的policy即可实现互访

总部侧------------

分支和分支之间,策略即:pnp 到 pnp

总部和分支之间,策略即:dmz 到 dmz (both双向均需要添加)

分支侧------------

web-ui中-IPSEC VPN ---右上角---pnp client,找到并点击设置pnp,参考如下:

分支到总部之间,策略即:内网接口所在zone到tunnel接口所在zone(both双向均需要添加)

到这里,我们按照PNP-vpn的配置思路全部配置完毕,即:这个时候,我们即可进行测试了。而且当然通过远程管理进入到分支的防火墙底层中,show inter 、show config等等,你会发现。

分支的内网DHCP-POOL已经配置完成、内网主机已经自动获取成功。也自动创建了一个zone属于VPN的tunnel接口,并存在我们在总部设置的split route的路由信息。

这个也就是我们前面介绍的PNPVPN的工作流程中的第三部完成的,【客户端把收到的信息下发到相应的功能模块】,说句实话,挺神奇的。

我在总部show查看VPN的up情况,参考如下:

NAV-BBBBBBBB# show ipsec sa

Total: 3

S - Status, I - Inactive, A - Active;

=============================================================

Id    VPN          Peer IP           Port Algorithms          SPI      Life(s) S

--------------------------------------------------------------------------------

17    test         >172.16.106.50     500 esp:3des/sha/-      799a7a51   15069 A

17    test         <172.16.106.50     500 esp:3des/sha/-      79c940d1   15069 A

18    test         >172.16.106.66     500 esp:3des/sha/-      589df89d   15076 A

18    test         <172.16.106.66     500 esp:3des/sha/-      79c940d3   15076 A

=============================================================

结论:到分支已经全部up,看来pnpvpn已成功的配置完成。“给自己一点掌声”

不过这个时候,我们测试发现分支可以Ping通总部内网主机,但无法Ping通另外一个分支点,反向从总部Ping分支,无法Ping通。笔者这个时候纳闷了。难道遇到传说总的单向通信????心中一万个why出来。。。。。

不慌,待我一步一步详细查看,毕竟我是专业的网工。思路如下:

1.检查配置-------VPN配置、VPNclient配置均检查没毛病

2.检查路由-------查看路由获取正常,FIB表也正常

3.使用最终兵器,Debug,在总部debug出来的信息最终输出结果如下:

--------VR:trust-vr start--------

172.16.119.200:1->192.168.40.200:2973

NAT: ICMP protocol type/code 0800

No DNAT matches, skip DNAT

Get nexthop if_id: 19, flags: 0, nexthop: 0.0.0.0

Interface route

NAT: ICMP protocol type/code 0800

No SNAT matches, or out of pool, skip SNAT

--------VR:trust-vr end--------

Start policy lookup.

Pak src zone dmz, dst zone pnp, prot 1, dst-port 2973.

Policy 9 matches, ===PERMIT===

crt_sess->flow0_io_cpuid 0

flow0 src 172.16.119.200 --> dst 192.168.40.200 with nexthop 0.0.0.0 ifindex

19

flow1 src 192.168.40.200 --> dst 172.16.119.200 nexthop not lookup or invalid

dp_sess_sm_transtion: Do session state machine transtion, state: 1, event: 4!

flow0‘s tunnel id (0) invalid.

Dropped: Failed to create session

-----------------------First path over (session not created)

Droppped: failed to create session, drop the packet (action=0)

——————————————————————————————————————————

大家注意我标注的红色的地方,懂防火墙处理流程的网工,我详细基本已经能看到问题在哪里了。

我画个图给大家理解下,参考如下:

描述下:--【此篇文章的精华】

分支A测试PC-3发起ICMP的流量ping到总部测试PC-1,流量没有任何问题,大家都知道ALG、或者思科service-policy等一些不固定端口协议的流量触发后,防火墙的自动适应处理的概念。

但当总部PC-1发起ICMP的流量到分支A时,这个时候,我们PNP的tunnel接口因为绑定了两个VPN实例,此时接口根据以上配置无法识别测试PC-1到底是去分支A还是分支B,所以防火墙“毫不犹豫”的给予的严肃处理,即:Drop。(所以不是防火墙不给力,而是防火墙不知道怎么帮你转发流量所以直接扔掉,以保护设备性能。)

最后怎么解决呢,大家往下看

回过头来,我们总部Server端指定去往分支的tunnel路由,并补充了下一跳的地址

ip route 192.168.20.0/24 tunnel5 172.16.106.50(分支设备的公网ip)

ip route 172.16.119.0/24 tunnel5 172.16.106.66(分支设备的公网ip)

ps:前面就是因为没指定下一跳,内网虽然发起ping导致设备无法区分同一个接口两个分支的pnp流量。直接导致设备把流量drop掉,补充下一跳之后,分支和分支之间、总部和分支之间立马正常

最后补充一个小提示:

PNP-client配置完成后大约在一分钟后,pnp客户端协商成功,配置下发成功。需要耐心等待!!

综上,

山石网科的PNP-VPN还是很不错的,不过确实需要一个有强大售后血液的工程师去沟通这样的前期需求,否则容易出现笔者介绍的一些不通现象,倘若客户在旁边,那就尴尬了。

好,到这里今天的分享就结束了,忙了一周,其实希望能不要以周五是休息的目的去度过。因为网工的姿态是天天向上,在我们网工眼里,任何时间都是学习和提升自己的时候。

——————来自一家二级运营商的网工分享

大家晚安.51CTO晚安。。。。

时间: 2024-10-17 12:12:23

山石网科-Hillstone-PNP-VPN应用实战经验终结篇的相关文章

山石网科-Hillstone-IPsecVPN常见故障debug排错心得终结版

嗨,各位好. 相信各位过来点开的时候会鄙视一句"这厮,又来搞山石了",哈哈没错,这次确实又来了,不过这次带了点排错的心得过来,希望给未来在常见的配置过程当中,不知道怎么排错时候有些帮助. 说句真心话,山石(hillstone)确实挺好用的,不行你可以试试!! 好了,废话少说.直接上菜 ipsec的拓扑图,我临时画了一个,目的希望各位能有图看到,不然各位心里冒出千万个草泥马"NO picture NO bb". (这万恶的水印)无关紧要,今天的主题在俩台firewal

山石网科-Hillstone-L2TP-VPN之配置终结篇

L2TP-VPN 暂时就不做什么名词解释了.目前中小型企业使用较普遍的一种远程拨入的"action" 所以这里,我直接开始介绍咱们国产产商"山石网科"的配置方法,日后再介绍一些基于L2TP-VPN的高级应用.总之,技术是 一步一步累加的,所以先学会配置,搞清楚这个技术要实现什么目的,这个当务之急.. 第一步.首先建立一个独立的L3-zone,这里命名为[L2TP-VPN] 网络连接-安全域-新建 第二步.建立tunnel隧道接口,并把接口的zone设置为L2TP-V

山石网科-Hillstone-SC-VPN(SSL-VPN)之配置终结篇

老样子,先把需求说一下,为何要做? 有部分客户经常吐槽山石网科L2TP的不稳定,瞬断自动重连的效果也不是很好,总结"移动办公L2体验糟糕" 而基于客户端的拨号无疑把这些痛点都解决掉了,所以.我们开始上菜 第一步:在StoneOS的webUI中找到SSL-VPN,并点击NEW进入配置界面 第二步:开始真是配置SSL-VPN各项参数 SSL-VPN name:这个不解释 USER:拨入用户的授权方式(可local.可radius) Interface:顾名思义就是移动办公用户,拨入时使用的

山石网科UTM使用体验和对比

因由启明星辰UTM 升级成了山石网科UTM,这两个设备做一个大概的比较,给大家作为参考. 启明星辰UTM用了三年,因ips规则库无法升级,因此就直接更换了设备,这里对两个设备的基本功能.配置等做一个直观的比较,但不涉及的性能的详细数据比较. 系统界面对比 山石界面友好,简洁清爽,强于启明星辰.各种状态显示清晰,一目了然.尤其是流量分析这部分,比启明星辰强太多.启明星辰的流量分析基本可以忽略. 防火墙功能 防火墙由于太 成熟了,两家都差不多,该有的都有. ips功能 ips性能启明星辰明显强于山石

山石网科-Hillstone-路由模式的IPSEC-VPN之配置终结篇

首先,当然第一件事情,是要理清思路了,这一点对一个工程师来讲是必须且非常重要的一步. 第一步,新建IPsec-Vpn. 第二步,配置第一阶段相关参数.(高级可选参数,DPD对端存活检测/NAT穿越都可以勾选上,这个不是协商参数) 第三步,配置第二阶段相关参数.注意(如果俩端都是山石设备,即可以不用配置代理ID,选择自动即可,若不是,请填写代理ID.PS:代理ID只是协商让IPsecUP的一项参数,并非定义感兴趣) 高级可选参数中,将自动连接.VPN隧道监测.VPN隧道状态通知勾选. 第四步,配置

山石网科如何利用GRE+IPSEC+BFD进行高可用组网-经验分享篇

有些日子没过来写文章,一是最近在研究阿里云(ACP)等组网以及考试,而是也发现没有什么特别实用的技术在blog中去分享.不出意料的在上周通过了ACP的考试,发现云计算中又出现了一些的组网应用,虽然在阿里云和目前很多公司的云平台操作的时候,很难感觉到网络的存在,都是自己点一点就好了..但如果在使用的过程只是这么简单以为的话,这是会出大问题的. 比如从网络的容灾的概念中,你虽然在各大云平台得到了网络配置的最大简化体验,此时网络工程的重心就会辐射到容灾.安全.流量切换等等.这些作为但凡作为一个运维都要

山石网科-Hillstone-HA(高可用)active/standby固件版本升级终结经验篇

各位,好 我们在常见的企业边缘的网络架构中经常会遇到高可用.堆叠.VRRP等双机部署情景,那我在前面介绍的一些案例当中,基本都是双机部署,高可用的企业组网形式, 所以,基础的配置也都在前面介绍了,但是却没有介绍高可用的状态下如何升级硬件的OS的情景,这里因为在上周完成了一次(山石网科-HA)无缝迁移,所以我们这里特意总结如下思路, 与各位分享,欢迎大家参阅指正. 操作步骤:(请现场同事同时记录所有操作细节和完成时间) PS:为什么要做这一步,因为我们是一家专业的技术服务公司,所以我们队每一个步骤

山石网科-Hillstone-双ISP接入流量故障排错终结篇

各位,好久不见. 近期在维护山石网科的防火墙中遇到一个比较有代表性质的案例,故在时候拿出来和大家做简单的分享.好了,不多说. -------来自一家运营商的网工分享 背景: 山石网科设备-E2800 华为S5700-52C-EI 单ISP(CTC)线路接入 私有云+传统IDC业务混合部署 需求: 新增一条CNC-ISP出口,提升联通进出.电信进出访问的优化,杜绝单电信异网传输延迟问题,增强网络的可靠性.冗余性和健壮性,进而将数据流量访问进行合理的分配和科学的利用. 改造前拓扑: 改造前拓扑特点:

山石网科-Hillstone-PBR(策略路由)挂载URL应用经验分享篇

近期遇到一个比较普通且具有代表性的案例,特别开森的过来给大家分享下.希望大家多多支持. 特点:新接入ISP出口,将特点URL流量引入到该出口 在网络改造前的多次三方沟通后,我们给出相对完整的接入方案和操作细节,记住,这一点在网络工程师的施工过程中非常重要,必须要有的环节,否则就是极其不专业的做法. 好了,我们上菜. 当前网络拓扑图参考如下: 当前拓扑描述: 网络全冗余结构,接入纯BGP网络,物理分离管理和业务线路 网络边缘使用A/P模式部署 核心交换使用华为S9300系列虚拟化部署(CSS) 负