1

Я новичок в iptables, если честно. У меня есть несколько основных правил. Все заблокировано по умолчанию.

iptables -t filter -F
iptables -t filter -X

iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

...some rules for http, ftp etc...
iptables -t filter -A OUTPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -t filter -A INPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

В последних двух строках я пытаюсь открыть доступ для SSH, чтобы я мог подключиться к bitbucket. Когда я пытаюсь подключиться к bitbucket:

ssh -Tv git@bitbucket.org

Я получил ошибку - время ожидания истекло. Но когда я отключаю iptables, я могу подключиться без проблем.

Что мне не хватает? Должен ли я добавить какие-либо дополнительные правила?

1 ответ1

0

На самом деле то, что я написал, работало очень хорошо. Моя ошибка заключалась в том, что у меня есть файл сценария, в котором установлены все мои правила, поэтому я могу просто мгновенно сбросить его. Что я забыл, так это сохранение iptables перед перезапуском (facepalm)

iptables-save | sudo tee /etc/sysconfig/iptables

Всегда помни! Сохраните конфигурацию iptables перед перезагрузкой!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .