IPtables обрабатывают правила сверху вниз. Вот проблема:
Обратите внимание на следующие правила:
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
ACCEPT tcp -- anywhere anywhere tcp dpt:svn
После правила Reject all
все пакеты отбрасываются, включая ваше правило svn
. Вот почему вы не можете подключиться.
Решение:
Поместите следующее правило как последнее в цепочку INPUT, если вы действительно хотите отбросить все остальные пакеты:
iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited
Экранная команда stuff
не запускает команды, а эмулирует ввод. Похоже, у вас есть оболочка, работающая в сеансе экрана, которая читает то, что, по ее мнению, печатает, и запускает ее, когда получает новую строку.
Таким образом, вы можете разрезать команду на маленькие части;вы можете отправить его по одному символу за раз, если хотите. Оболочка внутри экрана не запустит его, по крайней мере, до тех пор, пока вы не отправите последний символ, \n
.
(Тем не менее, вероятно, гораздо проще поместить все это в файл сценария оболочки, а затем либо запустить, либо получить его ).