iptables 命令总结

-------------------------------------------------------------------------------------------

Linux包过滤防火墙概述2-1

●netfilter

1、位于Linux内核中的包过滤功能体系

2、称为Linux防火墙的“内核态”

●iptables

1、位于/sbin/iptables,用来管理防火墙规则的工具

2、称为Linux防火墙的“用户态”

—— 上述2种称呼都可以表示Linux防火墙

Linux包过滤防火墙概述2-2

包过滤的工作层次

主要是网络层,针对IP数据包

体现在对包内的IP地址、端口等信息的处理上

-------------------------------------------------------------------------------------------

iptables的表、链结构3-1

●规则链

规则的作用:对数据包进行过滤或处理

链的作用:容纳各种防火墙规则

链的分类依据:处理数据包的不同时机

●默认包括5种规则链

INPUT:处理入站数据包

OUTPUT:处理出站数据包

FORWARD:处理转发数据包

POSTROUTING链:在进行路由选择后处理数据包

PREROUTING链:在进行路由选择前处理数据包

iptables的表、链结构3-2

●规则表

表的作用:容纳各种规则链

表的划分依据:防火墙规则的作用相似

●默认包括4个规则表

raw表:确定是否对该数据包进行状态跟踪

mangle表:为数据包设置标记

nat表:修改数据包中的源、目标IP地址或端口

filter表:确定是否放行该数据包(过滤)

iptables的表、链结构3-3

●默认的表、链结构示意图

-------------------------------------------------------------------------------------------

数据包过滤的匹配流程2-1

●规则表之间的顺序

raw→mangle→nat→filter

●规则链之间的顺序

入站:PREROUTINGINPUT

出站:OUTPUTPOSTROUTING

转发:PREROUTINGFORWARDPOSTROUTING

●规则链内的匹配顺序

按顺序依次检查,匹配即停止(LOG策略例外)

若找不到相匹配的规则,则按该链的默认策略处理

数据包过滤的匹配流程2-2

●匹配流程示意图

-------------------------------------------------------------------------------------------

iptables的基本语法2-1

●语法构成

iptables  [-t 表名]  选项  [链名]  [条件]  [-j 控制类型]

[[email protected] ~]# iptables -t filter -I INPUT -p  -j REJECT

●几个注意事项

不指定表名时,默认指filter表

不指定链名时,默认指表内的所有链

除非设置链的默认策略,否则必须指定匹配条件

选项、链名、控制类型使用大写字母,其余均为小写

iptables的基本语法2-2

●数据包的常见控制类型

ACCEPT:允许通过

DROP:直接丢弃,不给出任何回应

REJECT:拒绝通过,必要时会给出提示

LOG:记录日志信息,然后传给下一条规则继续匹配

-------------------------------------------------------------------------------------------

iptables的管理选项5-1

●添加新的规则

-A:在链的末尾追加一条规则

-I:在链的开头(或指定序号)插入一条规则

[[email protected] ~]# iptables -t filter -A INPUT -p tcp -j ACCEPT
[[email protected] ~]# iptables -I INPUT -p udp -j ACCEPT
[[email protected] ~]# iptables -I INPUT 2 -p  -j ACCEPT  //-P:指定协议

iptables的管理选项5-2

●查看规则列表

-L:列出所有的规则条目

-n:以数字形式显示地址、端口等信息

-v:以更详细的方式显示规则信息

--line-numbers:查看规则时,显示规则的序号

[[email protected] ~]# iptables -L INPUT --line-numbers
Chain INPUT (policy ACCEPT)
num  target    prot  opt   source     destination
1    ACCEPT    udp  --  anywhere    anywhere
2    ACCEPT      --  anywhere    anywhere
3    REJECT      --  anywhere    anywhere   reject-with -port-unreachable
4    ACCEPT    tcp  --  anywhere    anywhere
[[email protected] ~]# iptables -n -L INPUT         //-n -L 可简写为-nL
Chain INPUT (policy ACCEPT)
target     prot   opt   source       destination
ACCEPT     udp   --   0.0.0.0/0     0.0.0.0/0
ACCEPT        --   0.0.0.0/0     0.0.0.0/0
REJECT        --   0.0.0.0/0     0.0.0.0/0   reject-with -port-unreachable
ACCEPT     tcp   --   0.0.0.0/0     0.0.0.0/0

iptables的管理选项5-3

●删除、清空规则

-D:删除链内指定序号(或内容)的一条规则

-F:清空所有的规则

[[email protected] ~]# iptables -D INPUT 3
[[email protected] ~]# iptables -n -L INPUT
Chain INPUT (policy ACCEPT)
target     prot   opt    source             destination
ACCEPT     udp   --    0.0.0.0/0           0.0.0.0/0
ACCEPT        --    0.0.0.0/0           0.0.0.0/0
ACCEPT     tcp   --    0.0.0.0/0           0.0.0.0/0
[[email protected] ~]# iptables -F
[[email protected] ~]# iptables -t nat -F
[[email protected] ~]# iptables -t mangle -F
[[email protected] ~]# iptables -t raw -F             //-F 清空所有表

