Недавно я обновил свой сервер с Ubuntu 14.04 до 16.04. Обновление казалось успешным (поэтому я не уверен, связано ли это), но примерно через неделю я перезапустил хост, и теперь он не будет принимать удаленные запросы.
Я могу подключиться к терминалу, используя консольный доступ моего хостинг-провайдера, но я не могу удаленно подключиться к машине по SSH. Попав в машину, я могу успешно пинговать myhost.com, но не могу пинговать машину из удаленного места. Проверка связи с моей машины разработки запросов в Request timed out
.
Я пробовал загрузить предыдущий снимок, сделанный до обновления ОС, и могу успешно проверить связь с машиной.
Я пробовал следить /var/log/auth.log
но журнал не обновляется, когда я пытаюсь получить доступ удаленно.
Я не знаю, что делать дальше, чтобы выяснить, почему мой сервер не отвечает.
РЕДАКТИРОВАТЬ
Бег iptables -nvL
приводит к:
modprobe: FATAL: Module ip_tables not found in directory /lib/modules/4.4.0-28-generic
iptables v1.6.0: can't initialize iptables table `filter': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
Вы можете многое сделать, но также многие вещи могут стать проблемой. К сожалению, то, что у вас есть, связывает точки в двух разных направлениях.
Поскольку это произошло после обновления системы и перезагрузки, я думаю, возможно, ваши службы не запускаются.
Выполнить sudo netstat --tcp -l
. Должна быть такая строчка:
tcp 0 0 *:ssh *:* LISTEN
Если нет, значит, ваш ssh-сервер не слушает. Выполнить sudo service ssh restart
. Если это решит проблему, проверьте свои уровни запуска и заставьте ssh запускаться при загрузке.
Если есть, то может быть проблема с сетью (и тайм-аут проверки связи определенно указывает в этом направлении), но iptables -nvL
должен показать, что если он был в системе, а его нет.
Хм, я только что видел ваш комментарий, в котором говорилось, что вы не можете выйти, теперь кажется более вероятным, что у вас общая проблема с сетью.
Вам нужен вывод ifconfig -a
чтобы убедиться, что ваш публичный IP-адрес там. Если это так, вам нужен вывод route -n
чтобы убедиться, что у вас есть маршрут по умолчанию наружу (я думаю, что это может быть проблемой, и почти наверняка вы можете связаться с другими машинами в своей подсети, но не с внешними машинами).