Linux iptables应用实战(一)

时间:2022-01-04 19:34:03

《Linux iptables:规则原理和基础》和《Linux iptables:规则组成》介绍了iptables的基础及iptables规则的组成,本篇通过实际操作进行iptables应用场景的实际演示。

防火墙设置策略

防火墙的设置策略一般分为两种,一种叫“通”策略,一种叫“堵”策略:

通策略,默认所有数据包是不允许通过的,对于允许的数据包定义规则。

堵策略则是,默认所有数据包是全部允许通过的,对于要拒绝的数据包定义规则。

一般来说服务器的防火墙设置都是采用第一种策略,安全性更高,本篇介绍的场景实战也是采用“通”策略。

场景实战定义

假定本篇要实现以下场景定义的规则:

1、对所有的地址开放本机的80、22、10-21端口访问;

2、对所有的地址开放ICMP协议的数据包访问;

3、其他未被允许的端口禁止访问。

iptables规则实现

实现以上定义的命令操作:

先清空所有默认规则
 

复制代码
代码如下:

iptables -F 

开放端口

复制代码
代码如下:

iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp --dport 22 -j ACCEPT

开放ICMP

复制代码
代码如下:

iptables -I INPUT -p icmp -j ACCEPT

禁止其他端口

复制代码
代码如下:

iptables -A INPUT -j REJECT

查看规则

复制代码
代码如下:

iptables -L -n

操作结果:

 

Linux iptables应用实战(一)

iptables规则定义要点

在以上的操作过程中有几个点需要注意:

1、一定要允许22端口访问,否则在输入iptables -A INPUT -j REJECT时,SSH会立即断开,无法再进行远程操作;

2、iptables -A INPUT -j REJECT一定要使用 A 命令追加到规则末尾,不能使用 I 命令插入,使拒绝操作在最后生效;

3、允许连续范围端口可以使用 起始:结束端口 来指定。