如何编辑hosts.deny和hosts.allow?


17

我想阻止Ubuntu中的某些主机,所以如何编辑hosts.deny文件以阻止某些主机,例如example.com。

我已经dnsmasq在Ubuntu中安装了另一件事,那么我可以检查缓存的dns的条目dnsmasq吗?如果是,那怎么办?

提前致谢。

Answers:


20

hosts.deny 例:

ALL: 192.168.1.2
ALL: example.org

这将拒绝所有服务到192.168.1.2和example.org。有关更多信息,请在此处查看:http : //linux.about.com/od/commands/l/blcmdl5_hostsde.htm

dnsmasq -d 应该给您缓存的条目,但是我对此不太确定。

-更新-

要使用iptables阻止IP地址,请执行以下操作:

iptables -A INPUT -s 11.22.33.44 -j DROP

解除封锁:

iptables -D INPUT -s 11.22.33.44 -j DROP

dnsmasq -d:-> dnsmasq:无法创建侦听套接字:地址已在使用中
codeomnitrix 2011年

我已经在hosts.deny文件中完成了所有操作:78.159.111.140。但是,此页面仍在我的浏览器中加载。
codeomnitrix 2011年

5
Hosts.deny会阻止那些IP在您的计算机上访问服务,但您正在访问它们的服务器。您可以像这样使用iptables或编辑/ etc / hosts:127.0.0.1
78.159.111.140

那么如何阻止我的计算机用户访问该服务器?
codeomnitrix 2011年

嘿,您
能再

7

hosts.allowhosts.deny已弃用。TCP包装程序,基于主机的访问控制,http://en.wikipedia.org/wiki/TCP_Wrapper使用它们

如果要阻止对服务的访问,则需要查找该服务是否已使用TCP包装程序进行了编译。我非常怀疑Ubuntu服务仍然使用TCP包装程序。

/lib/libwrap.so.0 如果要检查lighttpd(Web服务器)是否支持TCP Wrappers,请找到TCP Wrappers库。

> ldd /usr/sbin/lighttpd
    linux-vdso.so.1 =>  (0x00007fff2a5ff000)
    libpcre.so.3 => /lib/libpcre.so.3 (0x00007f69af837000)
    libdl.so.2 => /lib/libdl.so.2 (0x00007f69af633000)
    libattr.so.1 => /lib/libattr.so.1 (0x00007f69af42d000)
    libssl.so.0.9.8 => /lib/libssl.so.0.9.8 (0x00007f69af1db000)
    libcrypto.so.0.9.8 => /lib/libcrypto.so.0.9.8 (0x00007f69aee4b000)
    libfam.so.0 => /usr/lib/libfam.so.0 (0x00007f69aec42000)
    libc.so.6 => /lib/libc.so.6 (0x00007f69ae8bf000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f69afa90000)
    libz.so.1 => /lib/libz.so.1 (0x00007f69ae6a8000)
> _

它没有提及libwrap,因此至少此服务不支持TCP Wrappers,并且将忽略/etc/hosts.{allow, deny}


12
如果tcp包装程序已贬值,则替换什么?
zaius

3

您要使用防火墙阻止对其他站点的访问。我相信ufw默认情况下已安装。该命令man ufw应提供有关如何使用它的信息。将192.0.2.15替换为您要阻止的地址。

命令

sudo ufw启用
sudo ufw拒绝192.0.2.15
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.