管理杂谈OA答疑ERP答疑教程搜索

[点晴永久免费OA]通往虚无:一条 ip route add blackhole 命令,让恶意IP永坠“网络黑洞”


这是一个用来临时屏蔽特定网络地址的实用方法,使用场景非常灵活,常见的用途有两种:

  1. 优化 GitHub 访问:很多国内用户会用它来解决 GitHub 访问异常的问题。因为在国内的网络环境下,部分 GitHub 的服务器 IP 会出现无法正常访问的情况,屏蔽这些有问题的 IP 后,你的服务器就会自动选择其他可用的 IP 来连接 GitHub,从而恢复正常的访问速度和可用性。

  2. 屏蔽矿池防挖矿:服务器管理员常用它来防范恶意挖矿行为。很多服务器被黑客入侵后,会偷偷连接矿池地址进行挖矿,大量消耗服务器的算力和带宽。管理员可以把已知的矿池 IP 加入黑名单,阻止服务器连接这些地址,从而阻断挖矿行为。


什么是 "黑洞路由"?

简单来说,这就是一个网络黑名单

你只需要告诉服务器:如果要访问这些地址,直接把要发的数据包扔掉,不用尝试连接

这样一来,访问这些被屏蔽的地址时,会直接提示无法连接,不会浪费时间去反复尝试联网,也不会卡住你的其他网络请求,就像这些地址的流量被吸进了 "黑洞" 里一样,这也是它名字的由来。


一、如何设置:把有问题的 IP 加入黑名单

下面这些命令就是用来把有问题的 IP 加入黑名单的,你只需要在终端里依次执行这些命令就可以生效:

1. 屏蔽单个 IP

每一条命令对应屏蔽一个单独的 IP 地址,这些都是用户整理出的、无法正常访问的 GitHub 相关 IP。

# 设置黑洞路由
ip route add blackhole 34.120.177.193

2. 批量屏蔽整个网段

最后这条命令比较特殊,它是把整个 185.199.0.0/16 这个大网段都加入了黑名单。

这个网段里的大部分 IP 都是 GitHub 的服务器 IP,很多都存在访问问题,所以可以一次性屏蔽整个网段,不用一个个手动添加。

# 添加网段黑洞路由
ip route add blackhole 185.199.0.0/16

二、怎么看有没有生效?

设置完之后,你可以 ping 一下被屏蔽的 IP 来测试效果。

比如你屏蔽了 172.31.1.1 这个 IP 之后,尝试 ping 它,就会直接报错:

# ping 172.31.1.1
connect: Invalid argument

这个报错不是说你的网络坏了,而是说明屏蔽生效了 —— 你的服务器根本没把访问请求发出去,直接就把它丢进"黑洞"了,所以会直接提示无法连接。


查看路由表,可以看到配置了2条黑洞路由:

三、如何解除屏蔽,恢复正常?

这个屏蔽是临时的,如果你之后不想屏蔽这些地址了,随时可以解除。

解除的方法很简单,只需要把之前的 "添加" 命令,改成 "删除" 就可以了。

比如你之前加了 ip route add blackhole 172.31.1.1,想要解除的话,就执行:

sudo ip route del blackhole 172.31.1.1

执行完之后,这个 IP 的屏蔽就取消了,就可以正常访问了。如果你要解除整个网段的屏蔽,也是一样的方法,把对应的 add 改成 del 就行。

阅读原文:https://mp.weixin.qq.com/s/Mx3ELNj9qbaTep3u4dJRyg


更多精彩文章浏览...
点击右上角图标分享到朋友圈
官方网站:http://www.clicksun.cn
咨询热线:400-186-1886
服务邮箱:service@clicksun.cn