问题是我无法访问Exchange服务器上的端口80(或443),除非我添加一个总括规则来允许从客户端到服务器的子网的所有stream量。
如果我添加一个规则来特别允许端口80stream量从客户端到Exchange服务器,我不能连接,如telnet会话所示。
如果我启用规则允许从客户端到Exchange服务器的 所有stream量 ,我仍然无法连接。 如果我启用从客户端到Exchange服务器的子网的所有stream量,只有这样我才能连接到Exchange服务器上的端口80。
这根本没有意义。 当我使用ProcessMonitor查看networkingstream量时,我只能看到http和httpsstream量。 当我在使事情起作用的防火墙规则上login活动时,我仍然只能看到http和httpsstream量。 即使添加了允许所有通信到Exchange服务器,DNS服务器和其他服务器的规则,我也无法连接。
为什么简单的TCP端口80连接到特定的服务器依赖于通过防火墙的其他types的连接? 为什么这不会logging在似乎使这一切工作的规则? 很明显,我不希望无线客户端可以完全访问私有局域网,但我无法弄清楚哪些漏洞需要打开才能访问OWA。 (甚至是Exchange服务器上的简单端口80)。
在进一步的反复试验中,我发现如果通过公共IP访问OWA,我就可以工作。 (将我们的防火墙映射到私有IP)这适用于OWA,但是我们在其他方面仍然存在问题,例如发送pipe理员电子邮件警报。 我想如果我能解决上面的问题,我可以解决这些额外的问题。
我们正在使用Active Directorynetworking中运行Server 2008的Exchange 2007。 防火墙是Juniper SSG5。 无线networking使用防火墙接口进行分段,并且运行在与局域网不同的子网上。 我们使用Untangle系统作为无线networking,configuration为网关模式(无NAT)。 静态路由允许stream量通过Untangle网关从LAN到无线子网。
“使事情有效”的规则是允许从无线客户端(通过IP)到LAN子网的所有stream量的防火墙规则。 不起作用的是只允许从客户端到Exchange服务器IP的端口80。
以下是路由器configuration的相关部分…
set zone "Trust" vrouter "trust-vr" set zone "Untrust" vrouter "untrust-vr" set zone "DMZ" vrouter "untrust-vr" set zone "VLAN" vrouter "trust-vr" set zone id 103 "Wireless" set zone "Wireless" vrouter "untrust-vr" set interface "ethernet0/0" zone "Trust" set interface "ethernet0/1" zone "Wireless" set interface ethernet0/0 ip 192.168.254.1/24 set interface ethernet0/0 nat set interface ethernet0/1 ip 10.11.1.1/24 set interface ethernet0/1 nat set interface "ethernet0/4" mip 50.249.213.37 host 192.168.254.213 netmask 255.255.255.255 vr "trust-vr" set policy id 33 name "Wireless Internet" from "Wireless" to "Untrust" "Any" "Any" "ANY" permit set policy id 33 exit set policy id 65 name "Wireless DNS" from "Wireless" to "Trust" "Any" "obcontrol02" "DNS" permit log set policy id 65 exit set policy id 66 name "Anti-virus updates" from "Wireless" to "Trust" "Any" "obwinapp07" "Nod32 Anti-virus Update" permit log set policy id 66 exit set policy id 67 name "hqitdept" from "Wireless" to "Trust" "Any" "Mailserver" "HTTPS" permit log set policy id 67 set dst-address "tsapp01" exit set policy id 68 name "hqitdept" from "Wireless" to "Trust" "Any" "Internal Web - ati.iblp.org" "HTTP" permit set policy id 68 set dst-address "Internal Web - iblp.org.au" set dst-address "Internal Web - tw.iblp.org" set dst-address "Mailserver" exit set vrouter "untrust-vr" set route 0.0.0.0/0 interface ethernet0/4 gateway 50.249.213.46 preference 10 permanent description "comcast" set route 10.10.0.0/16 interface ethernet0/1 gateway 10.11.1.2 set route 192.168.254.0/24 vrouter "trust-vr" preference 20 metric 1 exit set vrouter "trust-vr" set source-routing enable unset add-default-route set route source 0.0.0.0/0 vrouter "untrust-vr" preference 20 metric 1 exit
只有在添加以下规则后,才能连接到端口80上的Exchange服务器。
set policy id 69 name "Blanket Rule" from "Wireless" to "Trust" "10.10.94.187/32" "192.168.254.0/24" "ANY" permit log set policy id 69 exit
其他规则,比如局域网的DNS查询,到另一台服务器的SSL以及反病毒更新都可以正常工作。 这是只有Exchange服务器,我不能打开整个子网连接到。

在以下屏幕中,您可以看到(当前禁用的)静态DNS条目,以强制mail.iblp.orgparsing为外部映射的IP。 (这是上述解决方法。)域条目允许无线客户端parsing我们的分区DNS上的本地网站的内部主机名。

****** 3449299.0: <Wireless/ethernet0/1> packet received [60]****** ipid = 28817(7091), @03be38d0 packet passed sanity check. flow_decap_vector IPv4 process ethernet0/1:10.10.94.187/49659->192.168.254.213/80,6<Root> no session found flow_first_sanity_check: in <ethernet0/1>, out <N/A> chose interface ethernet0/1 as incoming nat if. flow_first_routing: in <ethernet0/1>, out <N/A> search route to (ethernet0/1, 10.10.94.187->192.168.254.213) in vr untrust-vr for vsd-0/flag-0/ifp-null cached route 1 for 192.168.254.213 [ Dest] 1.route 192.168.254.213->192.168.254.213, to ethernet0/0 routed (x_dst_ip 192.168.254.213) from ethernet0/1 (ethernet0/1 in 0) to ether net0/0 policy search from zone 103-> zone 2 policy_flow_search policy search nat_crt from zone 103-> zone 2 RPC Mapping Table search returned 0 matched service(s) for (vsys Root, ip 192. 168.254.213, port 80, proto 6) No SW RPC rule match, search HW rule swrs_search_ip: policy matched id/idx/action = 320000/-1/0x0 Searching global policy. swrs_search_ip: policy matched id/idx/action = 320000/-1/0x0 policy id (320000) packet dropped, denied by policy Policy id deny policy, ipv6 0, flow_potential_violation 0
在此先感谢您提供的任何信息…… :-)让我知道是否有其他具体的信息有助于理解问题。
基于你的debugging输出 
您的IP地址是10.10.94.187
但是你的eth0 / 1是10.11 / 24,所以这个策略没有区域匹配。
你需要调整你的eth0 / 1 vlan来适应这个区域。
经过几个小时的故障排除,我终于find了罪魁祸首。 我有一个在我的邮件服务器的IP地址转码。 (在ScreenOS地址列表中)我的防火墙规则使用了指定的地址条目,这就解释了为什么它们不起作用,即使规则正确。

而不是尴尬,但我确实希望张贴解决scheme,以防其他人遇到类似的问题。 非常感谢(和+1)@TheCleaner在debugging交通stream的技巧! 我相信那会派上用场。
你有多个IP地址分配给服务器的NIC? 如果你这样做,客户端访问地址1,服务器响应地址2/3等。 那么一个地址的防火墙规则可能会阻止stream量从服务器回到客户端。