导读 iptables是用来设置、维护和检查Linux内核的IP分组过滤规则的。作为Linux下的一款防火墙,它的功能十分强大,它有3个表,每个表内有规则链。

iptables是用来设置、维护和检查Linux内核的IP分组过滤规则的。作为Linux下的一款防火墙,它的功能十分强大,它有3个表,每个表内有规则链。

(1)filter 是默认的表,包含了内建的链 INPUT(处理进入的分组)、FORWARD(处理通过的分组)和OUTPUT(处理本地生成的分组)。

(2)nat表被查询时表示遇到了产生新的连接的分组,由3个内建的链构成:PREROUTING(修改到来的分组)、OUTPUT(修改路由之前本地的分组)、POSTROUTING(修改准备出去的分组)。

(3)mangle表用来对指定的分组进行修改。它有2个内建规则:PREROUTING(修改路由之前进入的分组)和OUTPUT(修改路由之前本地的分组)。下面简单介绍iptables的常用配置。

1. 查看iptables规则

查看当前的iptables策略,使用iptables-L,默认查看的是filter表的内容,如下:

root@linuxprobe:~# iptables-L  
Chain INPUT(policy ACCEPT)  
target prot opt source destination  
f2b-sshd tcp – anywhere anywhere multiport dports ssh 
Chain FORWARD(policy ACCEPT)  
target prot opt source destination  
Chain OUTPUT(policy ACCEPT)  
target prot opt source destination  
Chain f2b-sshd(1 references)  
target prot opt source destination  
RETURNall-anywhere anywhere 
2. 设置chain策略

对于filter表,默认的chain策略为ACCEPT,可以通过以下修改chain的策略:

root@linuxprobe:~# iptables-P INPUT DROP  
root@linuxprobe:~# iptables-P FORWARD DROP  
root@linuxprobe:~# iptbales-P OUTPUT DROP 

以上命令配置将接收、转发和发出分组均丢弃,施行比较严格的分组管理。由于接收和发分组均被设置为丢弃,当进一步配置其他规则的时候,需要注意针对 INPUT和OUTPUT分别配置。当然,如果信任本机器往外发分组,上面第3条规则可不必配置。

3. 清空已有规则

可以用以下规则来清空已有的规则:

root@linuxprobe:~# iptables-F 
4. 网口转发规则

对于用作防火墙或网关的服务器,一个网口连接到公网,其他网口的分组转发到该网口实现内网向公网通信,假设eth0连接内网,eth1连接公网,配置规则如下:

root@linuxprobe:~# iptables-A FORWARD-i eth0-o eth1-j ACCEPT 
5. 端口转发规则

命令将888端口的分组转发到22端口,因而通过888端口也可进行SSH连接:

root@linuxprobe:~# iptables-t nat-A PREROUTING-p tcp-d 192.168.1.1 –dport 888-j DNAT--to 192.168.1.1:22 
6. DoS攻击防范

利用扩展模块limit,还可以配置iptables规则,实现DoS攻击防范,如下所示:

root@linuxprobe:~# iptables-A INPUT-p tcp –dport 80-m limit –limit 25/minute--limit-burst 100-j ACCEPT 

--litmit 25/minute 指示每分钟限制最大连接数为25。

--litmit-burst 100 指示当总连接数超过100时,启动litmit/minute限制。

原文来自:

本文地址://q13zd.cn/iptables-config-linux.html编辑:黑曜羽,审核员:逄增宝

Linux命令大全:

Linux系统大全:

红帽认证RHCE考试心得: