Linux iptables防火墙实验

实验要求

1. 利用Linux自带的iptables配置防火墙。完成如下配置:
要求:(1)阻止任何外部世界直接与防火墙内部网段直接通讯
(2)允许内部用户通过防火墙访问外部HTTP服务器允许内部用户通过防火墙访问外部HTTPS服务器
(3)允许内部用户通过防火结防问外部FTP服务器。
(4)其余功能可自行添加,作为加分项。
Linux iptables防火墙实验_第1张图片

iptables防火墙简介

在linux上设置防火墙规则时,一定要先用uname -r 追踪一下内核版本,2.4和2.6使用的是iptables防火墙机制
在这里插入图片描述
iptables里面有多个表格,每个表格都定义出自己的默认策略和规则,
1、规则链
规则的作用在于对数据包进行过滤或处理,根据处理时机的不同,各种规则被组织在不同的“链”中规则链是防火墙规则/策略的集合

默认的5种规则链
INPUT:处理入站数据包
OUTPUT:处理出站数据包
FORWARD:处理转发数据包
POSTROUTING链:在进行路由选择后处理数据包
PREROUTING链:在进行路由选择前处理数据包
2、规则表
具有某一类相似用途的防火墙规则,按照不同处理时机区分到不同的规则链以后,被归置到不同的“表”中规则表是规则链的集合

默认的4个规则表
raw表:确定是否对该数据包进行状态跟踪
mangle表:为数据包设置标记
nat表:修改数据包中的源、目标IP地址或端口
filter表:确定是否放行该数据包(过滤)
3、规则表间的优先顺序
依次为:raw、mangle、nat、filter

raw(PREROUTING、OUTPUT)
mangle(INPUT、OUTPUT、FORWARD、 POSTROUTING、PREROUTING)
nat(POSTROUTING、PREROUTING、OUTPUT)
filter(INPUT、FORWARD、OUTPUT)

规则链间的匹配顺序
入站数据:PREROUTING、INPUT
出站数据:OUTPUT、POSTROUTING
转发数据:PREROUTING、FORWARD、POSTROUTING

规则链内的匹配顺序
按顺序依次进行检查,找到相匹配的规则即停止(LOG策略会有例外)
若在该链内找不到相匹配的规则,则按该链的默认策略处理

4、iptables命令的语法格式
iptables [-t 表名] 管理选项 [链名] [条件匹配] [-j 目标动作或跳转]
-t<表>:指定要操纵的表;
-A:向规则链中添加条目;
-D:从规则链中删除条目;
-i:向规则链中插入条目;
-R:替换规则链中的条目;
-L:显示规则链中已有的条目;
-F:清楚规则链中已有的条目;
-Z:清空规则链中的数据包计算器和字节计数器;
-N:创建新的用户自定义规则链;
-P:定义规则链中的默认目标;
-h:显示帮助信息;
-p:指定要匹配的数据包协议类型;
-s:指定要匹配的数据包源ip地址;
-j<目标>:指定要跳转的目标;
-i<网络接口>:指定数据包进入本机的网络接口;
-o<网络接口>:指定数据包要离开本机所使用的网络接口。

几个注意事项
不指定表名时,默认表示filter表
不指定链名时,默认表示该表内所有链
除非设置规则链的缺省策略,否则需要指定匹配条件

实验过程

创建三台虚拟机分别为,外网,网关,内网
在这里插入图片描述
三台机器都先关闭防火墙,关闭SELINUX,挂载镜像(每个实验的基本操作)
Linux iptables防火墙实验_第2张图片
挂载镜像在CD/DVD这里设置如图,使用ISO镜像文件内应加入正确镜像
Linux iptables防火墙实验_第3张图片
点击VM的编辑框打开虚拟网络编辑器将VMnet1和VMnet2的子网设置成内外网的网段,并且将使用本地DHCP服务将IP地址分配给虚拟机关闭
Linux iptables防火墙实验_第4张图片

一.配置

  1. 配置网关

(1)在右下角添加网络适配器然后两个适配器分别为连接内网的NAT和连接外网的VMnet8
Linux iptables防火墙实验_第5张图片

