我想在 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.allow并hosts.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}.
您想要使用防火墙来阻止对其他站点的访问。我相信 ufw 是默认安装的。该命令man ufw应提供有关如何使用它的信息。将 192.0.2.15 替换为您要阻止的地址。
命令
须藤 ufw 启用 sudo ufw 拒绝 192.0.2.15
| 归档时间: |
|
| 查看次数: |
115931 次 |
| 最近记录: |