Iptables хорошо играть с Tor и NTDP

Я настраиваю сервер для работы в качестве ретранслятора тор и ничего больше. Я настроил iptables, чтобы разрешить разговор только через порт 9001, и он работал нормально, но была проблема, необходимо правильно настроить и поддерживать часы, чтобы реле работало должным образом, поэтому мне нужно было настроить и запустить ntpd, но по какой-то причине я я не могу заставить iptables работать так, как я хочу. Я пытаюсь, чтобы он позволял только tor и ntpd общаться по сети, но когда я настроил его, чтобы разрешить порт 123 с помощью udp, он вдруг игнорирует мой -A OUTPUT! -s 127.0.0.1 -j DROP и позволяет все через. Как я должен идти об этом? Прошу прощения за мое невежество, я новичок в iptables.

Я прошел через несколько перестановок, но вот мои правила в том виде, в каком они стоят сейчас:

-A INPUT -p udp --sport 123 --dport 123 -j ACCEPT
-A OUTPUT -p udp --sport 123 --dport 123 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 9001 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 9001 -j ACCEPT
-A INPUT ! -s 127.0.0.1 -j DROP
-A OUTPUT ! -s 127.0.0.1 -j DROP

1 ответ

Решение

Две общие подсказки. в качестве первых правил всегда ставим:

iptables -P DROP 
iptables -F # clean things up. i assume you connect locally, otherwise your ssh will stop to work.
itables -A INPUT -i lo -j ACCEPT
itables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

а потом ваши завсегдатаи

iptables -A INPUT -p udp --dport 123 -j ACCEPT # assuming you are ntp server
iptables -A OUTPUT -p udp --dport 123 -j ACCEPT # try to narrow it down using -s to couple public ntp servers
iptables -A INPUT -m state --state NEW -p tcp --dport 9001 -j ACCEPT # assuming you take incomming tor connections here
iptables -A OUTPUT -m state --state NEW  -p tcp --dport 9001 -j ACCEPT # assuming you allow outgoing connections to other tor nodes
Другие вопросы по тегам