Порты и файрвол

Как открыть порты в Linux (ufw и firewalld)

Команды для Ubuntu/Debian и AlmaLinux/Rocky, как проверить, что сервер слушает порт, и как не закрыть самому себе доступ по SSH.

2 мин чтенияОбновлено 19 октября 2026 г.

В Linux файрвол зависит от дистрибутива: ufw в Ubuntu и Debian, firewalld в AlmaLinux и Rocky. Оба делают одно и то же, различаются только команды.

Прежде всего: если вы включаете файрвол впервые, откройте порт 22 (SSH) до того, как его включить. Иначе это самый быстрый и самый глупый способ остаться без доступа к собственному серверу. Если это всё же случилось, войти можно через вкладку VNC в панели.

Ubuntu и Debian (ufw)

# Первым делом, ВСЕГДА
ufw allow 22/tcp

# Ваш порт, для обоих протоколов
ufw allow 30120/tcp
ufw allow 30120/udp

# Диапазон
ufw allow 7777:7778/udp

# Включить (если ещё не включён) и посмотреть результат
ufw enable
ufw status numbered

Чтобы удалить правило, найдите его номер в выводе ufw status numbered и удалите командой ufw delete 3. Подойдёт и ufw delete allow 30120/udp.

AlmaLinux и Rocky (firewalld)

# Первым делом, ВСЕГДА
firewall-cmd --permanent --add-service=ssh

# Ваш порт, для обоих протоколов
firewall-cmd --permanent --add-port=30120/tcp
firewall-cmd --permanent --add-port=30120/udp

# Диапазон
firewall-cmd --permanent --add-port=7777-7778/udp

# Применить и проверить
firewall-cmd --reload
firewall-cmd --list-all

Благодаря --permanent правило сохраняется после перезагрузки; без этого флага оно пропадёт. А --reload применяет правило: пока конфигурация не перезагружена, ничего не происходит. Чтобы удалить правило, выполните ту же команду с --remove-port.

Проверка, что сервер слушает порт

Запустите игровой сервер и выполните:

ss -lntup | grep 30120

Должна появиться строка с LISTEN (для TCP) или UNCONN (для UDP — это нормально). Если ничего не выводится, дело не в файрволе: сервер не запущен или слушает другой порт.

Обратите внимание и на адрес: если указано 127.0.0.1:30120, а не 0.0.0.0:30120, сервер принимает только локальные подключения, и сколько правил ни добавляй, никто не подключится. Это исправляется в настройках игры, а не в файрволе.

Какие порты НЕ стоит открывать

  • Порт базы данных (3306 у MySQL, 5432 у PostgreSQL). Если игра и база данных находятся на одной машине, открывать базу в интернет не нужно: они соединяются через localhost. Сервер MySQL, открытый всему миру, — это приглашение для атак.
  • Панели администрирования, например txAdmin. Лучше заходите в них через SSH-туннель: ssh -L 40120:localhost:40120 root@VASH_IP, а затем откройте в браузере localhost:40120.
  • RCON, если только он действительно не нужен вам снаружи. А если открываете его, пусть пароль будет длинным и уникальным.

Если всё равно не работает

  1. Сервер слушает порт, и именно на 0.0.0.0? Проверьте командой ss выше.
  2. Протокол правильный? Многие игры работают по UDP; откройте оба, и вопрос отпадёт.
  3. Вы проверяете снаружи? С самого сервера всё всегда работает.
  4. Проверьте фильтры на вкладке Безопасность вашей услуги в панели: там находится сетевая фильтрация AntiDDoS — это отдельный уровень защиты, не связанный с системным файрволом.

Похожие статьи

Назад в справочный центр

Не нашли, что искали?

Создайте тикет в личном кабинете — мы ответим меньше чем за 5 минут.