После добавления отбрасывания все правило к IPtables мой терминал SSH берет навсегда для загрузки, часто отвечая ошибкой sudo: unable to resolve host foo.bar.domain: Connection timed out
, но затем сразу после рендеринга сообщения об ошибке часто отвечает подсказкой, которую я запросил. Мои ping к серверу последовательны. Я выполняю SSH на порте 2222.
IPTables:
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -p tcp -m tcp --dport 2222 -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -j DROP
Реконфигурирование моего IPTables как ниже решенного проблема. (Предложения взяты от этого руководства.)
-P INPUT DROP
-P FORWARD DROP
-P OUTPUT ACCEPT
-A INPUT -p tcp -m tcp --dport 2222 -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p udp -m udp --sport 53 -j ACCEPT
У меня недостаточно репутации, чтобы комментировать собственный ответ Брэндона, так что вот как ответ:
Скорее всего, это строка
-A INPUT -i lo -j ACCEPT
, которая исправила это для вас. Если вы, например, современная версия Ubuntu использует systemd-resolved, который прослушивает 127.0.0.53:53 — когда вы выполняете поиск DNS, запрос отправляется в systemd-resolved через интерфейс обратной связи (lo).