今天我的 VPS 卡住了。Centos
7,4 核,Bind 9.11。
我从 ssh 上获取
来自 syslogd@host 的消息,时间:7 月 18 日 09:46:16 ... kernel:NMI watchdog: BUG: 软锁定 - CPU#0 卡住 41 秒![f2b/observer:1299]
从另一个正在top
运行的 ssh 屏幕我最后得到了
顶部 - 10:06:05 启动 9:22,1 个用户,平均负载:101,26, 106,77, 94,46
任务:总计 318 个,其中 80 个正在运行,218 个正在休眠,0 个已停止,20 个僵尸
从 /var/log/messages 中,我有几行类似这样的内容
7 月 18 日 09:44:04 主机名为 [1078]:客户端 @0x7fb37010e820 192.182.160.249#80 (domain.com): 查询 (缓存) ‘domain.com/RRSIG/IN’ 被拒绝 7 月 18 日 09:44:04 主机名为 [1078]:客户端 @0x7fb37010e820 192.182.160.249#80 (domain.com): 查询 (缓存) ‘domain.com/RRSIG/IN’ 被拒绝 7 月 18 日 09:44:04 主机名为 [1078]:客户端 @0x7fb37010e820 97.100.253.26#3658 (domain.com): 查询 (缓存) ‘domain.com/RRSIG/IN’ 被拒绝 7 月 18 日 09:44:04 主机名为 [1078]:客户端 @0x7fb37011cfc0 192.182.160.249#80 (domain.com): 查询 (缓存) ‘domain.com/RRSIG/IN’ 被拒绝 7 月 18 日 09:44:04 主机名为 [1078]:客户端 @0x7fb370100080 97.100.253.26#3658 (domain.com): 查询 (缓存) ‘domain.com/RRSIG/IN’ 被拒绝 7 月 18 日 09:44:04 主机名为 [1078]:客户端 @0x7fb370100080 192.182.160.249#80 (domain.com): 查询 (缓存) ‘domain.com/RRSIG/IN’ 被拒绝
重置服务器后一切正常,但几个小时后问题又出现了。
此时一切都很好,但tailf /var/log messages
输出
7 月 18 日 12:33:13 主机名为 [1017]:客户端 @0x7fcde010e820 172.58.188.22#64587 (domain.com):查询 (缓存) ‘domain.com/RRSIG/IN’ 被拒绝 7 月 18 日 12:33:18 主机名为 [1017]:客户端 @0x7fcde010e820 67.240.44.5#80 (domain.com):查询 (缓存) ‘domain.com/RRSIG/IN’ 被拒绝 7 月 18 日 12:33:21 主机名为 [1017]:客户端 @0x7fcde010e820 172.58.188.22#64587 (domain.com):查询 (缓存) ‘domain.com/RRSIG/IN’ 被拒绝 7 月 18 日 12:33:29 主机名为 [1017]:客户端 @0x7fcde010e820 172.58.188.22#64587 (domain.com):查询 (缓存) ‘domain.com/RRSIG/IN’ 被拒绝 7 月 18 日 12:33:47 主机名为 [1017]:客户端 @0x7fcde010e820 67.240.44.5#80 (domain.com):查询 (缓存) ‘domain.com/RRSIG/IN’ 被拒绝
请求间隔时间更长,因此不会造成伤害,但过一段时间……谁知道呢。
我如何拒绝来自这个已知“domain.com”(或其他)的传入请求?这是一个预算较低的服务器,无法雇用那些防止 DDOS 攻击的服务。
我最后关注了这些指示
我创建了 /etc/named/block 并在 /etc/named.conf 中添加了一个区域
它起作用了,tailf /var/log/messages
不再列出那些请求,但我不知道这样做是否是个好主意。