Можно ли настроить проброс порта без использования белого IP-адреса?

  • 12 августа 2023 г. 10:53
Ответы на вопрос 2
Да, можно настроить проброс порта без использования белого IP-адреса. Существуют несколько методов, которые можно использовать для достижения прямого доступа между клиентами, находящимися за NAT провайдера.

Один из таких методов называется UDP Hole Punching или TCP Hole Punching. Он состоит в том, чтобы клиенты, находящиеся за NAT, отправляли запросы друг другу через NAT, и все эти запросы пробуждали NAT, чтобы они были перенаправлены на нужные порты. Этот метод требует активного участия обеих сторон (клиент1 и клиент2) и некоторого сервера-посредника, но не требует наличия публичных IP-адресов.

Процесс Hole Punching включает в себя следующие шаги:

1. Клиент1 и клиент2 подключаются к серверу посреднику и сообщают ему свои IP-адреса и порты.
2. Сервер-посредник сообщает каждому клиенту IP-адрес и порт другого клиента.
3. Клиент1 и клиент2 начинают отправлять сообщения друг другу через сервер-посредник.
4. Роутеры обоих клиентов видят эти пакеты и «просыпаются», открывая порты.
5. Теперь клиент1 и клиент2 могут обмениваться непосредственными пакетами, обходя сервер-посредник.

Однако Hole Punching не гарантирует 100% успеха, так как это зависит от особенностей конкретного NAT-устройства и настроек провайдера. Некоторые провайдеры или маршрутизаторы могут блокировать или ограничивать Hole Punching.

Возможно, самым надежным решением для обеспечения прямого доступа между клиентами, находящимися за NAT провайдера, без использования публичного IP-адреса, является использование серверов ретрансляции или TURN (Traversal Using Relays around NAT). Сервер TURN действует как посредник между клиентами и устанавливает прямые соединения между ними.

Однако использование TURN сервера может требовать определенных системных или дополнительных затрат ресурсов. 

Важно отметить, что использование нелегальных методов обхода NAT, таких как порты UPnP или NAT-PMP, может нарушать политику сети и привести к потере доступа к сети или другим проблемам.

Информация об этих методах и их реализациях доступна в различных открытых источниках и коммьюнити, поэтому рекомендуется изучить их для подробной реализации в конкретной ситуации.
VPS серверы могут быть использованы для установки VPN и соединения нескольких устройств в одну сеть. При этом, существуют готовые программы, такие как Tinc, ZeroTier и Tailscale для упрощения процесса установки VPN на VPS. Принцип работы заключается в том, что вы арендуете VPS и устанавливаете на него VPN сервер. Затем, подключаетесь к этому серверу с помощью клиентов со своих устройств. После этого вы можете взаимодействовать внутри VPN сети по внутренним IP-адресам или настроить перенаправление нужных портов с VPS на клиенты внутри VPN. Кроме этого, для обеспечения прямого соединения между клиентами за NAT используются серверы STUN, которые позволяют устанавливать соединения между устройствами за NAT без вмешательства провайдера.
Похожие вопросы