利用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过滤条件
发表评论