【誉天教育】安全HCIE防火墙精品实验之源NAT基础篇(一)

一、实验背景

NAT(Network Address Translation,网络地址转换),NAT技术使用很广泛,IPv4网络之中,内网与外网有严格边界,即内网主机和公网主机无法实现互访,NAT技术可以转换数据包中外层IP Header的IP等信息,最终实现私网主机访问互联网的功能。

按照NAT分类可以分源NAT、目的NAT技术,本次讨论验证源NAT技术NAT No-PAT,NAT No-PAT是一对一转换,适合公网IP地址数量充足的场景,一个私网主机必须占用一个公网IP才能实现对互联网的访问。

二、 实验拓扑

【誉天教育】安全HCIE防火墙精品实验之源NAT基础篇(一)

 

拓扑图-1

拓扑图-1要求实现Trust区域 HTTP Client访问Untrust区域HTTP Server,因为Client在内网,Server在外网,需要在FW1部署NAT No-PAT技术实现。

2.1 基本配置

表1是拓扑中接口、IP地址、安全区域规划:

【誉天教育】安全HCIE防火墙精品实验之源NAT基础篇(一)

 

表1

2.2 实验步骤

步骤1 在FW1上将各接口划入相应安全区域

<FW1>system-view//进入system-view

Enter system view, return user view with Ctrl+Z.

[FW1]firewall zone trust

[FW1-zone-trust]add interface GigabitEthernet 1/0/1 //将FW1的内网接口G1/0/1划入Trust区域

[FW1-zone-trust]quit

[FW1]firewall zone untrust

[FW1-zone-untrust]add interface GigabitEthernet 1/0/2 //将FW1的外网接口G1/0/2划入Utrust区域

[FW1-zone-untrust]quit

步骤2 在FW1上定义NAT地址池

[FW1]nat address-group 1

[FW1-address-group-1]mode no-pat global//在公网地址池中定义NAT No-PAT方式,global参数表示NAT No-PAT的Server-map表项不包含安全区域参数,流量不受域间关系限制

[FW1-address-group-1]section 0 202.100.1.100 202.100.1.100//定义公网地址池公网IP范围,在这里公网地池中只定义了一个地址

步骤3 在FW1配置NAT策略

[FW1]nat-policy

[FW1-policy-nat]rule name Source_NAT

[FW1-policy-nat-rule-Soure_NAT]source-zone trust

[FW1-policy-nat-rule-Soure_NAT]destination-zone untrust

[FW1-policy-nat-rule-Soure_NAT]source-address 172.16.1.0 24//定义哪些私网主机做源NAT转换,才可访问外网server

[FW1-policy-nat-rule-Soure_NAT]action source-nat address-group 1 //定义源NAT动作,关联公网地址池

步骤4 在FW1配置NAT策略

[FW1]security-policy

[FW1-policy-security]rule name A

[FW1-policy-security-rule-A]source-address 172.16.1.0 24 //定义NAT转换前的私网IP地址 *因为华为防火墙安全策略检查在NAT策略之前,如果源IP定义的是转换后的公网IP,则流量无法通过检查

[FW1-policy-security-rule-A]source-zone trust

[FW1-policy-security-rule-A]destination-zone untrust

[FW1-policy-security-rule-A]service http //允许HTTP业务通过

[FW1-policy-security-rule-A]action permit

步骤5 在FW1上配置路由协议

[FW1]iproute-static0.0.0.0 0.0.0.0 202.100.1.2 //在FW1配置默认路由指向公网下一跳R2

[FW1]iproute-static172.16.1.0255.255.255.0 10.1.11.1 //在FW1配置去往私网主机的路由

[R1]iproute-static0.0.0.00.0.0.0 10.1.11.2 //在R1配置默认路由指向FW1边界

[R2]iproute-static202.100.1.10032 202.100.1.1 //防火墙FW1上NAT地址池与公网接口地址不在一个网段,路由器R2需配置一条到达NAT地址池的路由

三、测试验证

3.1 启动HTTP Server服务器

【誉天教育】安全HCIE防火墙精品实验之源NAT基础篇(一)

 

3.2 在HTTP Client获取Server资源

【誉天教育】安全HCIE防火墙精品实验之源NAT基础篇(一)

 

3.3 测试成功

【誉天教育】安全HCIE防火墙精品实验之源NAT基础篇(一)

 

四、实验分析

