我想在Ubuntu中阻止一些主机,那么我应该如何编辑
还有一件事,我在Ubuntu中安装了
提前感谢。
hosts.deny
文件来阻止像example.com这样的主机。还有一件事,我在Ubuntu中安装了
dnsmasq
,那么我可以检查dnsmasq
缓存的DNS条目吗?如果可以,那么如何操作?提前感谢。
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
hosts.allow
和hosts.deny
已经被弃用。它们由TCP包装器、基于主机的访问控制http://en.wikipedia.org/wiki/TCP_Wrapper使用。
如果你想阻止访问一个服务,你需要找出该服务是否已经使用了TCP包装器进行编译。我非常怀疑Ubuntu服务仍然使用TCP包装器。
TCP包装器库位于/lib/libwrap.so.0
中
如果您想检查lighttpd
(Web服务器)是否支持TCP包装器,请运行
> 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}
。man ufw
应该提供有关如何使用它的信息。将192.0.2.15替换为您想要阻止的地址。sudo ufw enable sudo ufw deny to 192.0.2.15