Почему UDP-пакеты, отправляемые с моего домашнего интернета, не доходят до моего VPS?

Добрый день. Нужна помощь в диагностике проблемы с UDP-трафиком.
  • 19 июля 2026 г. 0:00
Ответы на вопрос 4
Хорошо — давайте пошагово диагностируем. Ниже — план действий с командами и подсказками, что смотреть и как интерпретировать результаты. Выполняйте шаги на своём домашнем компьютере и на VPS, по возможности одновременно (или делайте несколько тестов и присылайте выводы).

Важно: команды Unix/Linux. Если у вас Windows — напишите, укажу аналоги.

1) Убедиться, что пакеты реально уходят с домашней машины
- На домашнем ПК запустите отправку простых UDP-пакетов (hping3 или nc):
  - Если есть hping3:
    hping3 -2 -c 10 -p <порт> <IP_VPS>
    (-2 = UDP, -c 10 = 10 пакетов)
  - Если нет hping3, можно:
    printf "test\n" | nc -u -w1 <IP_VPS> <порт>
- Одновременно на домашнем ПК снимите локальную сетевую трассу, чтобы убедиться, что пакеты вышли в сеть:
  sudo tcpdump -n -i <интерфейс> udp and host <IP_VPS> and port <порт>

Что смотрим: tcpdump на домашней машине должен показывать исходящие UDP-пакеты с вашим исходным IP/портом. Если их нет — проблема на клиенте/роутере (NAT, firewall).

2) Проверить, доходят ли пакеты до VPS (захват на VPS)
- На VPS запустите:
  sudo tcpdump -n -i any udp and host <IP_домашний> and port <порт>
  или для всех UDP:
  sudo tcpdump -n -i any udp
- Затем повторите отправку с домашней машины (hping3 / nc) и смотрите: появились ли пакеты на tcpdump на VPS.

Интерпретация:
- Пакеты видны на VPS: значит сеть доходит, дальше смотреть настройки firewall/приложения на VPS (см. пункт 4).
- Пакеты не видны на VPS, но они уходят с домашней машины (см. пункт 3).

3) Если пакеты уходят с домашней сети, но не доходят до VPS — где могло застрять
- Выполните трассировку UDP (показывает, где пропадают):
  traceroute -U -p <порт> <IP_VPS>
  или mtr -u -P <порт> <IP_VPS>
  (traceroute с UDP покажет промежуточный хоп, где пакеты перестают идти).
- На VPS смотрите ICMP-сообщения (иногда маршрутизаторы шлют ICMP unreachable):
  sudo tcpdump -n -i any icmp
- Возможные причины:
  - Провайдер домашнего интернета блокирует/фильтрует исходящие UDP (некоторые ISP блокируют UDP на произвольные порты).
  - Провайдер дома использует CGNAT или другой NAT, причём outbound UDP как-то обрывается (маловероятно, но зависит от реализации).
  - Провайдер VPS (или облачная панель) блокирует входящий UDP на уровне фильтров/ACL/anti-DDoS (часто по умолчанию закрыты не-TCP порты).
  - Где-то посредине (между вашим ISP и VPS) есть фильтр или blackhole (можно выявить через traceroute/mtr).
  - Проблемы с фрагментацией/MTU (если пакет большой и фрагменты отбрасываются). Попробуйте маленькие пакеты (hping3 —d 20).

4) Проверить конфигурацию VPS (если пакеты поступают, но приложение не получает)
- Прослушивает ли приложение UDP на нужном порте:
  sudo ss -lunp | grep <порт>
  или:
  sudo netstat -ulnp | grep <порт>
- Проверить локальный firewall:
  - UFW: sudo ufw status
  - iptables: sudo iptables -L -n -v
  - nftables: sudo nft list ruleset
- Временно отключить firewall (только для теста; если VPS в облаке, убедитесь, что консоль доступна):
  sudo iptables -F
  sudo ip6tables -F
  sudo ufw disable
  sudo systemctl stop firewalld
  (после теста восстановите правила!)
