samsungsamsung 发表于 2018-7-28 11:28:34

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                     //写静态路由
  
  问题解决!
页: [1]
查看完整版本: juniper ssg550m 内网通过公网地址访问dmz主机(nat回流)