Помогите пожалуйста открыть доступ по SSH c внешки при изначально установленных DROP политиках, с ниже приведенным конфигом я не имею доступа к SSH =(#!/bin/bash
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -F -t nat
iptables -F -t mangleiptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROPiptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p udp --sport 22 -j ACCEPT
неособо разюираюсь в айпитабласах но второй строке явная ощибка
> iptables -A INPUT -p tcp --dport 22 -j ACCEPT
> iptables -A OUTPUT -p udp --sport 22 -j ACCEPT
> неособо разюираюсь в айпитабласах но второй строке явная ощибка
>> iptables -A INPUT -p tcp --dport 22 -j ACCEPT
>> iptables -A OUTPUT -p udp --sport 22 -j ACCEPTЕще как явная. Потому как к протоколу UDP ssh Отношения не имеет. Да и вообще - на кой черт в OUTPUT ставить дефолтную политику в DROP - хоть убей не понимаю. Разве что из склонности к мазохизму. :) Еще не мешало бы добавить в INPUT пакеты со статусом ESTABLISHED и RELATED
Да и ещё. Приведите уж тогда вывод iptables -nL INPUT, iptables -nL OUTPUT
> iptables -A INPUT -p tcp --dport 22 -j ACCEPT
> iptables -A OUTPUT [u]-p tcp[/u] --sport 22 -j ACCEPTЭтого достаточно. Видимо у тебя в другом проблема. Поищи tcpdump'om.
Спасибо с SSH я разобрался, но появился еще один вопрос по поводу доступа к ftp и http# C этими правилами я имею доступ с внешки на эти порты, но не могу поднять соединения по этим портам с сервера-localhost
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 21 -j ACCEPT# C этими все наоборот т.е. внешка закрыта, а исходящие соединения с localhost'a работают
iptables -A INPUT -p tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --sport 21 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 21 -j ACCEPTЯ должен все вышеприведенные правила добавлять в файрвол, или так это не делатся ? что-то мне подсказывает что это огород )). Сильно не пинайте я только учусь ...
Исходящие пакеты с локального приложения, поступают на другое локальное приложение, через внутренний логический интерфейс loopback. Хорошо бы обеспечить ему беспрепятственную работу:Это полностью открывает loopback-интерфейс для общения приложений на локалхосте через "сеть", для всех протоколов и портов:
> iptables -A INTUT -i lo -j ACCEPT
> iptables -A OUTPUT -o lo -j ACCEPTЭто для того, чтобы к вам на веб-сервер пакеты проходили из вне:
> iptables -A INPUT -p tcp --dport 80 -j ACCEPTразрешаем так же ответы на http-запросы:
> iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT__________________________________________________________________________________
С FTP там какие-то заморочки с портами будут. Не помню... :-)
тут вот пишут:
http://slacksite.com/other/ftp.htmlНужно будет задействовать механизм отслеживания состояний соединений (conntrack), чтобы с FTP работать, вроде бы...
типа вот такого решения:
Пускаем входящие пакеты только на 20 и 21 порт для установки соединения:
>iptables -A INPUT -p tcp --dport 20:21 -j ACCEPTпропускаем все остальные пакеты в рамках уже установленных соединений на любой порт:
>iptables -A INPUT -p tcp -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPTи выпускаем тоже:
>iptables -A OUTPUT -p tcp -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT(И кстати если вся эта конструкция будет работать, то правило iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT окажется не нужным вовсе, т.к. это тоже по логике пакеты в рамках уже установленных соединений, конечно если вы не собираетесь с вашего сервера на http чужие заходить, никому не раздаёте тырнеты и пр... ))
вообще я не разбираюсь, так что могу и нагнать. :-)))))
> Я должен все вышеприведенные правила добавлять в файрвол, или так это не
> делатся ? что-то мне подсказывает что это огород )). Сильно не
> пинайте я только учусь ...Да, это огород, и да, именно так это и делается. То есть "одна задача" -- ку-у-уча правил iptables. iptables -- достаточно "низкоуровневое" средство, а-ля ассемблер~~~
Ну с %) "небольшими" отличиями... пример= http://www.opennet.me/openforum/vsluhforumID10/4099.html#7