实验四

实验报告

实验名称

IPTABLES基本操作实验

实验地点

S408

实验日期

2023.3.9

成绩

 

实验目的

  • 了解Iptables的原理和基本命令

实验原理

1.Iptables
  Iptables 是用来设置、维护和检查Linux内核的IP包过滤规则的。
  可以定义不同的表,每个表都包含几个内部的链,也能包含用户定义的链。每个链都是一个规则列表,对对应的包进行匹配:每条规则指定应当如何处理与之相匹配的包。这被称作‘target'(目标),也可以跳向同一个表内的用户定义的链。
  Iptables中的filter表一般就是用来配置过滤用的。

2.Iptables的优点
  Iptables的最大优点是它可以配置有状态的防火墙,这是ipfwadm和ipchains等以前的工具都无法提供的一种重要功能。有状态的防火墙能够指定并记住为发送或接收信息包所建立的连接的状态。防火墙可以从信息包的连接跟踪状态获得该信息。在决定新的信息包过滤时,防火墙所使用的这些状态信息可以增加其效率和速度。这里有四种有效状态,名称分别为ESTABLISHED、INVALID、NEW和RELATED。
  状态ESTABLISHED指出该信息包属于已建立的连接,该连接一直用于发送和接收信息包并且完全有效。INVALID状态指出该信息包与任何已知的流或连接都不相关联,它可能包含错误的数据或头。状态NEW意味着该信息包已经或将启动新的连接,或者它与尚未用于发送和接收信息包的连接相关联。最后,RELATED表示该信息包正在启动新连接,以及它与已建立的连接相关联。
  iptables的另一个重要优点是,它使用户可以完全控制防火墙配置和信息包过滤。用户可以定制自己的规则来满足特定需求,从而只允许用户想要的网络流量进入系统。
  另外,iptables是免费的,这对于那些想要节省费用的人来说十分理想,它可以代替昂贵的防火墙解决方案。

3.链表结构
  四个表:iptables由四个表:filter,nat,mangle,raw,默认表是filter(没有指定表的时候就是filter表)。表的处理优先级:raw>mangle>nat>filter。
  filter:一般的过滤功能
  nat:用于nat功能(端口映射,地址映射等)
  mangle:用于对特定数据包的修改
  raw:有限级最高,设置raw时一般是为了不再让iptables做数据包的链接跟踪处理,提高性能。

  五个链:这五个规则链也被称为五个钩子函数(hook functions),五个位置。
  REROUTING (路由前):内核空间中,从一个网络接口进来,到另一个网络接口去的
  INPUT (数据包流入口):数据包从内核流入用户空间的
  FORWARD (转发管卡):数据包从用户空间流出的
  OUTPUT(数据包出口):进入/离开本机的外网接口
  POSTROUTING(路由后):入/离开本机的内网接口

实验设备\软件\平台等

Linux 红亚平台

实 验 内 容 与 实 验 记 录(拓扑图\配置图\流程图\线路图\效果图\代码(段)\运行结果\实验步骤等)

 

1:查看IPTABLES的版本号

2:查看安装路径

3:查看帮助文件

4:查看filter表的规则

5:查看NAT表的规则

6:查看mangle表的规则

7:查看raw表中的规则

8:查看iptables的四张表

9:查看NAT表prerouting链中的规则

10:

11:查看有哪些共同traget(目标)

12:删除每个非内建的链

13:清空链中的rule

实验结果分析及结论

规则的顺序非常重要。

如果报文已经被前面的规则匹配到,IPTABLES则会对报文执行对应的动作,通常是ACCEPT或者REJECT,报文被放行或拒绝以后,即使后面的规则也能匹配到刚才放行或拒绝的报文,也没有机会再对报文执行相应的动作了(前面规则的动作为LOG时除外),所以,针对相同服务的规则,更严格的规则应该放在前面。

2、当规则中有多个匹配条件时,条件之间默认存在”与”的关系。

如果一条规则中包含了多个匹配条件,那么报文必须同时满足这个规则中的所有匹配条件,报文才能被这条规则匹配到。

posted @ 2023-03-22 23:08  0xMarvin  阅读(21)  评论(0)    收藏  举报