linux使用iptables禁用ip

iptables是什么?

iptables 是一个强大的开源软件,它是 Linux 系统内核中 netfilter 包过滤框架的一部分,用来实现防火墙功能。iptables 提供了一种灵活的方式来控制和管理进出以及通过 Linux 计算机的网络流量。

前提

我在云服务器上用docker部署了一个rabbitmq服务,页面端口为15672,现在我想让我的ip访问不了云服务器。

查看iplinux使用iptables禁用ip_第1张图片

但是这里查出来的都不是公网ip,是局域网ip,所以得先取到公网ip。

查询公网ip

点我查询公网ip
linux使用iptables禁用ip_第2张图片

查看环境

查看过滤规则

iptables -L:列出所有表(默认是 filter 表)中的链及其规则。
linux使用iptables禁用ip_第3张图片
没有什么过滤规则

docker运行rabbitmq

在这里插入图片描述

访问rabbitmq

linux使用iptables禁用ip_第4张图片
成功访问

添加过滤规则

在添加之前先把以前的规则备份一份

iptables-save > /etc/iptables.rules.bak

禁用221.238.10.234ip访问,我的公网ip为 221.238.10.234

iptables -A INPUT -s 221.238.10.234 -j DROP

linux使用iptables禁用ip_第5张图片

验证

ping云服务器ip
linux使用iptables禁用ip_第6张图片
这儿能看到已经ping不通了,但是有个奇怪的现象是我的rabbitmq竟然能访问,奇怪了(如果不是docker的服务到这一步就完成了)。
linux使用iptables禁用ip_第7张图片
页面不是来自于缓存
linux使用iptables禁用ip_第8张图片
最后我找了好久是和docker的网络有关,还需要在docker链上添加拒绝来自221.238.10.234的流量的规则

iptables -I DOCKER -s 221.238.10.234 -j DROP

linux使用iptables禁用ip_第9张图片
再次查看确实不能访问了
linux使用iptables禁用ip_第10张图片
现在这个ip算是禁用了,任何请求都进不来了。

其他命令

查看当前规则列表并确定要删除的确切规则序号
iptables -L INPUT --line-numbers
根据得到的行号删除规则(例如,若规则在第3行)
iptables -D INPUT 3
查看规则的命令
iptables -nvL

恢复备份规则
iptables-restore < /etc/iptables.rules.bak

你可能感兴趣的:(linux,tcp/ip,运维)