我在hosts.deny文件中拒绝了大约50k ip地址,这是由一个脚本生成的,每行最多有7个地址,并得到以下错误:
warning: /etc/hosts.deny, line 4429: missing newline or line too long第4429行位于中间位置:
ALL: 96.47.225.95, 96.47.225.96, 96.47.225.97, 96.47.225.98, 96.47.225.99, 96.56.113.123, 96.8.112.149
ALL: 98.126.161.178, 98.15.206.118, 98.159.4.16, 98.197.212.67, 98.83.135.94, 98.94.6.213, 98.94.6.78
ALL: 99.167.89.146, 99.177.96.73, 99.235.84.25, 99.244.9.103, 99.49.94.70出什么事了?
只有在连接建立时,hosts.deny文件被同时写入时,才会出现警告。(i/o、锁、写打开、读问题打开)。
发布于 2013-07-03 19:46:35
在我看来,有这么大的‘/etc/hosts.Deny’文件是没有意义的,原因有几点:
denyhosts,fail2ban,psad等.这将提供一些保护,不落入前段所述的陷阱,不受作恶者的伤害。现在,如果您确实需要维护这样的文件,您可以尝试使用一个文件,如hosts_access(5)手册中所解释的,在PATTERNS部分下:
模式访问控制语言实现以下模式:·以`/‘字符开头的字符串被视为文件名。如果主机名或地址与命名文件中列出的任何主机名或地址模式匹配,则匹配主机名或地址。文件格式为零或多行,主机名或地址模式为零或多个,由空格分隔。文件名模式可以在任何可以使用主机名或地址模式的地方使用。
我试了一试,生成了一个列表:
# echo 123.{1..255}.{1..255}.{1..254} > /etc/list将其添加到/etc/hosts.deny文件中:
# echo 'ALL: /etc/list' >> /etc/hosts.deny尝试了一些连接检查了我的日志。我无法复制你提到的警告。
https://serverfault.com/questions/520557
复制相似问题