iptables 配置详解

常用命令:

iptables -A 将一个规则添加到链末尾

iptables -D 将指定的链中删除规则

iptables -F 将指定的链中删除所有规则

iptables -I 将在指定链的指定编号位置插入一个规则

iptables -L 列出指定链中所有规则

iptables -t nat -L 列出所有NAT链中所有规则

iptables -N 建立用户定义链

iptables -X 删除用户定义链

iptables -P 修改链的默认设置,如将iptables -P INPUT DROP (将INPUT链设置为DROP)

常见设置参数介绍:

--dport 指定目标TCP/IP端口 如 –dport 80

--sport 指定源TCP/IP端口 如 –sport 80

-p tcp 指定协议为tcp

-p icmp 指定协议为ICMP

-p udp 指定协议为UDP

-j DROP 拒绝

-j ACCEPT 允许

-j REJECT 拒绝并向发出消息的计算机发一个消息

-j LOG 在/var/log/messages中登记分组匹配的记录

-m mac –mac 绑定MAC地址

-m limitlimit 1/s 1/m 设置时间策列

-s 10.10.0.0或10.10.0.0/16 指定源地址或地址段

-d 10.10.0.0或10.10.0.0/16 指定目标地址或地址段

-s ! 10.10.0.0 指定源地址以外的

配置Filter表防火墙

0.查看防火墙的配置信息:

iptables -L -n 

1.清除现有的防火墙规则:

清除预设表filter中的所有规则链的规则

iptables -F 

清除预设表filter中使用者自定链中的原则

iptables -X 

保存防火墙设置

/etc/init.d/iptables save

或者

service iptables save

2.设定预设规则

-- 请求接入包丢弃 

[root@home ~]# iptables -p INPUT DROP

-- 接受响应数据包

[root@home ~]# iptables -p OUTPUT ACCEPT

-- 转发数据包丢弃

[root@home ~]# iptables -p FORWARD DROP

3.添加防火墙规则

首先添加INPUT链,INPUT链的默认规则是DROP,所以我们就写需要ACCETP(通过)的链。

开启SSH服务端口

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

iptables -A INPUT -p tcp --sport 22 -j ACCEPT

对某一类网络进行限制

只允许10.108.13.44访问

iptables -A INPUT -s 10.108.13.44 -p tcp --dport 22 -j ACCEPT

对一类网络进行限制(仅运训172.16.43.0/24网段的机器进行ssh连接)

iptables -A INPUT -s 172.16.43.0/24 -p tcp --dport 22 -j ACCEPT