【来源】
所谓防火墙,实质上是指由软硬件组合成的一个在内外网之间构造的一种保护屏障,它是一种隔离技术。因此从物理上区分,可以分为软件和硬件防火墙,从逻辑上区分,可以分为主机和网络防火墙,而我们现在要讲到的iptables,是属于防火墙中的软件防火墙的范畴,但它只是一个命令行工具或者说是一种客户端代理,并不是真正的防火墙,用户通过这个代理,把安全设定执行到真正的防火墙框架中,这个框架叫做Netfilter
【原理】
Netfilter是Linux中的一个子项目,它的主要功能是进行数据包过滤、连接跟踪、地址转换等,而iptables则是netfilter提供的对用户数据包进行过滤、修改等操作的一种命令行工具,当数据包通过网卡进入进入内核时,它得先经过iptables的五条链,这些链都有相应的处理数据包的规则,而我们正是通过在这些链上设置规则来控制管理数据包,从而达到防火墙的功能。每当数据包到达一个链时,iptables就会从链中的所有规则逐一开始校验该数据包是否符合规则中限定的条件。若满足,系统就会根据每个规则定义的方法来处理该数据包;若不满足,iptables则继续检查下一条规则,如果该数据包不符合链中的任意规则,iptables则会该链的默认策略去处理该数据包。
【四个表】
iptables的结构是由tables组成,而tables是由链组成,链又是由具体的规则组成。因此我们在编写iptables的规则时,通过要先指定表,再指定链。tables的作用是区分不同功能的规则,并且存储这些规则。
tables的类型分别有:
【五条链】
链,也称为钩子函数,它是一系列规则的一个组合,当数据包经过这些狗子函数时,她必须完全匹配每一个钩子函数中的所有规则,方能进入下一个钩子函数。
钩子函数的类型分别有:
【语法规则】
语法:iptables [-t 表名] 命令选项 [链名] [条件匹配] [-j 目标动作或跳转]
1)常用的命令选项:
-t:指定要操纵的表(四个表);
-A:向规则链中添加条目;
-D:从规则链中删除条目;
-i:向规则链中插入条目;
-R:替换规则链中的条目;
-L:显示规则链中已有的条目;
-F:清楚规则链中已有的条目;
-Z:清空规则链中的数据包计算器和字节计数器;
-N:创建新的用户自定义规则链;
-P:定义规则链中的默认目标;
-h:显示帮助信息;
-p:指定要匹配的数据包协议类型;
-s:指定要匹配的数据包源
2)常用的处理动作:
ACCEPT:允许数据包通过
DROP:直接丢弃数据包,不给任何回应信息
REJECT: 拒绝数据包通过,必要时会给数据发送端一个响应的信息。
LOG:在/var/log/messages文件中记录日志然后将数据包传递给下一条规则
REDIRECT: 端口映射。
SNAT :源地址转换,修改包来源IP为某IP或IP范围,做内网和公网之间的转换。
DNAT::目标地址转换。 修改数据包目的地IP为某 Ip 或 IP 范围。
3)常用的条件匹配:
1、状态匹配:-m state --state 连接状态
NEW:与任何连接无关的
ESTABLISHED:响应请求或已建立连接的
RELATED:与已有连接有相关性的,如FTP数据连接
2、MAC地址匹配:-m mac --mac-source MAC地址
eg:iptables -A INPUT -m mac --mac-source f0:1b:12:12:22:4f -j DROP
3、IP范围匹配:-m iprange --src-range IP范围
eg:iptables -A FORWARD -p tcp -m iprange --src-range 192.168.0.1-192.168.0.10 -j ACCEPT
4、多端口匹配:-m multiport --sports 源端口列表 和 -m multiport --sports 目的端口列表
eg:iptables -A INPUT -p tcp -m multiport --dport 11,29,116,121 -j ACCEPT
4)常用的一些iptables策略:
1、拒绝转发来自192.168.2.33主机的数据
iptables -A FORWARD -s 192.168.2.33 -j REJECT
2、允许转发来自192.168.2.1/99网段的数据
iptables -A FORWARD -s 192.168.2.1/99 -j ACCEPT
3、允许本机开放从TCP端口20-1024提供的应用服务。
iptables -A INPUT -p tcp --dport 20:1024 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 20:1024 -j ACCEPT
4、只允许管理员从202.13.0.0/16网段使用SSH远程登录防火墙主机。
iptables -A INPUT -p tcp --dport 22 -s 202.13.0.0/16 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP
5、 允许转发来自192.168.0.0/24局域网段的DNS解析请求数据包。
iptables -A FORWARD -s 192.168.0.0/24 -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -d 192.168.0.0/24 -p udp --sport 53 -j ACCEPT
6、屏蔽ip 110.1.1.1的访问
iptables -I INPUT -s 110.1.1.1 -j DROP
7、屏蔽从123.0.0.1到123.255.255.254 iptables -I INPUT -s 123.0.0.0/8 -j DROP
8、屏蔽从从123.45.0.1到123.45.255.254 iptables -I INPUT -s 124.45.0.0/16 -j DROP
9、屏蔽从从123.45.6.1到123.45.6.254 iptables -I INPUT -s 123.45.6.0/24 -j DROP
10、允许所有本机向外的访问 iptables -A OUTPUT -j ACCEPT
11、允许访问22端口 iptables -A INPUT -p tcp --dport 22 -j ACCEPT
5)常用的iptables命令:
1、查看当前 IPTABLES 规则
service iptables status
2、 将所有iptables以序号标记显示
iptables -L -n --line-numbers
3、 比如要删除INPUT里序号为22的规则
iptables -D INPUT 22
觉得本文对你有帮助?请分享给更多人
关注「编程无界」,提升装逼技能
相关推荐
Linux防火墙:iptables禁IP与解封IP常用命令.docx
linux环境下防火墙 iptables的安装包rpm,linux环境下防火墙 iptables的安装包rpm
iptables 防火墙 linux
Linux 上 iptables 防火墙的应用教程 Linux 上的 iptables 防火墙是一种常用的防火墙软件,能够控制访问 Linux 系统的流量。iptables 防火墙的基本应用包括安装、清除规则、开放指定端口、屏蔽指定 IP、删除已添加...
第十六课linux服务器安全之防火墙iptables
Linux 防火墙软件 IPtables使用详解.docx
防火墙典型的设置是有两个网卡,一个流入,一个流出。iptables读取流入和流出的数据包的报头,然后将它们与规划集(ruleset)相比较,然后将可接受的数据包从一个网卡转发至另外一个网卡。对于被拒绝的数据包,可以被...
不错的适合练手、课程设计、毕业设计的JSP项目源码:JSP基于Iptables图形管理工具的设计与实现(源代码+论文).rar不错的适合练手、课程设计、毕业设计的JSP项目源码:JSP基于Iptables图形管理工具的设计与实现(源代码...
该文档是linux系统详细...2-linux系统笔记之Iptables防火墙篇.doc 3-linux系统笔记之lamp网站环境搭建.doc 4linux系统笔记之lNMP网站环境搭建.doc 5linux系统笔记之apache高级服务篇.doc 6linux系统笔记之服务器篇.doc
Iptables是一个基于命令行的防火墙工具,它使用规则链来允许/阻止网络流量。当一条网络连接试图在你的系统中建立时,iptables会查找其对应的匹配规则。如果找不到,iptables将对其采取默认操作。几乎所有的Linux发行...
Android 流量防火墙 Iptables 原理详解 Android 流量防火墙是一种基于 Iptables 的防火墙解决方案,旨在限制单个应用的联网状态。Iptables 是一个功能强大的 IP 信息包过滤系统,可以用于添加、编辑和删除规则,...
iptables 是 Linux 上常用的防火墙软件,本教程将介绍 iptables 的安装、清除 iptables 规章、iptables 只开放指定端口、iptables 屏蔽指定 IP、IP 段及解封、删除已添加的 iptables 规章等 iptables 的基本应用。...
linux防火墙系列iptables 很详细,希望大家喜欢
LINUX iptables 防火墙
linux iptables防火墙黑名单(封IP) Connection reset by peer
iptables建立linux防火墙iptables建立linux防火墙iptables建立linux防火墙
linux下防火墙iptables 一、基本知识 二、iptable的安装与配置 禁止端口的实例 强制访问指定的站点 发布内部网络服务器 通过NAT上网 iptables实例
学习Linux防火墙的基础教程.包括Linux下的iptables防火墙的策略的学习和精通.
Linux 防火墙 iptables 详 细 介 绍