博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
配置PIX515E DMZ的基本方法与故障排除
阅读量:6291 次
发布时间:2019-06-22

本文共 3256 字,大约阅读时间需要 10 分钟。

一、
基本环境
 
当前公司有
PIX 515E
防火墙一台(三个接口),服务器若干。要求将服务器迁移至
DMZ
区域并确保服务器正常工作,简略拓扑结构图如下所示:
 
二、
配置 DMZ
基本命令
 
1.
         
分别定义 outside
inside
dmz
的安全级别
nameif ethernet0 outside security0               #
定义 E0
口为非信任端口, security0
代表此端口安全级别最低
nameif ethernet1 inside security100             #
定义 E1
口为信任端口, security100
代表此端口安全级别最高
nameif ethernet2 dmz security50                 #
定义 E2
口为 DMZ
端口, security50
代表此端口安全级别介于信任与非信任端口之间
这里的数字 0
50
100
可自行调整,但需要注意数字之间的大小关系不能混淆。
 
 
2.
         
设置 dmz
接口 IP
ip address dmz 10.0.200.1 255.255.255.0         #
设置 DMZ
接口 IP
地址,设置好后可以按拓扑结构图测试从 PIX
ping 10.0.200.2
检查连通性。
 
3.
         
允许 dmz
区域的主机通过 icmp
数据包以及访问外网的 80
端口
access-list acl_dmz permit icmp any any             #
允许 DMZ
主机访问外部网络 icmp
协议
 
4.
         
acl_dmz
规则邦定到 dmz
端口上使之生效
access-group acl_dmz in interface dmz               #
应用策略到 DMZ
接口
 
5.
         
设置静态的因特网、局域网、 dmz
区的访问关系
static (dmz,outside) 218.104.XX.XX 10.0.200.2 netmask 255.255.255.255 0 0          #
发布 DMZ
服务器到因特网
 
6.
         
允许 outside
区域访问 dmz
区域特定的某个端口
access-list 100 permit tcp any host 218.104.XX.XX eq www                    #
设置策略允许因特网访问 DMZ
服务器 80
端口
 
 
三、
基本测试方法及故障排除
 
1、
  
利用  ping/tracert
命令测试
10.0.200.2
服务器上, ping 10.0.200.1 
正常, ping 10.0.6.8 
不通;
10.0.6.8
测试机上, ping 10.0.200.1 
不通, ping 10.0.200.2
不通, ping 10.0.1.254 
正常;
 
问题:局域网与 DMZ
区不能正常通讯。
 
故障分析与排除:默认情况下, PIX
防火墙的局域网接口可以访问 DMZ
接口,但 DMZ
接口不能访问局域网接口,在 PIX
上用命令 show route
可以看到有一条隐藏的到 DMZ
区域的静态路由存在,也就是说配置好 DMZ
后局域网就应该可以访问 DMZ
区域服务器(但 DMZ
接口是不允许 ping
的)。
但是为什么当前配置好 DMZ
后局域网测试机器不能正常访问 DMZ
区域的服务器呢?这里需要注意一点,在局域网访问 DMZ
IP
地址时,用命令 tracert 10.0.200.2
时发现局域网访问 10.0.200.2
的数据包从因特网口出去了!根本就没有发往 DMZ
接口。所以重新加一条命令:
access-list nonat permit ip 10.0.6.0 255.255.255.0 10.0.200.0 255.255.255.0
nat (inside) 0 access-list nonat
再用  ping/tracert
命令测试结果如下:
10.0.200.2
服务器上, ping 10.0.200.1 
正常, ping 10.0.6.8 
不通;
10.0.6.8
测试机上, ping 10.0.200.1 
不通, ping 10.0.200.2
正常
ping 10.0.1.254 
正常;
 
2、
  
因特网访问 DMZ
用笔记本拨号上网,访问 [url]http://218.104.XX.XX[/url] 
显示正常,说明 DMZ
服务器发布成功。
 
3、
  DMZ
访问局域网
10.0.200.2
服务器上,利用远程桌面方式访问 10.0.6.8
(端口号被手工修改为 9989
,非标准端口 3389
),  
访问超时。
 
问题: DMZ
不能访问局域网
 