【誉天教育】安全HCIE防火墙精品实验之源NAT基础篇(一)

 

A. HTTP client源IP 172.16.1.1-->HTTP server目的IP 100.1.1.1,流量抵达FW1,按照防火墙对于报文的处理流程,因为安全策略检查在NAT策略之前,所以client去往server的流量首先匹配安全策略检查,FW1基于源IP 172.16.1.1查路由表判断源zone是Trust,基于目的100.1.1.1查路由表判断目的zone是Untrust,只有流量通过安全策略的检查,才可去匹配NAT策略。

B. 安全策略检查通过之后,依据NAT策略执行NAT转换,HTTP client源IP 172.16.1.1将会被转换成nat address group 1地址冲中定义的202.100.1.100,但是源端口不会转换,因为NAT的转换方式是NAT No-PAT方式:

【誉天教育】安全HCIE防火墙精品实验之源NAT基础篇(一)

 

C. NAT No-PAT基于NAT流量会生成Server-map表,这个Server-map表记录了NAT流量转换信息,后续内网client去往外网server的流量抵达FW1,基于Server-map表项可以快速执行NAT转换:

【誉天教育】安全HCIE防火墙精品实验之源NAT基础篇(一)

 

上图中Server-map表项的Type:No-pat(是基于命中NAT策略的流量生成的),其中172.16.1.1[202.100.1.100] --> ANY,是正向Server-map条目,后续当内网HTTP client 172.16.1.1流量到达FW1,只要命中正向条目,直接执行NAT转换。

但是Server-map表中还存在反向Server-map条目,ANY -->202.100.1.100[172.16.1.1],意义是为了让外网ANY主机可以主动访问内网client, 当外网ANY主机访问202.100.1.100即访问内网client 172.16.1.1(这个202.100.1.100是client转换后的公网IP,如果外网主机要访问内网client,这台Server是不可能得知内网IP的,反向条目告诉我们,外网主机只要访问公网IP 202.100.1.100,基于映射关系即访问172.16.1.1)。

注意并不是ANY主机可以直接基于反向条目去访问内网client,我们使使server源100.1.1.1访问client目的202.100.1.100,验证Server-map反向条目:

【誉天教育】安全HCIE防火墙精品实验之源NAT基础篇(一)

 

外网HTTP Server 100.1.1.1访问Server-map表中反向条目映射的202.100.1.100公网IP,发现访问失败,这是为什么呢?

这个流量抵达FW1,按照防火墙转发流程,Server-map表项的匹配顺序是在安全策略之前的,第一步流量首先会命中Server-map表项中的反向条目ANY -->202.100.1.100[172.16.1.1],目的被转换成内网IP 172.16.1.1;第二步这个经过Server-map表项洗礼的流量需要经过安全策略检查,因为我们没有配安全策略(基于No-pat生成的Server-map表项,即便流量命中此表项也需要执行安全策略检查,不同于ASPF生成的Server-map表项)最终访问失败。则需要在FW1配置HTTP Server访问内网HTTP Client安全策略:

[FW1]security-policy

[FW1-policy-security]rule nameUntrust_Trust

[FW1-policy-security-rule-A]source-address 100.1.1.1 32 //定义HTTP server源IP

[FW1-policy-security-rule-A]destination-address 172.16.1.1 mask 255.255.255.255 //定义内网 HTTP client目的IP

[FW1-policy-security-rule-A]source-zone untrust

[FW1-policy-security-rule-A]destination-zone trust

[FW1-policy-security-rule-A]service icmp //允许icmp业务通过

[FW1-policy-security-rule-A]action permit

安全策略中目的IP需要配成为172.16.1.1,而不是外网HTTP Server所访问的202.100.1.100,上文已分析,完成以上安全策略配置验证测试:

【誉天教育】安全HCIE防火墙精品实验之源NAT基础篇(一)

 

通过NAT No-PAT实现内网HTTP client对外网HTTP server的访问,也可以通过Server-map表中反向条目可以实现外网主机主动向内网client发起访问。Server-map表中的正向条目老化时间是360秒,只要正向条目不老化,反向条目就会存在,在这段时间内,外网ANY主机都可以匹配Server-map表中反向条目直接访问内网client,前提安全策略放行。

思考:如果下图PC1、HTTP client要同时访问HTTP Server,NAT No-PAT还行得通吗?

【誉天教育】安全HCIE防火墙精品实验之源NAT基础篇(一)