iptables防火墙架构实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
iptables防火墙架构实验报告
班级:10网工三班学生姓名:谢昊天学号:1215134046
实验目的和要求:
1、熟悉和掌握TCP/IP协议的基础概念和方法;
2、掌握防火墙的概念、功能分类及实现方法;
3、掌握Linux系统防火墙和基于iptables的防火墙的配置方法。
4、参考课本课本P201,图9-2,完整实现SNAT的功能。
实验内容与分析设计:
防火墙在实施安全的过程中是至关重要的。一个防火墙策略要符合四个目标,而每个目标通常都不是一个单独的设备或软件来实现的。大多数情况下防火墙的组件放在一起使用以满足公司安全目的需求。防火墙要能满足以下四个目标:
1> 实现一个公司的安全策略
防火墙的主要意图是强制执行你的安全策略,比如你的安全策略需要对MAIL服务器的SMTP流量做限制,那么你要在防火墙上强制这些策略。
2> 创建一个阻塞点
防火墙在一个公司的私有网络和分网间建立一个检查点。这种实现要求所有的流量都要经过这个检查点。一旦检查点被建立,防火墙就可以监视,过滤和检查所有进出的流量。网络安全中称为阻塞点。通过强制所有进出的流量都通过这些检查点,管理员可以集中在较少的地方来实现安全目的。
3> 记录internet活动
防火墙还能强制记录日志,并且提供警报功能。通过在防火墙上实现日志服务,管理员可以监视所有从外部网或互联网的访问。好的日志是适当网络安全的有效工具之一。
4> 限制网络暴露
防火墙在你的网络周围创建了一个保护的边界。并且对于公网隐藏了内部系统的一些信息以增加保密性。当远程节点侦测你的网络时,他们仅仅能看到防火墙。远程设备将不会知道你内部网络的布局以及都有些什么。防火墙提高认证功能和对网络加密来限制网络信息的暴露。通过对所能进入的流量进行检查,以限制从外部发动的攻击。
实验详细步骤:
iptables 基本命令使用链的基本操作
1)清除预设表filter中所有规则链中的规则。
# iptables -F
2)清除预设表filter中使用者自定链中的规则。
#iptables -X
#iptables –Z
.防火墙上初始化
#service iptables stop
#iptables -F
#iptables -t nat -F
#iptables -X
#iptables -t nat -X
#iptables -Z
#iptables -t nat -Z
#iptables -P INPUT DRO
#iptables -P OUTPUT DROP
#iptables -P FORWARD DROP
#iptables -t nat -P POSTROUTING DROP
#service iptables start
2、设置链的默认策略。
首先允许所有的包
然后再禁止有危险的包通过放火墙。
指令:
#iptables -P INPUT ACCEPT
#iptables -P OUTPUT ACCEPT
#iptables -P FORWARD ACCEPT
3、列出表/链中的所有规则。默认只列出filter表。
4、向链中添加规则。下面的语句用于开放网络接口:
#iptables -A INPUT -i lo -j ACCEPT
#iptables -A OUTPUT -o lo -j ACCEPT
#iptables -A INPUT -i eth0 -j ACEPT
#iptables -A OUTPUT -o eth1 -j ACCEPT
#iptables -A FORWARD -i eth1 -j ACCEPT
#iptables -A FORWARD -0 eth1 -j ACCEPT
5、使用者自定义链。#iptables -N custom#iptables -A custom -s 0/0 -d 0/0 -p icmp -j DROP#iptables -A INPUT -s 0/0 -d 0/0 -j
DROP
二.Iptables的配置,一个是防止公网的入侵,一个是让内网的兄弟们上网。在没配IPTABLES之前,只有本机能上网。
1.Rh8.0的“系统设置”中有个“安全级别”,它主要是针对本机来说的,不能用它来配置iptables。打开“安全级别”,把它配成“无防火墙”级别。
2.为了配置、测试方便,可以先用“KWrite”编个“脚本”,采用“复制”、“粘
贴”方式,把全部语句一次性粘贴到“终端”里执行。这样修改测试都很方便。
3.打开“其他”—“辅助设施”中的“KWrite”,添加相关代码(其中,eth0、eth1分别是外、内网卡):
三.使用iptables配置NAT
想法:
用广域网IP替换xx.xx.xx.xx
用局域网IP替换yy.yy.yy.yy
(比如: 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8)
WAN = eth0 有一个外网ip地址xx.xx.xx.xx
LAN = eth1 有一个内网ip地址yy.yy.yy.yy/ 255.255.0.0
过程:
1. 添加2块网卡到Linux系统.
2. 确认网卡是否正确安装:
ls /etc/sysconfig/network-scripts/ifcfg-eth* | wc -l
结果输出应为”2″
3. 配置eth0, 使用外网ip地址(基于ip的外部网络或互连网)
4. 配置eth1, 使用局域网地址(内部网络)
5. 配置主机(可选)
cat /etc/hosts
127.0.0.1 nat localhost.localdomain localhost
6. 配置网关
7. 配置DNS
8. 使用IP Tables配置NAT
9. 测试
四.利用iptables实现SNAT服务
步骤如下:
1.分别为pc1、pc2、server配置IP。
pc1的网卡配置
pc2的网卡配置
server的双网卡配置
2.编写脚本snat.sh,其内容如下;
#!/bin/sh
modprobe ip_nat_ftp
iptables –F
iptables –t nat –F
iptables –P PORWARD ACCEPT
iptables –A FORWORD –i eth1 –d 192.168.1.0/24 –p tcp –syn –j DROP
iptables –t nat –A POSTROUTING –s 192.168.1.0/24 –o eth1 –j SNAT --to-source 218.28.21.100
3.设置脚本snat.sh具有可执行权限,使配置生效。
[root@local ~]#chmod 755 snat.sh
[root@local ~]#./snat.sh