Linux实验:iptables防火墙配置

Linux实验:iptables防火墙配置

一、实验的目的
(一)熟悉本机防火墙的配置。
(二) 熟悉包过滤防火墙的测试。

二、实验环境
Linux主机,ip:192.168.80.3
Windows客户端,ip:192.168.80.1

三、实验过程(补充实验细节,记录和整理输出,必要时评述)
(一) Linux主机开放FTP、HTTP服务
service vsftpd start
#service httpd start

(二)在Linux主机, 创建单机防火墙脚本fw. sh
功能:1)清空INPUT 链,2)开放回送接口lo,3)对所在子网开放FTP,SSH,HTTP服务,4)允许回复包,5)除此以外,拒绝所有输入数据包。
#cat>fw.sh
#! /bin/bash
LAN=192.168.80.0/24
iptables -F INPUT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp -s $LAN --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -s $LAN --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -s $LAN --dport 80 -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -j DROP
说明:#!指定脚本程序的命令解释器为bash,-F代表清空INPUT链,脚本中没有-t指明表名,默认为filter表,iptables -A INPUT -i lo -j ACCEPT代表开放回送接口,lo为loopback的意思,21代表vsftpd,22代表sshd,80代表httpd,iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT代表允许回复包,即包通过后必定能回复。

(三)执行该脚本# sh fw.sh
#sh fw.sh

(四)在Windows客户端,测试SSH服务
在Windows中打开putty,输入192.168.80.3后登录
结果:
login as: root
[email protected]’s password:
Last login: Wed May 29 08:10:10 2019 from 192.168.80.1
说明:
iptables -A INPUT -p tcp -s $LAN --dport 22 -j ACCEPT生效。

(五)在Windows客户端,测试FTP服务
在Windows打开cmd,输入ftp 192.168.80.3
结果:
连接到 192.168.80.3。
220 (vsFTPd 2.2.2)
200 Always in UTF8 mode.
用户(192.168.80.3:(none)): yanji
331 Please specify the password.
密码:
230 Login successful.
说明:
防火墙规则iptables -A INPUT -p tcp -s $LAN --dport 21 -j ACCEPT生效,如果在fw.sh脚本中将该防火墙规则注释掉,重新执行脚本后,连接ftp时的结果为ftp: connect :连接超时。

(六)在Windows客户端,测试HTTP服务
#cd /var/www/html
#cat 2016344125.html
结果:
2016344125
在Windows的IE浏览器的地址栏中输入http://192.168.80.3/2016344125.html
结果:
2016344125
说明:
防火墙规则iptables -A INPUT -p tcp -s $LAN --dport 80 -j ACCEPT生效,如果在fw.sh脚本中将该防火墙规则注释掉,重新执行脚本,清空浏览器缓存后,再次访问http://192.168.80.3/2016344125.html的结果为无法访问此网站,192.168.80.3 的响应时间过长。

(七)在Windows客户端, 测试ping
在Windows打开cmd,输入ping 192.168.80.3
结果:
正在 Ping 192.168.80.3 具有 32 字节的数据:
请求超时。
请求超时。
请求超时。
请求超时。
192.168.80.3 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 0,丢失 = 4 (100% 丢失),
说明:
由于防火墙脚本中没有开放icmp服务,最后命令为拒绝所有输入数据包,所以ping不通。

你可能感兴趣的:(Linux)