一、Source NAT

对于不需要做NAT的网段(比如IPSec×××),需要先关闭这些地址的NAT(如果没有则跳过

set security nat source rule-set trust-untrust rule no-nat match source-address 192.168.0.0/16

set security nat source rule-set trust-untrust rule no-nat match destination-address 10.10.0.0/24

set security nat source rule-set trust-untrust rule no-nat then source-nat off

 

对于需要上网或者所有的网段(做地址转换的网段),做source-nat

首先定义一个地址池(要转换的公网地址):

set security nat source pool natpool1 address 112.48.20.11/32 to 112.48.20.15/32

set security nat source pool natpool2 address 112.48.20.21/32 to 112.48.20.30/32

 

配置NAT规则匹配源、目、转换地址池

set security nat source rule-set trust-untrust from zone trust

set security nat source rule-set trust-untrust to zone untrust

 

//匹配特定的地址进行转换(没有特定可省略)

set security nat source rule-set trust-untrust rule nat1 match source-address 0.0.0.0/0

set security nat source rule-set trust-untrust rule nat1 match destination-address 183.253.58.253/32

set security nat source rule-set trust-untrust rule nat1 then source-nat pool natpool1

 

//默认所有的源、目地址进行转换

set security nat source rule-set trust-untrust rule nat2 match source-address 0.0.0.0/0

set security nat source rule-set trust-untrust rule nat2 match destination-address 0.0.0.0/0

set security nat source rule-set trust-untrust rule nat2 then source-nat pool natpool2

 

如果NAT地址池有多个地址,除了接口地址,那么其它地址需要做proxy-arp

set security nat proxy-arp interface ge-0/0/0.0 address 112.48.20.11/32 to 112.48.20.15/32

set security nat proxy-arp interface ge-0/0/0.0 address 112.48.20.21/32 to 112.48.20.30/32

 

做完这些就可以了? NO! NO! NO!防火墙域间策略不能忘

//首先定义两个地址池,并加入到地址组NET中

set security zones security-zone trust address-book address 192.168.100.0 192.168.100.0/24

set security zones security-zone trust address-book address 192.168.200.0 192.168.200.0/24

set security zones security-zone trust address-book address-set NET address 192.168.100.0

set security zones security-zone trust address-book address-set NET address 192.168.200.0

 

//将地址组匹配到trust到untrust的策略中,并放行

set security policies from-zone trust to-zone untrust policy 1 match source-address NET

set security policies from-zone trust to-zone untrust policy 1 match destination-address any

set security policies from-zone trust to-zone untrust policy 1 match application any

set security policies from-zone trust to-zone untrust policy 1 then permit

 

到此,这192.168.100.0192.168.200.0就可以通过NAT上网了

二、Destination NAT

部分服务器需要映射到公网去,怎么做呢?那么往下看:

//首先创建要映射的服务器地址池(包括IP地址和端口)

set security nat destination pool 1 address 192.168.168.168/32

set security nat destination pool 1 address port 443

 

//创建Destination NAT规则要映射的服务器地址池(包括IP地址和端口)

set security nat destination rule-set desnat from zone untrust

set security nat destination rule-set desnat to zone trust

set security nat destination rule-set desnat rule server1 match source-address 0.0.0.0/0

//匹配访问112.48.20.2的4430端口转换到内网服务器的443端口

set security nat destination rule-set desnat rule server1 match destination-address 112.48.20.2/32

set security nat destination rule-set desnat rule server1 match destination-port 4430

set security nat destination rule-set desnat rule server1 then destination-nat pool 1

 

还有必不可少的防火墙域间策略

//创建内网服务器地址组及端口

set security zones security-zone trust address-book address server1 192.168.168.168/32

set applications application Service_4430 term Service_4430 protocol tcp

set applications application Service_4430 term Service_4430 source-port 0-65535

set applications application Service_4430 term Service_4430 destination-port 4430-4430

 

//创建untrust到trust的策略,目前地址匹配内网服务器地址及端口

set security policies from-zone untrust to-zone trust policy 1 match source-address any

set security policies from-zone untrust to-zone trust policy 1 match destination-address server1

set security policies from-zone untrust to-zone trust policy 1 match application Service_4430

set security policies from-zone untrust to-zone trust policy 1 then permit

 

 

至此,外网就可以使用http://112.48.20.2:4430/访问内网的服务器了

 

 

还有一个问题,此时内网的用户却不能使用这个公网地址访问内部的服务器,这个需要在NAT上再做一个内部的地址转换,如下:

//创建一个源地址映射的地址池(内部服务器映射的地址)

set security nat source pool sorpool4 address 112.48.20.2/32

//创建trust到trust的策略如下

set security nat source rule-set trust-trust from zone trust

set security nat source rule-set trust-trust to zone trust

set security nat source rule-set trust-trust rule server1 match source-address 0.0.0.0/0

set security nat source rule-set trust-trust rule server1 match destination-address 192.168.168.168/32

set security nat source rule-set trust-trust rule server1 match destination-port 443

set security nat source rule-set trust-trust rule server1 then source-nat pool sorpool4

 

至此,内网也可以通过公网地址访问内部服务器了!!!

 

    如有雷同,纯属巧合,欢迎指正!