iptables的管理选项5-4

●设置默认策略

-P:为指定的链设置默认规则

[[email protected] ~]# iptables -t filter -P FORWARD DROP
[[email protected] ~]# iptables -P OUTPUT ACCEPT         //默认策略要么是ACCEPT、要么是DROP

 

iptables的管理选项5-5

●常用管理选项汇总

  类别 选项 用途

添加新的规则

-A 在链的末尾追加一条规则
-I
在链的开头(或指定序号)插入一条规则


查看规则列表

-L 列出所有的规则条目
-n 以数字形式显示地址、端口等信息
-v 以更详细的方式显示规则信息
--line-numbers 查看规则时,显示规则的序号

删除、清空规则

-D 删除链内指定序号(或内容)的一条规则
-F 清空所有的规则
设置默认策略 -P 为指定的链设置默认规则

------------------------------------------------------------------------------------------

规则的匹配条件5-1

●通用匹配

可直接使用,不依赖于其他条件或扩展

包括网络协议、IP地址、网络接口等条件

●隐含匹配

要求以特定的协议匹配作为前提

包括端口、TCP标记、ICMP类型等条件

●显式匹配

要求以“-m 扩展模块”的形式明确指出类型

包括多端口、MAC地址、IP范围、数据包状态等条件

规则的匹配条件5-2

●常见的通用匹配条件

协议匹配:-p 协议名

地址匹配:-s 源地址、-d 目的地址

接口匹配:-i 入站网卡、-o 出站网卡

[[email protected] ~]# iptables -I INPUT -p  -j DROP
[[email protected] ~]# iptables -A FORWARD -p !  -j ACCEPT //!,叹号表示条件取反
[[email protected] ~]# iptables -A FORWARD -s 192.168.1.11 -j REJECT
[[email protected] ~]# iptables -I INPUT -s 10.20.30.0/24 -j DROP
[[email protected] ~]# iptables -A INPUT -i eth1 -s 192.168.0.0/16 -j DROP 
[[email protected] ~]# iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP
[[email protected] ~]# iptables -A INPUT -i eth1 -s 172.16.0.0/12 -j DROP   //eth1为外网接口

规则的匹配条件5-3

●常用的隐含匹配条件

端口匹配:--sport 源端口、--dport 目的端口

TCP标记匹配:--tcp-flags 检查范围 被设置的标记

ICMP类型匹配:--icmp-type ICMP类型

[[email protected] ~]# iptables -A FORWARD -s 192.168.4.0/24 -p udp --dport 53 -j ACCEPT
[[email protected] ~]# iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT
[[email protected] ~]# iptables -A INPUT -p  ---type 8 -j DROP  
[[email protected] ~]# iptables -A INPUT -p  ---type 0 -j ACCEPT
[[email protected] ~]# iptables -A INPUT -p  ---type 3 -j ACCEPT
[[email protected] ~]# iptables -A INPUT -p  -j DROP
 ================//丢弃SYN请求包,放行其他包 //8=请求,0=回显,3=不可达===============

规则的匹配条件5-4

●常用的显式匹配条件

多端口匹配:-m multiport --sports 源端口列表

-m multiport --dports 目的端口列表

IP范围匹配:-m iprange --src-range IP范围

MAC地址匹配:-m mac --mac-source MAC地址

状态匹配:-m state --state 连接状态

[[email protected] ~]# iptables -P INPUT DROP
[[email protected] ~]# iptables -I INPUT -p tcp -m multiport --dport 80 -j ACCEPT
[[email protected] ~]# iptables -I INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
[[email protected] ~]# iptables -P INPUT DROP
[[email protected] ~]# iptables -I INPUT -p tcp -m multiport --dport 80 -j ACCEPT
[[email protected] ~]# iptables -I INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT

规则的匹配条件5-5

●常见匹配条件汇总

  类别 条件类型 用法

通用匹配

协议匹配 -p 协议名
地址匹配 -s 源地址、-d 目的地址
接口匹配 -i 入站网卡、-o 出站网卡

隐含匹配

端口匹配 --sport 源端口、--dport 目的端口
TCP标记匹配 --tcp-flags 检查范围 被设置的标记
ICMP类型匹配 --icmp-type ICMP类型

显式匹配

多端口匹配
-m multiport --sports

//or

--dports 端口列表

IP范围匹配 -m iprange --src-range IP范围
MAC地址匹配 -m mac --mac-source MAC地址
状态匹配 -m state --state 连接状态

-------------------------------------------------------------------------------------------

时间: 2025-01-31 16:49:08

iptables 命令总结的相关文章

iptables命令使用基础(02)

