Я настраиваю сервер для работы в качестве ретранслятора и ничего больше. Я установил iptables, чтобы разрешить разговор только через порт 9001, и он работал нормально, но возникла проблема, необходимо правильно установить и поддерживать часы, чтобы реле работало должным образом, поэтому мне потребовалась настройка и запуск ntpd, но по какой-то причине я не могу заставить iptables работать так, как я хочу. Я пытаюсь разрешить только tor и ntpd разговаривать по сети, но когда я настроил его, чтобы разрешить порт 123 с помощью udp, он внезапно игнорирует мой -A ВЫХОД! -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
две общие подсказки. как всегда первые правила:
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