Start typing to search across invoices, services, domains, tickets, and more...
Если только что развёрнутый сайт, база данных или приложение недоступны извне, чаще всего порт блокирует файрвол. В статье разобраны два самых распространённых инструмента для настройки файрвола в Linux: firewalld, используемый по умолчанию в CentOS, Rocky Linux и AlmaLinux, и ufw, популярный в Ubuntu и Debian. Вы узнаете, как проверить состояние, открыть порт, ограничить доступ по IP и удалить правило. Все команды выполняются от root.
На сервере должен работать только один менеджер файрвола: одновременное использование firewalld и ufw приводит к конфликту правил. Проверьте, какой из них активен: в системах семейства RHEL обычно firewalld, в Ubuntu — ufw (часто выключен по умолчанию), а в некоторых минимальных образах Debian нет ни того, ни другого.
systemctl is-active firewalld # CentOS / Rocky / AlmaLinux
ufw status # Debian / Ubuntu
firewalld группирует правила по зонам; основной сетевой интерфейс обычно находится в зоне public. После установки и запуска команда --list-all покажет разрешённые службы и порты — по умолчанию, как правило, только ssh.
# Install and start firewalld (CentOS / Rocky / AlmaLinux)
dnf install -y firewalld
systemctl enable --now firewalld
firewall-cmd --state
firewall-cmd --get-active-zones
firewall-cmd --list-all
Разрешать трафик можно по имени службы (http, https) или по номеру порта и диапазону. --permanent записывает правило в постоянную конфигурацию, которая применяется только после --reload; правила без --permanent работают сразу, но исчезают после перезагрузки.
# Open by service name
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
# Open by port / range
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --permanent --add-port=10000-10100/udp
# Apply and verify
firewall-cmd --reload
firewall-cmd --list-ports
firewall-cmd --list-services
Чувствительные порты — базы данных, админ-панели — не стоит открывать для всего интернета. С помощью rich rule можно разрешить доступ только с определённого IP или подсети. Ненужные порты удаляются через --remove-port.
# Allow MySQL 3306 only from one subnet
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="198.51.100.0/24" port port="3306" protocol="tcp" accept'
# Remove a port
firewall-cmd --permanent --remove-port=8080/tcp
firewall-cmd --reload
ufw — простой файрвол от Ubuntu с понятным синтаксисом. Сначала разрешите SSH, затем задайте политику по умолчанию: запрещать входящие и разрешать исходящие соединения. При ufw enable появится предупреждение о возможном разрыве SSH — если SSH уже разрешён, ответьте y.
# Debian / Ubuntu
apt update && apt install -y ufw
# Allow SSH FIRST (use your custom port if you changed it)
ufw allow 22/tcp
ufw default deny incoming
ufw default allow outgoing
ufw enable
ufw status verbose
Порты открываются командой allow; для диапазона нужно указать протокол. Ключевое слово from ограничивает IP-адрес источника. Чтобы удалить правило, выведите список с номерами и удалите нужное по номеру.
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 10000:10100/udp
ufw allow from 198.51.100.0/24 to any port 3306 proto tcp
# Delete a rule by number
ufw status numbered
ufw delete 3
Выполните ss -tlnp и убедитесь, что приложение слушает этот порт на 0.0.0.0, а не на 127.0.0.1. Затем проверьте настройки самого приложения и политики безопасности на уровне платформы. Если не помогло, создайте тикет.
Технически да (systemctl stop firewalld или ufw disable), но для публичного сервера это не рекомендуется. Лучше разрешить только нужные порты, а остальное запретить.
Войдите через VNC-консоль и выполните firewall-cmd --permanent --add-service=ssh && firewall-cmd --reload или ufw allow 22/tcp, чтобы снова разрешить SSH.
Если проблема не решилась, создайте тикет — техническая поддержка IMIDC работает круглосуточно 24/7. Укажите IP-адрес сервера, операционную систему, выполненные команды и приложите скриншот ошибки: так инженер разберётся быстрее.