iptables 命令

iptables命令是Linux上常用的防火墙软件,是netfilter项目的一部分。可以直接配置,也可以通过许多前端和图形界面配置。

语法

iptables (选项)(参数)

选项

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

iptables命令选项输入顺序:

iptables -t  <-A/I/D/R>  [规则号]<-i/o 网卡名> -p 协议名 <-s 源IP/源子网> --sport 源端口 <-d 目标IP/目标子网>--dport 目标端口 -j

表名包括:

raw:高级功能,如:网址过滤。

mangle:数据包修改(QOS),用于实现服务质量。

nat:地址转换,用于网关路由器。

filter:包过滤,用于防火墙规则。

规则链名包括:

INPUT链:处理输入数据包。

OUTPUT链:处理输出数据包。

PORWARD链:处理转发数据包。

PREROUTING链:用于目标地址转换(DNAT)。

POSTOUTING链:用于源地址转换(SNAT)。

运作包括:

accept:接收数据包。

DROP:丢弃数据包。

REDIRECT:重定向、映射、透明代理。

SNAT:源地址转换。

DNAT:目标地址转换。

MASQUERADE:IP伪装(NAT),用于ADSL。

LOG:日志记录。

实例

清除已有iptables规则

iptables -F
iptables -X
iptables -Z

开放指定的端口

iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT #允许本地回环接口(即运行本机访问本机) 
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #允许已建立的或相关连的通行 
iptables -A OUTPUT -j ACCEPT #允许所有本机向外的访问 
iptables -A INPUT -p tcp --dport 22 -j ACCEPT #允许访问22端口 
iptables -A INPUT -p tcp --dport 80 -j ACCEPT #允许访问80端口 
iptables -A INPUT -p tcp --dport 21 -j ACCEPT #允许ftp服务的21端口 
iptables -A INPUT -p tcp --dport 20 -j ACCEPT #允许FTP服务的20端口 
iptables -A INPUT -j reject #禁止其他未允许的规则访问 
iptables -A FORWARD -j REJECT #禁止其他未允许的规则访问

屏蔽IP

iptables -I INPUT -s 123.45.6.7 -j DROP #屏蔽单个IP的命令 
iptables -I INPUT -s 123.0.0.0/8 -j DROP #封整个段即从123.0.0.1到123.255.255.254的命令 
iptables -I INPUT -s 124.45.0.0/16 -j DROP #封IP段即从123.45.0.1到123.45.255.254的命令 
iptables -I INPUT -s 123.45.6.0/24 -j DROP #封IP段即从123.45.6.1到123.45.6.254的命令是

查看已添加的iptables规则

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DROP       tcp  --  *      *       12.12.12.12          0.0.0.0/0    tcp dpt:80
    0     0 ACCEPT     all  --  *      *       127.0.0.1            127.0.0.1           
   50  4952 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0        state RELATED,ESTABLISHED 
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0    tcp dpt:22
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0    tcp dpt:80
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0    tcp dpt:21
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0    tcp dpt:20
    
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination  
        
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
   25  3924 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0

删除已添加的iptables规则

将所有iptables以序号标记显示,执行:

Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    DROP       tcp  --  12.12.12.12          0.0.0.0/0           tcp dpt:80 
2    ACCEPT     all  --  127.0.0.1            127.0.0.1           
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:22 
5    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 
6    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:21 
7    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:20 
Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination         
Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0

比如要删除INPUT里序号为8的规则,执行:

iptables -D INPUT 8

保存iptables规则

[[email protected] ~]# /etc/init.d/iptables saveiptables: Saving firewall rules to/etc/sysconfig/iptables:                    [

iptables配置文件

[[email protected] ~]# cat /etc/sysconfig/iptables

备份iptables规则

[[email protected] ~]# iptables-save > iptables.txt

还原iptables规则

[[email protected] ~]# iptables-restore < iptables.txt
时间: 2024-10-05 08:47:48

iptables 命令的相关文章

iptables命令使用基础(02)

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

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/> 看完朱老师的博客,理论上面是理解过了,但是一些命令的东西总是要返回去找,所以自已就提取了下一些命令,写