LINUX.ORG.RU
ФорумAdmin

простейший firewall


0

0

Пытаюсь настройить iptables.
Сервер имеет один сет. интерфейс.
Начал с простейшего.
Сначала запрещаю всё, а потом открываю 23-й порт для ssh

iptables -F OUTPUT
iptables -P OUTPUT DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT # Allow ICMP
iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT #SSH

Но после выполнения даже пинговать не могу.
Может подскажете, что не так?

anonymous

> а потом открываю 23-й порт для ssh
т.е. 22-й порт

anonymous
()
Ответ на: комментарий от Anoxemian

Спасибо.
Теперь пингую, но не могу зайти через ssh.
Вот полный текст:

iptables -F OUTPUT
iptables -P OUTPUT DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT

anonymous
()

Ну, раз простейший

iptables -I INPUT -m state --state RELATED,ESTABLISHED -jACCEPT

iptables -I OUTPUT -m state --state RELATED,ESTABLISHED -jACCEPT

чтобы ответы на "хорошие" пакеты приходили.

lodin ★★★★
()

Правила нужно прописывать как для входящих, так и для исходящих пакетов. В твоём примере ты запретил всё на выход, но разрешил вход на 22 порт. Для работы сервисов нужно открывать и выход.

iptables -F OUTPUT
iptables -P OUTPUT DROP
# разрешить отправлять все пакеты с интерфейса lo
iptables -A OUTPUT -o lo -j ACCEPT
# разрешить отправлять пакеты на 23 порт
iptables -A OUTPUT -p tcp --dport 23 -j ACCEPT

iptables -F INPUT
iptables -P INPUT DROP
# разрешить получать пакеты по интерфейсу lo
iptables -A INPUT -i lo -j ACCEPT
# разрешить принимать пакеты с 23 порта
iptables -A INPUT -p tcp --sport 23 -j ACCEPT


AnyKey
()
Ответ на: комментарий от anonymous

> ...
> iptables -A INPUT -p tcp --dport 22 -j ACCEPT
> iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT

аккуратно и внимательно. в последней строке не "--dport", а "--sport". имей в виду, иногда одно неосторожное движение -- и надо переться за 40 километров возвращать взад.

berrywizard ★★★★★
()
Ответ на: комментарий от berrywizard

Что-то странное происходит.
Имеется такой скрипт:

iptables -F OUTPUT
iptables -P OUTPUT DROP
iptables -A OUTPUT -p icmp -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT #ssh

iptables -F INPUT
iptables -P INPUT DROP
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT #ssh

После того, как применяю правила всё нормально.
Но стоит зайти через ssh (или на ftp, также открывал 21 порт), то на пару минут теряется связь. Нет пинга. Потом восстанавливается.
Что это может быть?

anonymous
()
Ответ на: комментарий от anonymous

> Что это может быть?

Всё что угодно. Но к этим правилам это не относится, если, конечно это не бага в каком-то модуле ipt_*

Anoxemian ★★★★★
()
Ответ на: комментарий от Anoxemian

>Всё что угодно. Но к этим правилам это не относится, если, конечно это не бага в каком-то модуле ipt_*

Понимаю. Но происходит это именно после применения этих правил :(

iptables-1.3.3

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.