Порты: как открыть доступ к своей программе
Как открыть порт на VPS, чтобы программу стало видно снаружи: где доступ закрыт на самом деле и чем это отличается от игрового сервера, которому порт даёт панель.
Адрес приводит к машине, порт — к конкретной программе на ней. Порт 22 занят входом по SSH, 80 и 443 — сайтами. Программа «слушает» свой порт, а тот, кто к ней обращается, стучится именно в этот номер.

У машины портами распоряжаетесь вы
У игрового сервера всё наоборот: порт выдаёт панель, он написан во вкладке «Сеть», и поменять его нельзя — нода подставляет выданный порт при каждом запуске. У машины свой адрес целиком, и какие порты на нём слушать, решает то, что вы внутри неё запустили.
Поэтому экрана «открыть порт» в панели нет и быть не может: открывать нечего. Со стороны сети до машины идёт всё — фильтр на гипервизоре включён ради другого, он не даёт машине притворяться чужим адресом. Полностью трафик отрезается только ограничением, и тогда об этом прямо написано в панели.
Почему программу всё-таки не видно
Причин обычно три, и все они внутри машины. Проверять их удобно командой ss -tlnp — она показывает, какая программа какой порт и какой адрес слушает.
sudo ss -tlnpLocal Address:Port и есть ответ. 0.0.0.0:80 — снаружи видно. 127.0.0.1:5432 — только изнутри машины, и для базы данных это правильно. Без sudo команда работает тоже, но не покажет имена программ в последней колонке.- Программа не запущена. Самая частая причина, и самая обидная: убедитесь, что она вообще работает.
- Программа слушает только сама себя. Адрес
127.0.0.1виден изнутри машины и больше ниоткуда. Снаружи доступен только тот адрес, который панель показала во вкладке «Обзор», — программу надо настроить на него или на0.0.0.0. - Внутри системы работает брандмауэр. Он свой у каждой системы — где-то
ufw, где-тоfirewalld, где-то правилаnftables, — и порт открывается его командой. Что именно стоит на вашей машине, зависит от образа, который вы выбрали при заказе.
Исходящая почта закрыта
Порты исходящей почты — 25, 465 и 587 — и порты файловых сетей Windows — со 137 по 139 и 445 — на нодах закрыты по умолчанию. Это защита от рассылки спама с чужих машин, и она касается того, что машина отправляет наружу, а не входящих подключений к ней.
Снять запрет может только поддержка, и делается это исключением на конкретную машину. Если вы собираетесь рассылать почту, заводите ещё и обратную запись PTR во вкладке «Обзор»: без неё письма попадают в спам независимо от портов.
Как проверить, что снаружи видно
- Изнутри машины:
ss -tlnp— кто слушает и на каком адресе. - Снаружи: откройте
http://адрес:портв браузере на своём компьютере, а не на самой машине. - Если изнутри работает, а снаружи нет — дело в адресе прослушивания или в брандмауэре системы.
curl -I http://203.0.113.10Connection refused означает, что на этом порту никто не слушает; молчание до истечения времени — что до порта не доходит вовсе, и тогда смотрят брандмауэр внутри системы.