Закрыть порты для не-eth интерфейсов [Решено]
WiseLord 14 ноября, 2008 - 02:07
Установлен http-сервер apache и ssh-сервер, используются в локальной сети (eth0).
Соответственно, имеются открытые порты 22 (ssh), 80 (www), 443 (https).
Вся проблема в том, что когда подключаюсь к интернету (vpn-соединение, интерфейс ppp0), провайдер выдаёт мне некий внешнй IP-адрес, и, соответственно, по этим портам можно подключиться уже извне.
Можно ли сделать так, чтобы 80-ый и (возможно) 443-ий порты на моей машине были доступны только по локальной сети, а доступ извне по ним был заблокирован? 22-ой порт можно оставить, мало ли - пригодится.
»
- Для комментирования войдите или зарегистрируйтесь
да
да
.
Ты добрый
Раз смешной комментарий уже
Раз смешной комментарий уже оставил evadim, в сторону настроек ListenAddress (как-то так) Апача придётся показать мне (-:Е
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
iptables -A INPUT -i eth0 -j
Проверяешь. Если все как нужно, сохраняешь:
/etc/init.d/iptables save
PS: А еще лучше первую строчку конкретизировать:
iptables -A INPUT -i eth0 -p tcp -m multiport --destination-ports 22,80,443 -j ACCEPT
Получилось
krigstask, спасибо за наводку.
Нашёл параметр Listen в файлах 00_default_vhost.conf и 00_default_ssl_vhost.conf каталога /etc/apache2/vhosts.d и поменял его значение с 80 и 443 на 192.168.1.251:80 и 192.168.1.251:443 соответственно. Всё стало хорошо, теперь "наружу" открыт остался только 22-ой порт, что и требовалось.
Storm, я так и думал, что это можно сделать и с помощью iptables... надо бы заняться их изучением.