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

cod*_*rix 18 dns hosts

我想在 Ubuntu 中阻止一些主机,那么我怎么能编辑hosts.deny文件来阻止一些主机,比如 example.com。

还有一件事我dnsmasq在 Ubuntu 中安装了,所以我可以检查 dns 缓存的条目dnsmasq吗?如果是,那么如何?

提前致谢。

Day*_*jay 21

hosts.deny 例子:

ALL: 192.168.1.2
ALL: example.org
Run Code Online (Sandbox Code Playgroud)

这将拒绝对 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
Run Code Online (Sandbox Code Playgroud)

解除封锁:

iptables -D INPUT -s 11.22.33.44 -j DROP
Run Code Online (Sandbox Code Playgroud)

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

use*_*124 8

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)
> _
Run Code Online (Sandbox Code Playgroud)

它没有提到libwrap,所以至少这个服务不支持 TCP Wrappers,并且会忽略/etc/hosts.{allow, deny}.

  • 如果 tcp 包装器折旧了,替代品是什么? (13认同)

Bil*_*hor 5

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

命令

须藤 ufw 启用
sudo ufw 拒绝 192.0.2.15