Как редактировать hosts.deny и hosts.allow?

Я хочу заблокировать некоторые хосты в Ubuntu, так как я могу отредактировать файл hosts.deny, чтобы заблокировать некоторые хосты, такие как example.com.

И еще одно, я установил dnsmasq в Ubuntu, так могу ли я проверить записи dns, кэшированные dnsmasq? Если да, то как?

Заранее спасибо.

Решение

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 должен дать вам кэшированные записи, но я не уверен в этом.

---UPDATE---

Чтобы заблокировать IP-адрес с помощью iptables:

iptables -A INPUT -s 11.22.33.44 -j DROP

чтобы разблокировать:

iptables -D INPUT -s 11.22.33.44 -j DROP
Комментарии (6)

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 (веб-сервер) 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}.

Комментарии (1)

Вы хотите использовать брандмауэр, чтобы заблокировать доступ к другим сайтам. Я полагаю, что ufw установлен по умолчанию. Команда man ufw должна предоставить информацию о том, как его использовать. Замените 192.0.2.15 адресом, который вы хотите заблокировать.

Команды

sudo ufw enable
sudo ufw deny to 192.0.2.15
Комментарии (0)