iptables用于设置、维护和检查Linux内核的IP分组过滤规则。Linux下一道防火墙,功能非常强大,它有三个表,每个表都有规则链。
(1)filter 是默认表,包括内建链 INPUT(处理进入的分组),FORWARD(处理通过的分组)和OUTPUT(处理本地生成的分组)。
(2)nat查询表时,表示遇到了由三个内建链组成的新连接分组:PREROUTING(修改后的分组),OUTPUT(修改路由前的本地分组),POSTROUTING(修改准备出去的分组)。
(3)mangle表用于修改指定的分组。它有两个内部建筑规则:PREROUTING(修改路由前进入的分组)和OUTPUT(修改路由前的本地分组)。以下简要介绍iptables常用配置。
1. 查看iptables规则
查看当前的iptables策略,使用iptables-L默认查看命令filter表的内容如下:
2. 设置chain策略
对于filter表,默认的chain策略为ACCEPT,可通过以下命令进行修改chain的策略:
上述命令配置将丢弃接收、转发和分组,并实施相对严格的分组管理。由于接收和分组被设置为丢弃,因此在进一步配置其他规则时应注意 INPUT和OUTPUT分别配置。当然,如果信任本机分组,则无需配置上述第三条规则。
3. 清空现有规则
现有规则可用于清空现有规则:
4. 网口转发规则
对于用作防火墙或网关的服务器,将网口连接到公共 *** ,将其他网口分组转发到网口,实现内部 *** 与公共 *** 的通信eth0连接内网,eth1配置规则如下:
5. 端口转发规则
命令将888端口分组转发到22端口,也可以通过888端口进行SSH连接:
6. DoS攻击防范
使用扩展模块limit,还可以配置iptables规则,实现DoS攻击防范如下:
--litmit 25/minute 指示每分钟更大连接数为25。
--litmit-burst 100 指示当总连接数超过100时,启动litmit/minute限制。