- Проверить системные параметры (редко, но полезно):
  sysctl net.netfilter.nf_conntrack_udp_timeout
  sysctl net.ipv4.conf.all.rp_filter

5) Проверить сетевые ACL облачного провайдера
- В панели управления VPS (security groups, firewall, network ACL) убедитесь, что UDP-порт открыт на внешнем интерфейсе. Много провайдеров имеют отдельный "cloud firewall", который блокирует трафик до VM.

6) Проверить с других источников
- Попробуйте отправить UDP-пакет на VPS с мобильного интернета (телефон по 4G) или через VPN/другой провайдер. Если из других сетей пакеты доходят — значит проблема у вашего домашнего провайдера или роутера.
- Если из всех сетей не доходят — вероятно настройки VPS/провайдера.

7) Диагностика NAT/портов и keepalive
- Если вы ожидаете отклика от VPS, учтите, что NAT на домашнем роутере может закрывать mapping через секунды/минуты. Для стабильной двусторонней связи посылайте keepalive.
- Проверьте, не используете ли порты, которые ISP может блокировать (53, 67/68, 123 и т.п.).

8) Что мне прислать, чтобы я подсказал дальше
- Выводы следующих команд (замените <IP_дом>, <IP_VPS>, <порт>):
  - С домашнего ПК: вывод hping3 (или nc) и tcpdump, если есть.
  - На VPS: вывод sudo tcpdump -n -i any udp and host <IP_дом> and port <порт> (или общий tcpdump), и вывод sudo ss -lunp | grep <порт>.
  - Вывод sudo iptables -L -n -v и sudo nft list ruleset (если используется nft) на VPS.
  - Результат traceroute -U -p <порт> <IP_VPS> и/или mtr -u -P <порт> <IP_VPS> с домашней машины.
  - Статус облачного фаервола/панели (скриншот или текст).

Короткий чек-лист для быстрой проверки
- Открыт ли UDP-порт в облачной панели? (да/нет)
- Видны ли пакеты на TCPDUMP на VPS? (да/нет)
- Видны ли пакеты на TCPDUMP на домашнем ПК перед шлюзом? (да/нет)
- Доходит ли UDP с мобильного интернета? (да/нет)

Если хотите, напишите:
- IP вашего VPS (или хотя бы тестовый порт), и я дам точные команды.
- Или пришлите выводы команд из раздела "Что мне прислать" — проанализирую и скажу, где именно затык.

Готов помочь дальше после ваших результатов.
Похоже, дело не в файрволах вообще, а в анти-DDoS/ACL на стороне хостинга VPS, завязанном на твой внешний IP. Это объясняет сразу всё: TCP цел, потому что режут обычно именно UDP, порт роли не играет, а с мобильного или check-host — просто другой IP, вот и проходит. Проверь: пересоздай PPPoE-сессию у Билайна (или смени WAN MAC), чтобы получить новый внешний IP, и повтори тест. Заработает — значит блокировка была по старому IP/подсети, дальше это уже к хостеру с логами анти-DDoS за твой IP.
Если ваш дом в России, в первую очередь нужно думать не на ваш vps а на вашего провайдера, а точнее его ТСПУ. <br/> <br/> Подключения за границу чебурнета теперь трактуются по особому, подключения могут не подняться, могут подняться но быть ограничены, могут работать в разное время по разному... <br/> <br/> Как можно протестировать, что бы исключить причину на стороне vps: <br/> Пока, vps-ки, взятые в аренду в локации Россия, не снабжены этими блокировками, т.е взяв сервер на час в усовном selectel/timeweb/aeza/... где-нибудь в москве/новосибирске можно провести тесты и посмотреть на работу подключений уже до тестируемого сервера. <br/> <br/> Тестировать можно напрямую, тем же netcat -u (для udp), или настроив vpn до российского vps, и тогда у вас станет не заблокированный интернет (вопрос не изучал как следует, допускаю что технологии блокировки в российских датацентрах отстают от тех что на домашних провайдерах примерно так же далеко как у домашних провайдеров и мобильных (тут вообще ад).
включи ВПН. если заработает то - антиддос хостера \ ркн \ провайдер
Похожие вопросы