Иногда я использую PuTTY в качестве прокси-сервера SOCKS, и я заметил, что иногда, когда веб-страница, к которой я пытаюсь подключиться (из веб-браузера), не существует и требует длительного времени ожидания, сеанс оболочки останавливается (не может вводить интерактивно в терминале, пока не истечет время ожидания), а также все другие запросы веб-страниц также останавливаются.
Я недавно заметил, что это, похоже, связано с DNS: сейчас кажется, что серверы, указанные на стороне sshd
в /etc/resolv.conf
, имеют некоторые проблемы, и, в результате, почти невозможно просматривайте Интернет через прокси-сервер PuTTY SOCKS, а также терминал PuTTY останавливается почти все время, когда любой попытка просмотра веб-страниц была неудачной.
Следующая ошибка часто появляется в журналах PuTTY, после чего остановка на некоторое время прекращается:
2014-01-11 17:12:03 Forwarded connection refused by server: Administratively prohibited [open failed]
Обычно, это то, что я вижу в журналах, вместо этого создается впечатление, что мой браузер с поддержкой SOCKS даже не знает, к какому IP-адресу будет подключен прокси-сервер SOCKS:
2014-01-11 17:18:11 Opening forwarded connection to superuser.com:80
Изменение DNS-сервера вокруг демона ssh будет только временным решением, которое не решит основную проблему с остановкой OpenSSH / PuTTY в этих ситуациях. (Не использовать имена хостов через SOCKS тоже будет неправильно).
Есть ли способ смягчить срыв SSH навсегда?
(По крайней мере, казалось бы, что sshd должен быть более агрессивным в тайм-ауте DNS и повторных попытках с другим сервером. У меня есть несколько серверов, указанных в /etc/resolv.conf, и dig
похоже, перезапускает запрос к следующему серверу ровно через 1 с, что кажется более подходящим, чем то, что, по-видимому, делает sshd.)