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

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

我想在 Ubuntu 中阻止一些主机,那么我该如何编辑hosts.deny文件来阻止一些主机(如 example.com)。

我在 Ubuntu 中安装了另一个东西dnsmasq,那么我可以检查 dns 缓存的条目吗dnsmasq?如果可以,那么怎么做?

提前致谢。

答案1

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

答案2

hosts.allowhosts.deny弃用。它们由 TCP Wrappers、基于主机的访问控制、http://en.wikipedia.org/wiki/TCP_Wrapper

如果要阻止对服务的访问,您需要查找该服务是否已使用 TCP Wrappers 进行编译。我非常怀疑 Ubuntu 服务仍在使用 TCP Wrappers。

TCP Wrappers 库位于:/lib/libwrap.so.0 如果您想检查lighttpd(Web 服务器)是否支持 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}

答案3

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

命令

sudo ufw 启用
sudo ufw 拒绝 192.0.2.15

相关内容