配置PIX515E DMZ的基本方法与故障排除

简介:
一、基本环境
 
当前公司有 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 i p 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 的机器上,访问  [url]www.baidu.com[/url]  不能正常显示页面。
 
问题: 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 端口
加完这条命令后,测试访问  [url]www.baidu.com[/url]  仍然不能正常显示页面,问题依旧。
继续查找问题可能存在的问题,用命令 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,如需转载请自行联系原作者
目录
相关文章
【鸿蒙4.0】ArkUI组件-Image
【鸿蒙4.0】ArkUI组件-Image应用及需要注意的问题
717 3
|
网络协议 网络架构
|
11月前
|
运维 测试技术 Linux
关于Stress 压力测试工具的介绍与使用
在日益复杂的计算环境中,保证系统的稳定性和性能成为了每个Linux管理员的核心任务。面对不断增长的数据量和业务需求,如何有效评估系统极限和潜在瓶颈? 压力测试工具:stress,成为了不可或缺的助手。这篇记录描述stress工具的使用方法及其在模拟真实负载中的实用性。
关于Stress 压力测试工具的介绍与使用
|
8月前
|
存储 缓存 安全
如何保证接口幂等性,幂等性到底是干什么的
本文介绍了幂等性原则及其在程序中的应用。首先定义了幂等性,即无论执行多少次,结果不变的特性,并区分了幂等与非幂等操作。接着详细探讨了实现幂等性的策略,如使用唯一标识符、幂等性标记字段、乐观锁版本控制等。最后,通过Java示例展示了如何实现无状态幂等操作,并强调了幂等性在分布式系统和高并发场景下的重要性。
531 0
|
10月前
|
运维 持续交付 网络安全
自动化运维:Ansible与Terraform的比较
【8月更文挑战第16天】Ansible和Terraform都是自动化运维领域的重要工具,它们各自以其独特的功能和优势在市场中占据了一席之地。在选择使用哪个工具时,用户应根据自己的实际需求和应用场景进行综合考虑。如果主要关注系统配置管理和应用程序部署,那么Ansible可能是一个更好的选择;如果主要关注基础设施的自动化部署和管理,那么Terraform可能更适合您的需求。
|
域名解析 缓存 监控
【域名解析 DNS 专栏】DNS 查询日志分析:洞察网络行为与优化建议
【5月更文挑战第28天】DNS查询日志分析对于理解和优化网络行为至关重要。通过日志,可洞察用户访问偏好、流量分布,进而进行缓存优化、负载均衡和安全检测。简单Python代码示例展示了如何读取和分析日志。根据分析结果,可针对性设置优化策略,提升网络性能、稳定性和安全性。不断探索新的分析方法,充分挖掘DNS查询日志的价值,以驱动网络持续优化。
530 3
|
负载均衡 算法 应用服务中间件
Nginx+Tomcat实现反向代理与负载均衡入门
Nginx+Tomcat实现反向代理与负载均衡入门
536 0
|
存储 网络安全 定位技术
渗透测试CTF-图片隐写的详细教程2(干货)
渗透测试CTF-图片隐写的详细教程2(干货)
渗透测试CTF-图片隐写的详细教程2(干货)
|
前端开发 Java 应用服务中间件
IDEA+springboot部署前端项目无法访问数据404问题
IDEA+springboot部署前端项目无法访问数据404问题
|
存储 安全 网络安全
《内网安全攻防》DMZ访问控制策略(干货!)
《内网安全攻防》DMZ访问控制策略(干货!)
693 0