juniper ssg550m 内网通过公网地址访问dmz主机(nat回流)

用户环境:

网络拓扑如下:

防火墙为juniper的ssg550m,四个接口分别划分为TRUST、DMZ、dianxin、liantong四个区域。从trust到dianxin,trust到liantong做有PAT转换,供内网用户上网使用。

从dmz到dianxin,dmz到liantong做有静态端口映射,供外网访问dmz区域服务器。

服务器配置:

set interface "ethernet0/0" zone "Trust"

set interface "ethernet0/1" zone "DMZ"

set interface "ethernet0/2" zone "dianxin"

set interface "ethernet0/3" zone "liantong"       //划分端口区域

********************************************************************

set interface ethernet0/0 ip 192.168.1.1/24

set interface ethernet0/0 nat

set interface ethernet0/1 ip 172.16.1.1/24

set interface ethernet0/1 nat

set interface ethernet0/2 ip 111.111.111.11/24

set interface ethernet0/2 route

set interface ethernet0/3 ip 222.222.222.22/24

set interface ethernet0/3 route                 //设置端口地址及模式

********************************************************************

                           NAT静态映射

set interface ethernet0/2 vip 111.111.111.12 80 "HTTP" 171.16.1.5

set interface ethernet0/3 vip 222.222.222.12 80 "HTTP" 171.16.1.5   //配置vip地址

set policy id 1 from "dianxin" to "DMZ"  "Any" "VIP(111.111.111.12)" "HTTP" permit

set policy id 2 from "liantong" to "DMZ"  "Any" "VIP(222.222.222.12)" "HTTP" permit

                                                          //配置策略

********************************************************************

                           PAT映射

set interface ethernet0/2 dip 4 111.111.111.33 111.111.111.33

set interface ethernet0/3 dip 5 222.222.222.33 222.222.222.33         //配置dip地址

set address "Trust" "192.168.1.0/24" 192.168.1.0 255.255.255.0        //设置地址别名

set policy id 11 from "Trust" to "dianxin"  "192.168.1.0/24" "Any" "ANY" nat src dip-id 4 permit

set policy id 12 from "Trust" to "liantong"  "192.168.1.0/24" "Any" "ANY" nat src dip-id 5 permit

                                                            //配置PAT策略

用户需求:

用户内网没有dns服务器,希望使用公网dns服务器对域名进行解析,直接访问内网服务器。

问题:

由于用户内网电脑配置为公网dns,域名解析到的ip地址为公网地址,也就是说用户要通过公网ip地址访问dmz区域的服务器。但是这样会产生nat回流问题。如下图:

由于数据包路径不一致,导致防火墙丢弃数据包,造成无法访问。

解决办法:

在防火墙上做从trust到dmz区域的目的地址nat映射,把公网地址直接映射到dmz去。

如下图:

配置如下:

set address "DMZ" "dianxin" 111.111.111.12 255.255.255.255

set address "DMZ" "liantong" 222.222.222.12 255.255.255.255           //设置地址别名

set policy id 21 from "Trust" to "DMZ"  "Any" "dianxin" "HTTP" nat dst ip 172.16.1.5 port 80 permit

set policy id 21 from "Trust" to "DMZ"  "Any" "liantong" "HTTP" nat dst ip 172.16.1.5 port 80 permit

                                                                      //设置nat策略

set route 111.111.111.12/32 interface ethernet0/1

set route 222.222.222.12/32 interface ethernet0/1                       //写静态路由

问题解决!

你可能感兴趣的:(juniper,NAT回流,内网通过公网地址访问dmz主机,ssg550m)