华为防火墙NAT策略
一.NAT概述
1.NAT分类
- NAT NO-PAT:类似于Cisco的动态转换,只转换源IP地址,不转换端口,属于多对多转换不能节约公网IP地址,实际情况下使用较小,主要适用于需要上网的用户较少,而公网地址又足够的场景下。
- NAPT (Network Address and Port Translation,网络地址转换和端口转换):类似于Cisco的PAT转换,NAPT即转换报文的源地址,又转换源端口。转换后的地址不能是外网接口IP地址,属于多对多或多对一转换,可以节约IP地址,使用场景较多,主要适用于内部大量用户需要上网,同时仅有少数几个公网IP地址可用的场景下。
- 出接口地址(Easy-IP):因其转换方式非常简单,所以也称为Easy-ip,和NAPT一样,即转换源IP地址,又转换源端口。区别是出接口地址方式转换后的地址只能NAT设备外网接口所配置的IP地址,属于多对一转换,可以节约IP地址作为转换目标。
- Smart NAT (智能转换):通过预留一个公网地址进行NAPT转换,而其他的公网地址用来进行NAT NO-PAT 转换。其主要用于平时上网用户比较少,而申请的公网地址基本可以满足这些少量用户进行NAT NO-PAT转换,但偶尔会出现上网用户倍增情况下。
- 三元组NAT :于源IP地址,源端口和协议类型有关的一种转换,将源IP地址和源端口转换为固定公网IP地址和端口,能解决一些特殊应用下在普遍NAT中无法实现的问题。其主要用于外部用户访问局域网用户的一些p2p应用。
**
2.黑洞路由**
黑洞路由,便是将所有无关路由吸入其中,使它们有来无回的路由。黑洞路由最大的好处是充分利用了路由器的包转发能力,对系统负载影响非常小。如果同样的功能用ACL(地址访问控制列表)实现,则流量增大时CPU利用率会明显增加。所以,一直是解决固定DOS攻击的最好办法。相当于洪水来临时,在洪水途经…”
配置方法
黑洞路由:当去往某一目的地的静态路由具有“blackhole”属性时,无论配置的下一跳地址是什么,该路由的出接口均为NULL0接口,任何去往该目的地的IP报文都将被丢弃,并且不通知源主机。在网络遭受攻击的情况下,可以通过配置黑洞路由丢弃去往目的地址的报文。
system-view
[HUAWEI] ip route-static 1.1.1.1 32 null 0
查看设备上是否存在黑洞路由的方法如下:
在路由表中查看是否存在出接口为NULL 0接口的路由表项
[HUAWEI] display ip routing-table 1.1.1.1
Route Flags: R - relay, D - download to fib
Routing Table : Public
Summary Count : 1
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.1.1.1/32 Static 60 0 D 0.0.0.0 NULL0
在FIB表中查看路由的出接口是否为NULL 0接口,或者当前标志为BHSU
[HUAWEI] display fib 1.1.1.1 verbose
Route Entry Count: 1
Destination: 1.1.1.1 Mask : 255.255.255.255
Nexthop : 0.0.0.0 OutIf : NULL0
LocalAddr : 0.0.0.0 LocalMask: 0.0.0.0
Flags : BHSU Age : 1091sec
3.Server-map表
- 通过Server-map表解决FTP数据传输问题
- Server-map在NAT中的应用
命令
display firewall session table //查看回话表
display firewall server-map //查看Server-map
4.NAT对报文的处理流程
- 防火墙收到报文后,首先检查报文是否匹配Server-map中的条目,如果是,则根据表项转换报文的目的地址,然后进行步骤三处理,否则进行步骤二处理
- 查找是否存在目标NAT的相关配置,如果是,并且符合NAT条件,则转换目标地址后进行步骤三处理,否则直接进行步骤三处理
- 根据报文的目标地址查找路由表,如果存在路由,则进行步骤4处理,否则丢弃报文
- 依次匹配安全策略中的规则,如果策略允许报文通过,则进行步骤5处理,否则丢弃报文
- 查找是否存在源NAT的相关配置及是否符合NAT条件,如果是,则转换源地址后进行步骤6处理,否则直接进行步骤6处理
- 在发送报文之前创建回话,后续和返回的报文可以直接匹配回话表转发
- 防火墙发送报文
NAT配置
- 在防火墙配置NAT NO-PAT方式的地址转换
(1)配置网络参数及路由
inter g1/0/1
ip add 192.168.1.254 24
undo shutdown
int add 202.96.1.1 24
undo shutdown
quit
ip route-static 0.0.0.0 0.0.0.0 202.96.1.2
(2)配置安全策略
firewall zone trust
add interface g1/0/1 //内网接口加入trust区域
quit
zone untrust
add interface g1/0/0 //外网接口加入untrust
quit
security-policy //配置安全策略
rule name sec -1 //配置第一个规则并指定规则名sec-1
source -zone trust //指定条件
destination -zone unstrust
source-address 192.168.1.0 24
action permit //指定动作
quit
(3)配置NAT地址组中的地址对应的是公网地址
nat address-group natgroup //配置NAT地址组,指定名称natgroup
// 通过section 关键字指定地址组的起始地址和结束地址,该地址应该为公网地址
section 0 202.96.1.10 202.96.1.11
// 指定地址组的模式为no-pat ,即为NAT NO-PAT模式。local关键字表示对本区域有效
mode no-pat local
quit
(4)配置NAT策略
nat-policy //配置NAT策略
rule name natpolicy //配置名称为natpolicy的NAT规则
//指定条件
source-address 192.168.1.0 24
source-zone trust
destination-zone untrust
// 指定动作,满足条件的数据包将依据地质组做NAT NO-PAT方式的源地址转换
action nat address-group natgroup
quit
quit
(5)针对转换后的全局地址(NAT地址组中的地址)配置黑洞路由
IP route-static 202.96.1.10 32 NULL 0
IP route-static 202.96.1.11 32 NULL 0
(6)验证NAT配置
display firewall session table //查看会话表
display firewall server-map
5 NAPT
(1)配置网络参数及路由
inter g1/0/1
ip add 192.168.1.254 24
undo shutdown
int add 202.96.1.1 24
undo shutdown
quit
ip route-static 0.0.0.0 0.0.0.0 202.96.1.2
(2)配置安全策略
firewall zone trust
add interface g1/0/1 //内网接口加入trust区域
quit
zone untrust
add interface g1/0/0 //外网接口加入untrust
quit
security-policy //配置安全策略
rule name sec -1 //配置第一个规则并指定规则名sec-1
source -zone trust //指定条件
destination -zone unstrust
source-address 192.168.1.0 24
action permit //指定动作
quit
(3)配置NAT地质组,地质组中的地址对应的公网地址
nat address-group natgroup
section 0 202.96.1.10 202.96.1.11
// 指定地址组的模式为pat,即为NAPT模式
mode pat // 配置为NAPT方式
quit
(4)配置NAT策略
nat -policy
rule name natpolicy
soure-address 192.168.1.0 24
source-zone trust
destination-zone untrust
// 指定动作,满足条件的数据包将依据地质组做NAPT方式转换
action nat address-group natgroup
quit
quit
(5)针对转换后的全局地址(NAT地址组中的地址)配置黑洞路由
IP route-static 202.96.1.10 32 NULL 0
IP route-static 202.96.1.11 32 NULL 0
(6)验证NAT配置
display firewall session table //查看会话表
display firewall server-map
6.出接口地址
(1)配置网络参数及路由
inter g1/0/1
ip add 192.168.1.254 24
undo shutdown
int add 202.96.1.1 24
undo shutdown
quit
ip route-static 0.0.0.0 0.0.0.0 202.96.1.2
(2)配置安全策略
firewall zone trust
add interface g1/0/1 //内网接口加入trust区域
quit
zone untrust
add interface g1/0/0 //外网接口加入untrust
quit
security-policy //配置安全策略
rule name sec -1 //配置第一个规则并指定规则名sec-1
source -zone trust //指定条件
destination -zone unstrust
source-address 192.168.1.0 24
action permit //指定动作
quit
(3)配置NAT策略
nat-policy
rule name natpolicy
soure-address 192.168.1.0 24
source-zone trust
destination-zone untrust
action nat easy -IP
quit
(4)验证NAT配置
display firewall session table //查看会话表
display firewall server-map
7.NAT Server
(1)配置网络参数及路由
inter g1/0/1
ip add 192.168.1.254 24
undo shutdown
int add 202.96.1.1 24
undo shutdown
quit
ip route-static 0.0.0.0 0.0.0.0 202.96.1.2
(2)配置安全策略
firewall zone trust
add interface g1/0/1 //内网接口加入trust区域
quit
zone untrust
add interface g1/0/0 //外网接口加入untrust
quit
security-policy //配置安全策略
rule name sec -1 //配置第一个规则并指定规则名sec-1
source -zone trust //指定条件
destination -zone unstrust
source-address 192.168.1.0 24
service ftp // 配置条件为ftp协议
action permit
quit
quit
(3)配置FTP应用层检测
firewall interzone trust untrust
detect ftp
quit
(4)配置NAT Server
nat server natserver natserver-ftp protocol tcp global 202.96.10.10 21 inside 192.168.1.10 21
(5) 配置黑洞路由
IP route-static 202.96.10.10 32 NULL 0
(6)R1配置静态路由
IP route-static 202.96.10.0 24 202.96.1.1