
На первый взгляд это кажется простой проблемой, но если я не упустил чего-то очевидного (что всегда возможно), происходит что-то странное.
Вчера я работал удаленно на серверной системе, запущенной в моем офисе. Я перезагрузил ее после перемещения некоторых файлов, и она внезапно перестала отвечать на запросы в Интернете — SSH, HTTP/HTTPS, IMAP, все. Однако я все еще мог получить к ней доступ, если бы я подключился по SSH к другой машине в той же локальной сети, а затем по SSH к этому серверу. Повторная перезагрузка сервера ничего не изменила.
Первой моей мыслью было, что в этой системе что-то не так с брандмауэром, но...
me@nas:~$ sudo iptables -L
[sudo] password for me:
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere
ACCEPT icmp -- anywhere anywhere icmp echo-request
ACCEPT tcp -- anywhere anywhere tcp dpt:8022
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:https
ACCEPT tcp -- anywhere anywhere tcp dpt:smtp
ACCEPT tcp -- anywhere anywhere tcp dpt:submission
ACCEPT tcp -- anywhere anywhere tcp dpt:pop3
ACCEPT tcp -- anywhere anywhere tcp dpt:pop3s
ACCEPT tcp -- anywhere anywhere tcp dpt:imap2
ACCEPT tcp -- anywhere anywhere tcp dpt:imaps
ACCEPT tcp -- anywhere anywhere tcp dpt:microsoft-ds
ACCEPT tcp -- anywhere anywhere tcp dpt:10024
ACCEPT tcp -- anywhere anywhere tcp dpt:8099
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
(Я также временно отключил брандмауэр на этой системе. Никаких изменений.)
Чтобы быть абсолютно уверенным, что это не маршрутизатор, я обновил его прошивку (мне в любом случае нужно было это сделать) и вручную ввел все настройки, включая настройки переадресации портов для этой машины. Опять же, никаких изменений.
Я не могу винить провайдера, потому что я все еще могу подключаться по SSH к другим машинам в сети через тот же IP-адрес и немного другой порт. Я пробовал сервис "Shields Up!" от grc.com; он видит порт SSH другой машины, новсепорты для этого сервера отображаются как «скрытые».
На сервере установлена Ubuntu 18.04. Единственное, что у меня осталось, это то, что я мог автоматически указать ему обновить программное обеспечение перед перезагрузкой, и что-то новое могло изменить настройки, но я думаю, что я уже перезагружался пару раз с тех пор, как делал какие-либо обновления.
Что еще я могу посмотреть?
ПОЗДНЕЕ РЕДАКТИРОВАНИЕ:
Через несколько дней проблема повторилась, и первоначальное решение, которое я нашел (выключение и включение системы вместо удаленной перезагрузки), не помогло.нетисправить это. После долгих вырываний волос я наткнулся на другое решение: простой вызов sudo dhclient
исправлял проблему каждый раз. Добавление этого в root-пользователя crontab
("@reboot /sbin/dhclient"), похоже, решило ее навсегда.
решение1
Ох %#@$%#$... мне вдруг пришло в голову, что хотя я и перезагружал несколько раз, я на самом деле не выключил машину. Выключил, оставил выключенной на тридцать секунд, перезагрузил... и вдруг все снова заработало. :-(
Неизвестно, какие космические лучи могли вызвать проблему, но теперь она устранена.
См. обновленное описание проблемы выше.