
Как проверить доступность портов на хостинге?
В современном мире онлайн-сервисов, проверка доступности портов на хостинге – это важный навык. Он позволяет быстро диагностировать проблемы с веб-сайтами, базами данных или другими приложениями, требующими сетевого доступа. Если сервис недоступен, первым делом стоит проверить состояние используемых им портов.
Что такое порт и почему это важно?
Порт – это логическая точка, через которую приложения обмениваются данными. Каждый сетевой сервис использует определённый порт. Например:
- 80 (TCP): для HTTP.
- 443 (TCP): для HTTPS.
- 22 (TCP): для SSH.
- 3306 (TCP): для MySQL.
Закрытый или заблокированный порт делает сервис недоступным. Причины: брандмауэр, остановка сервиса, некорректная конфигурация или занятость порта.
Методы проверки доступности портов
Проверять порты можно как с вашей локальной машины, так и непосредственно на сервере через SSH.
1. Проверка с вашей локальной машины (извне)
Эти методы показывают, доступен ли порт для внешних пользователей.
Использование telnet
Простая утилита для проверки TCP-портов.
telnet ваш.домен.или.IP 80
Результат: Connected означает, что порт открыт. Connection refused или Unable to connect – порт закрыт.
Использование nc (Netcat)
Мощный инструмент для TCP и UDP портов.
Для TCP:
nc -zv ваш.домен.или.IP 80
Успешное сообщение (например, succeeded!) указывает на открытый порт.
Для UDP:
nc -zuv ваш.домен.или.IP 53
Отсутствие ошибки часто указывает на доступность UDP порта.
Онлайн-сканеры портов
Сервисы вроде 2ip.ru или portscan.ru позволяют быстро проверить порт без установки ПО. Введите IP-адрес и порт. Помните о конфиденциальности при их использовании.
2. Проверка непосредственно на сервере (через SSH)
Эти команды показывают, слушает ли сервис на порту на самом сервере.
Использование netstat или ss
Обе утилиты показывают активные сетевые соединения и слушающие порты.
netstat -tulnp | grep 80
Или:
ss -tulnp | grep 80
Если есть строка с 0.0.0.0:80 и статусом LISTEN, сервис слушает на этом порту.
Использование lsof
lsof покажет все процессы, использующие конкретный порт.
lsof -i :80
Что делать, если порт закрыт?
- Проверьте статус сервиса: Убедитесь, что нужный сервис запущен (например,
sudo systemctl status apache2). - Проверьте брандмауэр сервера: Если у вас есть root-доступ, проверьте правила брандмауэра (UFW, FirewallD, iptables) на сервере и добавьте исключение, если нужно.
- Свяжитесь с поддержкой хостинга: Если вы не имеете root-доступа или проблему не удаётся решить, обратитесь в техподдержку вашего хостинг-провайдера. Возможно, порт заблокирован на уровне их инфраструктуры.
- Проверьте конфигурацию сервиса: Удостоверьтесь, что сервис настроен слушать на правильном порту и на всех сетевых интерфейсах (
0.0.0.0).
Заключение
Понимание и умение проверять доступность портов – это основа для поддержания работоспособности ваших онлайн-проектов. Эти простые методы помогут вам быстро выявлять и устранять сетевые проблемы.








