当前位置:文档之家› iptables防火墙架构实验报告

iptables防火墙架构实验报告

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
3.测试SNAT的功能。

我们用ping命令来测试结果。

实验结果:
iptables的包过滤(使用ping ,telnet服务,web服务测试)配置ip地址
Iptables端的ip配置
Client的ip配置测试网络
Ping的测试
Tlnet的测试
Web的测试
编辑iptables的脚本,并执行脚本
编辑脚本
Ping的策略添加
Telnet的策略添加
Web的策略添加测试iptables有包过滤的功能
Ping的测试
Telent的测试
Web 的测试
(二)nat地址转换(私有转换为公有)
1.ip的配置
Iptables端的ip配置
Internet_clicent的ip配置
2.测试网站
3.编辑iptables的脚本,并执行
私有地址转换公有地址的策略4.测试
访问网站测试
client抓包测试
Internet_client抓包测试(三)发布web服务
1.测试web_server
2.编辑iptables的脚本,并执行
3.测试
(四)多个ip转换为ip一个ip
1.编辑iptables的脚本,并执行
单个设置的策略
集体设置的策略
2.client登录测试
Client抓包测试3.web_server登录测试
internet_client抓包测试(比较)
Client访问时抓包
疑难小结:
通过本次试验,了解了iptables防火墙架构部署与配置的一些基础知识,学习到了iptables防火墙架构相关的服务器操作。

学习到了设置iptables防火墙架构的相关内容,在实验过程中,通过学习我知道了iptables其实是工作在用户态的,netfilter才是真正起到防火墙的作用的,它工作在内核态,iptables只是工作在用户和netfilter之间的一个接口,通过它来调用netfilter。

从而更加深刻的理解iptables防火墙架构相关的特点。

同时,在实验过程中,回顾书本上的理论知识,巩固了我的知识。

相关主题