Так что в основном мой компьютер находится за NAT.
У меня всего 3 IP адреса,
1. Публичный адрес моего провайдера. (27.106.96.113)
Этот адрес был обнаружен, когда я гуглю «Мой IP».
2. МОЙ Личный адрес, который дал мне мой провайдер. (172.16.91.141)
Этот адрес был обнаружен в моем маршрутизаторе как мой публичный адрес.
3. Мой фактический частный адрес. (192.168.0.100)
Этот IP-адрес установлен для моего ПК через Мой маршрутизатор (192.168.0.1) через DHCP.
Я могу получить доступ к своему ПК локально с этим (192.168.0.100) адресом.
Я могу получить доступ к своему ПК в сети моего провайдера (люди с таким же провайдером, как у меня) с этим (172.16.91.141) адресом.
Однако я не могу получить доступ к своему ПК по всему миру с этим (27.106.96.113) адресом.
Я знаю, что это происходит из-за того, что у моего провайдера есть конфигурация NAT, поэтому мой глобальный IP бесполезен.
Теперь я не могу разместить на Apache (для php) ни страницу сервлетов Java, ни мой игровой сервер Counter-Strike 1.6 в глобальном масштабе из-за NAT моего провайдера.
Я пытался найти решение для этого, но не смог.
У меня есть бесплатный хостинг php (скажем, my.hosting.com), который доступен по всему миру.
поэтому я подумал, что если я использую Socket Programming в моем веб-хостинге PHP и создаю соединение с моего компьютера на веб-хостинг PHP (который доступен глобально), то у меня есть туннель через веб-хостинг PHP и мой компьютер.
А затем я перенаправлю весь интернет-трафик с моего веб-хостинга PHP на мой компьютер.
так что, если я перенаправлю весь свой интернет-трафик с (my.hosting.com:80) на (192.168.0.100:8080), то я смогу подключиться к своему серверу, подключившись к своему веб-узлу PHP.
Теперь я новичок в PHP и никогда не пробовал программировать сокеты.
Это только моя мысль, и это может звучать глупо, если я ошибаюсь в концепции PHP Socket Programming.
Поэтому мне очень нужна помощь от вас, ребята, чтобы успешно подключить мой компьютер в глобальном масштабе.
Большое спасибо за чтение и, пожалуйста, помогите мне решить мою проблему.
Благодарю вас.
Поэтому, судя по тому, что вы пытаетесь достичь, лучше всего попросить вашего интернет-провайдера создать NAT на запасном порте TCP (если они позволят вам) для NAT, который передает определенный трафик на ваш шлюз 172.16.91.141, тогда вам потребуется создайте правило NAT на вашем маршрутизаторе, чтобы преобразовать NAT в этот трафик (скажем, это был «8080» от вашего ISP-маршрутизатора) и преобразовать, а затем преобразовать его обратно в «80».
WAN-> ISP Router (27.106.96.113 — от 8080 до 8080) -> Ваш маршрутизатор (172.16.91.141 от 8080 до 80) -> Ваш веб-сервер (http://192.168.0.100:80)
Ваш IP-адрес выглядит статичным, так как он имеет только блок из 254 адресов, поэтому вам не нужно беспокоиться об его изменении каждые несколько дней:
https://wq.apnic.net/whois-search/static/search.html?query=27.106.96.113
В до пламени: Это на самом деле не прямой ответ на проблему, описанную выше, но это может решить проблему ОП.
Вы когда-нибудь слышали о динамическом DNS https://en.wikipedia.org/wiki/Dynamic_DNS. Существует много провайдеров dyndns (также бесплатно), и многие интернет-маршрутизаторы изначально поддерживают его, предоставляя провайдеру свой публичный IP-адрес.
Вместо IP вы получите доменное имя, например, u0815.ddnsprovider.foo, которое вы можете использовать для доступа к вашему ПК через механизм перенаправления портов маршрутизатора.