一.iptables命令 规则:根据指定的匹配条件来尝试匹配每个流经此处的报文,一旦匹配成功,则由规则后面指定的处理动作进行处理: 匹配条件:分为基本匹配条件和扩展匹配条件,扩展匹配条件又分为隐式扩展和显式扩展: 基本匹配条件:源地址,目标地址,传输协议: 扩展匹配条件:需要借助于扩展模块进行指定的匹配条件: 隐式扩展:已经在基本匹配条件中指明的协议相关的扩展: 显式扩展:隐式扩展之外的其它扩展匹配条件: 处理动作:分为基本动作和扩展动作: 基本动作:ACCEPT,DROP,REJECT 扩展动

iptables 命令

iptables命令是Linux上常用的防火墙软件,是netfilter项目的一部分.可以直接配置,也可以通过许多前端和图形界面配置. 语法 iptables (选项)(参数) 选项 -t<表>:指定要操纵的表:  -A:向规则链中添加条目:  -D:从规则链中删除条目:  -I:向规则链中插入条目:  -R:替换规则链中的条目:  -L:显示规则链中已有的条目:  -F:清楚规则链中已有的条目:  -Z:清空规则链中的数据包计算器和字节计数器:  -N:创建新的用户自定义规则链:  -P:定

iptables命令基本用法(2)

iptables命令基本用法 # man iptables NAME        iptables - administration tool for IPv4 packet filtering and NAT SYNOPSIS        iptables [-t table] {-A|-C|-D} chain rule-specification        iptables [-t table] -I chain [rulenum] rule-specification       

iptables命令使用详解

iptables的主要功能是实现对网络数据包进出设备及转发的控制.当数据包需要进入设备.从设备中流出或者经该设备转发.路由时,都可以使用iptables进行控制. 环境 操作系统:CentOS7.3 ip地址:172.16.55.7 1.iptables中的"四表五链"及"堵通策略" A."四表"是指,iptables的功能--filter, nat, mangle, raw. filter, 控制数据包是否允许进出及转发(INPUT.OUTPU

iptables命令应用实例

iptables 优化规则:尽量减少规则条目,彼此不相关的匹配,用较多放在上面,属于同一功能匹配规则更严格的放在上面 一.netfilter:     四个表:raw,mangle,nat,filter     五链:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING     分别在那些链上使用         filter:INPUT,FORWARD,OUTPUT         nat:PREROUTING(DNAT),POSTROUTING(SNAT),

iptables命令、规则、参数详解

表    (table)包含4个表:4个表的优先级由高到低:raw-->mangle-->nat-->filterraw---RAW表只使用在PREROUTING链和OUTPUT链上,因为优先级最高,从而可以对收到的数据包在连接跟踪前进行处理.一但用户使用了RAW表,在某个链上,RAW表处理完后,将跳过NAT表和ip_conntrack处理,即不再做地址转换和数据包的链接跟踪处理了.filter---这个规则表是预设规则表,拥有 INPUT.FORWARD 和 OUTPUT 三个规则链,

iptables命令结构之命令

下面列出了iptables命令: --append:-A将rule-specifications指定的规则添加到规则链chain的末尾.如果分组匹配rule-specifications中的所有规则,那么目标target就会来处理它. iptables -A chain rule-specifications --jump target --delete:-D将一条或多条规则从规则链chain中删除,rule-numbers或rule-specifications指定被删除的规则. iptabl

linux下iptables命令的应用与详解

一.iptables的规则表和链. 表(tables)提供特定的功能,iptables内置了4个表,即filter表.nat表.mangle表和raw表,分别用于实现包过滤,网络地址转换.包重构(修改)和数据跟踪处理.   链(chains)是数据包传播的路径,每一条链其实就是众多规则中的一个检查清单,每一条链中可以有一 条或数条规则.当一个数据包到达一个链时,iptables就会从链中第一条规则开始检查,看该数据包是否满足规则所定义的条件.如果满足,系统就会根据 该条规则所定义的方法处理该数据

防火墙及iptables命令

防火墙: IT领域的防火墙:一整套安全隔离工具: 1. 软件防火墙: 应用软件处理逻辑而运行通用硬件实现的防火墙: iptables/netfilter 包过滤防火墙: 2. 硬件防火墙: 在硬件级别能实现一部分防火墙功能,而另一部分功能依然要基于软件实现: 防火墙的介绍:所谓防火墙,指的是工作于主机或网络的边缘,对于经由防火墙的数据报文根据预先定义的匹配规则(识别条件)进行检测,对于能够被规则匹配到的报文要采取某些预先定义好的处理机制予以处理,而对于没有被规则匹配的报文要设置默认访问控制处理机

iptables命令提取总结&lt;取自朱双印博客&gt;

以下内容只是一些命令相关的,以朱双印博客中的iptables的教程提取出来的.纯粹只是命令的总结,如果需要看理论的知识,建议去看朱老师的博客,目前还没有看到写得比这个好的了. <http://www.zsythink.net/archives/category/%e8%bf%90%e7%bb%b4%e7%9b%b8%e5%85%b3/%e9%98%b2%e7%81%ab%e5%a2%99/> 看完朱老师的博客,理论上面是理解过了,但是一些命令的东西总是要返回去找,所以自已就提取了下一些命令,写