故障分析与排除:默认情况下 DMZ
区域是不能访问局域网网络的。但有些特殊情况:比如将 WEB
放在 DMZ
区,但是后台数据库放在了局域网。这样就必须使 DMZ
某些服务器可以访问局域网内特殊机器特殊端口。所以需要在 PIX
上更加策略以使 DMZ
可以访问局域网。
所以应该在策略上加一条命令:
access-list acl-DMZ permit tcp 10.0.200.0 255.255.255.0 host 10.0.6.8 eq 9989            #
允许 DMZ
可以访问 10.0.6.8
9989
端口,经测试可以正常访问。
 
 
4、
  DMZ
不能访问因特网
10.0.200.2
的机器上,访问   
不能正常显示页面。
 
问题: DMZ
不能正常访问因特网
 
故障分析与排除: DMZ
原则上是不能访问因特网的,但是因为某些特殊情况比如邮件服务器放在 DMZ
时,则必须允许该服务器访问因特网的 SMTP
协议( 25
端口),所以还必须在 DMZ
接口上应用的策略上加一条命令:
access-list acl_dmz permit tcp 10.0.200.0 255.255.255.0 any eq 80          #
允许 DMZ
访问外部网络 tcp 80
端口
access-list acl_dmz permit tcp 10.0.200.0 255.255.255.0 any eq 53          #
允许 DMZ
访问外部网络 tcp 53
端口
access-list acl_dmz permit udp 10.0.200.0 255.255.255.0 any eq 53         #
允许 DMZ
访问外部网络 udp 53
端口
加完这条命令后,测试访问   
仍然不能正常显示页面,问题依旧。
继续查找问题可能存在的问题,用命令 ping 
外网 DNS
发现可以正常 ping
通,再 ping
百度的 IP
地址发现也可以 ping
通, telnet 
百度地址的 80
端口也正常,但就是打不开百度的页面,用其他网站测试结果相同。
 
这个问题研究了很久,没有得到很好的解决办法,后来跟我的经理一起讨论研究这个问题,他让我试一下网通的 DNS
看行不行。我把 DMZ
服务器的 DNS
修改成网通 DNS
后,发现可以正常访问百度首页,其他网站也正常打开。这个问题是经验问题,因为我们公司是网通链路,而我在 DMZ
服务器上设置的是电信的 DNS
(因为这个 DNS
我记得非常熟,所以基本上做测试都用它),而没有想到电信和网通在 DNS
服务器解析上有严格的保护措施,导致最终问题解决被推迟了很长时间。
 
 
以上是我这次在 PIX 515E
上做 DMZ
配置的一些心得和体会,测试过程不是很复杂,但是相对一些初次接触 DMZ
的新手来说值得一看, DMZ
的原理都一样,只是每种设备的配置不相同而已。
 
在这里要感谢一位朋友:夕阳.流水, 在配置和排错过程中得到了她的大力帮助和支持,衷心的感谢她!HOHO~~
本文转自 cdmatong 51CTO博客,原文链接:http://blog.51cto.com/cdmatong/38937,如需转载请自行联系原作者
你可能感兴趣的文章
LYSE-模块
查看>>
Date Picker和UITool Bar控件简单介绍
查看>>
sql server 实现多表连接查询
查看>>
HTTP 1.1与HTTP 1.0的比较
查看>>
如何在命令行脚本中启动带参数的Windows服务
查看>>
abstract vs interface
查看>>
nodejs笔记1 ----关于express不是本地命令
查看>>
python debug
查看>>
docker-machine 远程安装docker
查看>>
最全的常用正则表达式大全——包括校验数字、字符、一些特殊的需求等等
查看>>
3.2 进程间通信之fifo
查看>>
WEB 开发前传——js笔记
查看>>
C++多线程编程入门(转)
查看>>
C# to IL 6 Reference and Value Types(引用类型和值类型)
查看>>
Python 爬虫十六式 - 第七式:正则的艺术
查看>>
Android Studio的使用(五)--导入第三方Jar包
查看>>
PCL学习笔记(一)
查看>>
CoreGraphics相关方法
查看>>
Node Express 初探
查看>>
回溯法-求解装载问题(类似0-1背包)
查看>>