利用iptables实现端口访问控制

根据业务需求,需要对特定的端口进行防护,可以利用iptables防火墙实现这一需求。

在部署之前,需要清楚一个事情,iptables的规则是匹配即停止的!也就是说允许访问的规则要放在前面,让他匹配,匹配到这一条后将不会向下匹配拒绝此IP访问的记录。


iptables基础命令:

iptables -F //清空防火墙规则
iptables -L //列出防火墙规则
iptables-save > ./file //导出防火墙规则
iptables-restore < ./file //导入防火墙规则


为避免出现问题,和方便更改防火墙内的规则,这里我们先将防火墙规则导出后再进行修改:

iptables-save > ./ipt.txt
vim ./ipt.txt

以保护22端口的访问为例在原有防火墙的规则上加入以下内容:(在:OUTPUT ACCEPT后加入)

...
:OUTPUT ACCEPT
-A INPUT -s 172.16.0.128/26 -p tcp --dport 22 -j ACCEPT      //允许访问的IP
-A INPUT -p tcp --dport 22 -j DROP      //拒绝对22端口的访问
...

注意!由于是匹配即停止,所以需要将允许访问的IP添加在拒绝访问之前!


导入规则:

iptables-restore < ./ipt.txt


其他资料1:

常用管理选项
添加规则
-A在链的末尾追加一条规则
-I在链的开头(或指定序号插入一条规则)
查看规则
-L列出所有规则条目
-n以数字形式显示地址端口等信息
--line-numbers查看规则时显示规则的序号
删除规则
-D删除链内指定序号(或内容)的一天规则
-F清空所有规则
默认策略-P为指定的链设置默认规则

其他资料2:

iptables过滤条件

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。