Часто возникает проблема, что провайдер предоставляет вам интернет через NAT.
Я уже объяснял несколько раз что это такое, но если вкратце, это когда у вас нет собственного внешнего IP адреса в интернете, и вы вместе с другими абонентами провайдера сидите за одним общим внешним IP. Это создает массу проблем, в частности – из интернета нельзя подсоединится к вашей локальной сети. Проблема на самом деле имеет простое решение у небольших провайдеров – они пробрасывает вам некий диапазон портов, перенастроив программы на использование которых можно подключаться к компьютеру из интернета через NAT провайдера. Но большинство провайдеров этого не делает, а предлагает купить услугу статического IP-адреса, за которую просят лишних 100-200 рублей в месяц. Есть ряд решений данной проблемы, самый наверное простой – использовать функцию VPN в Teamviewer. Настроив VPN через Teamviewer, вы создадите внутри интернета виртуальную сеть, где будет видна ваша внутренняя домашняя сеть. Но вряд ли Teamviewer даст всем вашим друзьям одновременно подключиться к VPN, поэтому это решение вряд ли поможет вам открыть собственный доступный из интернета игровой сервер например. Мы не будем говорить о VPS и тому подобной экзотике, так как за эти удовольствия надо платить. Поговорим о бесплатном решении собственно проблемы прорезывания портов – называется оно NGROK. Решение предоставляется по схеме “плати сколько можешь”. То есть по сути, это донат. Хочешь плати, ну а не можешь – не плати. Для использования вам нужно скачать и установить клиент ngrok. Дальше запускаем клиент с вот таким вот параметром. 80 означает что нам будет прокинут 80-ый порт. Если вы делаете сервер под игру, то посмотрите какие там стандартные порты, их и прокидывайте. Запуск команды позволяет обойти NAT, и наш компьютер становится виден через интернет вот по этому URL который сгенерировал нам ngrok. Оно страшное, поэтому мы можем себе выбрать красивое имя, ну например izzylaif.ngrok.com, для чего используем команду subdomain. Теперь наш сервер виден через izzylaif.ngrok.com по стандартному для вебсерверов порту 80. Также можно получить в личном кабинете на сайте ngrok токен, и прописав его в ngrok, он будет знать что вы зарегистрированный пользователь, что открывает некоторый дополнительный функционал. Настройки сохраняются в папку с учетной записью вашего пользователя, и называется .ngrok Так, теперь как же собственно подключить этот прокинутый минуя провайдера порт к нужному серверу. Если вы запустили сервер для ИГР!! ну например Minecraft или CS:GO на этом же компьютере где настраиваете ngrok, то дополнительно ничего указывать не надо – ngrok и так прокидывает порты на 127.0.0.1 то есть localhost, этот компьютер. Если же нужно прокинуть порты на какой-то другой компьютер, находящийся в этой же сети, то можно явным образом указать его IP адрес локальный, и также порт. То есть можно прокидывать один порт на другой порт. Соответственно, в результате этих манипуляций мне удалось достучаться до локального сервера видеонаблюдения, а котором я уже рассказывал в видео о том как сделать систему видеонаблюдения. И теперь я могу к нему подключаться с любого компьютера в мире. Стоит отметить, что все эти манипуляции по прокидыванию портов увеличивают пинг, что может повлечь за собой лаги в игре со всеми сопутствующими неприятностями. Но зато, это дает вам возможность открыть собственный игровой сервер даже когда провайдер блокирует порты через NAT.