(2)转到配置IP的文件下 cd /etc/sysconfig/network-scripts/
mv ifcfg-eth0 ifcfg-eth1 重命名,为了与网卡名一致
cp ifcfg-eth1 ./ifcfg-eth2 复制给eth2用来配置eth2
ls查看文件下如图所示有eth1和eth2Linux iptables防火墙实验_第6张图片
(3)修改网卡1(连接内网的网卡)
vim ifcfg-eth1
在这里插入图片描述
内容为(不会配IP的看不懂的看我的另一篇博客)
Linux iptables防火墙实验_第7张图片
IP要与内网的IP在同一网段
(4)修改网卡2(连接外网的网卡)

vim ifcfg-eth2
在这里插入图片描述

内容为(这里设置一个网关,最后一位最好为2)
Linux iptables防火墙实验_第8张图片
IP地址要与外网的IP在同一网段
(5)重启网络服务
service network restart
Linux iptables防火墙实验_第9张图片
(6)配置转发文件

在这里插入图片描述
配置文件如下
只需将net.ipv4.ip_forward改为1就行了
Linux iptables防火墙实验_第10张图片
加载
Linux iptables防火墙实验_第11张图片
网关配置完成!

2.配置内网
(1)网络适配器设置为NAT模式
Linux iptables防火墙实验_第12张图片

(2)修改配置文件
进入配置文件目录,修改配置文件vim ifcfg-eth0

Linux iptables防火墙实验_第13张图片
修改如下
Linux iptables防火墙实验_第14张图片
内网的ip与网关的网卡1的IP应该处于同一网段,内网的网关(GATEWAY)为连接内网的网关的eth1的IP地址,并设置DNS服务器
(3)重启网络服务 service network restart
Linux iptables防火墙实验_第15张图片
内网配置成功
3.配置外网
(1)配置网络适配器为VMnet8
Linux iptables防火墙实验_第16张图片
(2)配置IP

Linux iptables防火墙实验_第17张图片
内容如下IP要与网关的eth2处于同一网段
网关(GATEWAT)为LINUX WG中连接外网的eth2的ip地址
Linux iptables防火墙实验_第18张图片

(3)重启网络服务Linux iptables防火墙实验_第19张图片
外网配置成功
4.验证

外网内网能互相ping通
Linux iptables防火墙实验_第20张图片
Linux iptables防火墙实验_第21张图片
连接成功
二.设置防火墙策略
1.禁止外网与内网通信
内网ping外网,一开始ping通,在网关设置防火墙策略后ping立刻就中断了,
Linux iptables防火墙实验_第22张图片

网关配置防火墙,因为ping使用的ICMP数据包,所以将其拒绝
Linux iptables防火墙实验_第23张图片
-L怎么看
target:代表进行的操作,ACCEPT是放行,REJECT是拒绝,DROP丢弃
prot:代表使用数据包协议,主要有TCP,UDP,ICMP三种
opt:额外的选项说明
source:代表此规则是针对哪个来源IP进行限制
destination:代表此规则是针对哪个目标IP进行限制

2.HTTP服务

可以连接学校官网www.xiyou.edu.cn,使用的是HTTP服务
Linux iptables防火墙实验_第24张图片

在网关输入拒绝80端口的HTTP服务后,
Linux iptables防火墙实验_第25张图片
再次连接,无法连接
Linux iptables防火墙实验_第26张图片

3.HTTPS服务
连接百度https
Linux iptables防火墙实验_第27张图片
输入拒绝443端口的https服务访问
Linux iptables防火墙实验_第28张图片
连接失败
Linux iptables防火墙实验_第29张图片
4.FTP服务

Linux iptables防火墙实验_第30张图片
配置防火墙策略后,
Linux iptables防火墙实验_第31张图片
连接失败

丢弃所有入站和出站的数据包

Linux iptables防火墙实验_第32张图片

配置入站和出站链默认是拒绝,其它链都是允许
iptables -F
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD ACCEPT

你可能感兴趣的:(Linux iptables防火墙实验)