Как локальный хост делится с интернетом?
Недавно я нашел сайты, которые генерируют общедоступный URL для данного локального хоста. Я очень заинтересован в понимании того, как локальный хост может быть разделен с Интернетом.
После долгих поисков я узнал, что он имеет дело с "туннелированием SSH" и "переадресацией портов". Я не знаю много о сети, но хотел бы узнать больше о том, как можно генерировать публичный URL локального хоста.
Может кто-нибудь объяснить мне, как этот процесс происходит? Или можете указать мне ссылки, которые могут помочь мне понять весь процесс.
3 ответа
Прежде всего, если ваш компьютер подключен к Интернету, у него есть какой-то публичный IP-адрес (или, по крайней мере, вы используете его, а не компьютер).
Этот адрес, например, 123.123.123.123. В зависимости от вашего интернет-провайдера этот адрес может меняться каждый раз, когда вы отключаетесь и подключаетесь к Интернету. Другие компьютеры в Интернете могут связаться с вашей сетью или компьютером, используя этот IP 123.123.123.123.
Теперь, если вы хотите сделать локальный веб-сервер доступным для Интернета, вам нужно настроить свой маршрутизатор (или компьютер), чтобы разрешить внешним пользователям доступ к вашему компьютеру через порт 80 (протокол HTTP) или порт 443 (протокол https).
Как только вы определили такие правила, другие смогут получить доступ к веб-сайту, используя ваш общедоступный ip 123.123.123.123.
Сейчас никто не любит запоминать IP-адреса, такие как 123.123.123.123, и именно поэтому существует система, называемая DNS(служба доменных имен). Этот сервис позволяет вам подключать адреса, такие как 123.123.123.123, к имени, подобному mywebsite.de. Поэтому, если кто-то введет www.mywebsite.de, система DNS разрешит это значение до 123.123.123.123, которое указывает на ваш компьютер.
Я надеюсь, что это как-то начало.
Если вы создаете SSH Tunnel, вы создаете безопасный туннель к удаленному компьютеру в вашей локальной сети (например, VPN, но только к одному компьютеру / устройству) - таким образом, если вы перейдете к IP-адресу вашего сервера (IP-адресу локальной сети), он будет работать как если бы вы были в вашей локальной сети (то есть дома или на работе).
Переадресация портов отличается, так как это указывает вашему модему / маршрутизатору открывать (и направлять ("пересылать")) внешние запросы на ваш общедоступный IP-адрес на серверное устройство, которое вы выбираете в вашей локальной сети.
Я полагаю, что переадресация портов - это то, на что вы в основном ссылаетесь, потому что теоретически вы можете открыть свой "локальный хост" для Интернета. Технически это не "localhost", но ваш веб-сервер прослушивает больше IP-адресов (IP вашей локальной сети), чем просто "localhost"...
Вам все еще нужно будет перенести порт вперед, чтобы включить работу SSH.
Для правильного ответа нам понадобятся адреса веб-сайтов, о которых вы говорите, чтобы проверить, как они работают.
Возможный путь может быть таким:
- Вы устанавливаете программу, предоставленную веб-сайтом, на свой компьютер
- эта программа соединяется с сервером провайдера и устанавливает туннель
- Как только туннель установлен, у провайдера есть способ получить доступ к ресурсам компьютера.
- провайдер создает запись DNS, например, "customer17.providername.com" для вашего компьютера. Эта запись указывает на сервер провайдера
- когда кто-то пытается подключиться к вашему компьютеру, он использует имя customer17.providername.com, он перенаправляется на сервер провайдера, который, в свою очередь, отправляет запрос на ваш компьютер через туннель.
Так работает Teamviewer (хотя и не с DNS-записью, а с внутренним идентификатором)