iptables 学习笔记

以下学习笔记均以 Centos 5.2 系统环境下的实验。

1、启动 iptables 服务。

service iptables start。
通过 service iptables status 可以看到当前 iptables 的服务状态。
如果需要 iptables 服务随服务器启动,则可以通过 chkconfig –level 345 iptalbes on 来实现。

2、iptables 的基本语法。

iptables –A chain –j target
-A 表示在现存的规则集合内后补一条规则
chain 是规则所在的“链”的名称。iptables 有三个内建的链(即影响每一个在网络中经过的分组的链),INPUT、OUTPUT和FORWARD。这些链是永久性的,不能删除。
-j target 表示 iptables 应该“跳”(jump)到规则集中的哪条规则。内建的目标有:ACCEPT、DROP 和 REJECT。
-N 选项可以被用来创建新链。

3、基本的防火墙政策

iptables 使用政策(Policy, –P)来创建规则。
iptables –P INPUT DROP
iptables –P OUTPUT DROP
iptables –P FORWARD DROP
以上三条规则的应用可以使服务器拒绝所有的网络通信。编写规则后,规则只在服务器处于启动状态时才有效,如果系统被重新引导,这些规则就会失效。如果希望保留,则需要执行:
/sbin/service iptables save

4、常用 iptables 过滤规则。

iptables –A INPUT –p tcp –m tcp –sport 80 –j ACCEPT
iptables –A OUTPUT –p tcp –m tcp –dport 80 –j ACCEPT
但是在 CentOs 5.2 中,情况稍有不同。默认的 INPUT、OUTPUT、FORWARD 都是 ACCEPT 的,但是另外还有一个 RH-Firewall-1-INPUT 的规则链,我们可以通过修改 /etc/sysconfig/iptables 文件来实现打开80端口。

cocowool

A FULL STACK DREAMER!