Теперь, если вы хотите поделиться чем-то с локального веб-сервера с друзьями, которые находятся за пределами локальной сети и не могут получить доступ к вашему компьютеру. Тогда как бы вы открыли свой локальный хост своим друзьям за пределами локальной сети??
В этом случае вы устанавливаете туннель от вашего локального хоста к Интернету и предоставляете своим друзьям общедоступный IP-адрес, к которому можно получить доступ со всего Интернета.
Туннели могут быть созданы с помощью SSH или же Нгрок. Здесь мы обсудим оба способа, а затем проверим результат туннелирования, используя netcat.
Получение общедоступного IP-адреса с помощью Ngrok
Нгрок это кроссплатформенное программное обеспечение для туннелирования, которое можно использовать для создания безопасных туннелей из Интернета в локальную сеть. Он также захватывает весь трафик для проверки. Ниже приведен метод создания туннелей от локального хоста к Интернету.
Установка Ngrok
Перед использованием Нгрок на вашей машине, мы должны его установить. Нгрок можно установить с помощью следующей команды в Терминале.
[электронная почта защищена]: ~ $ snap install ngrokКогда вы запустите указанную выше команду, она установит ngrok после загрузки необходимых файлов. Вы можете проверить, есть ли Нгрок был установлен или нет, используя следующую команду в Терминале.
[адрес электронной почты защищен]: ~ $ ngrok --versionЕсли Нгрок был установлен, он предоставит версию, как показано на следующем рисунке.
После установки Нгрок, теперь он готов к прокладке туннелей.
Предоставление доступа к Localhost публике
Нгрок используется для предоставления доступа к локальному веб-серверу в Интернет. Все, что нам нужно сделать, это сказать Нгрок какой порт слушает ваш локальный веб-сервер. Выполните следующую команду, чтобы открыть доступ к локальному веб-серверу в Интернете
[адрес электронной почты защищен]: ~ $ ngrok http 8080Когда вы запускаете указанную выше команду в Терминале, Нгрок устанавливает туннель от вашего локального веб-сервера к Интернету через порт 8080 и отображает общедоступный URL-адрес, через который можно получить доступ к вашему локальному веб-серверу. Следующий графический интерфейс появляется в Терминале, когда вы запускаете указанную выше команду.
Теперь к вашему localhost: 8080 можно получить доступ со всего Интернета, используя ссылку, показанную на рисунке выше.
Проверка движения через туннель
Нгрок дает нам возможность проверять все входящие или исходящие запросы из Интернета на ваш локальный хост. Мы можем наблюдать за всем трафиком, перейдя по следующей ссылке
локальный: 4040 / инспектировать / httpКогда вы переходите по указанной выше ссылке, браузер показывает вам все входящие или исходящие запросы, как показано на следующем рисунке.
Терминал также показывает запросы, сделанные на ваш локальный веб-сервер. На следующем рисунке показано, как терминал ведет учет HTTP-запросов.
Получение общедоступного IP-адреса с помощью SSH
SSH также известный как Secure Shell - это безопасный протокол связи, используемый для удаленной связи между клиентом и сервером. более того, SSH также может использоваться для создания туннелей, чтобы сделать ваш локальный хост доступным для всех. В этом блоге мы увидим, как использовать SSH для создания туннелей между вашим локальным хостом и общедоступным Интернетом.
Предоставление доступа к Localhost публике
Localhost также может быть открыт для публики с помощью SSH который в основном является протоколом связи. Это называется SSH туннелирование или SSH Перенаправление порта. Выполните следующую команду в Терминале вашего локального хоста, чтобы установить туннель между вашим локальным хостом и удаленным сервером
[электронная почта защищена]: ~ $ ssh -R 8080: localhost: 8088 remoteUser @ IPAddressВ приведенной выше команде
- 8080 - это порт, который слушает сервер
- 8088 - это порт, который вы хотите открыть
- remoteUser - это имя пользователя, которому вы собираетесь открыть свой веб-сервер
- IPAddress - это IP-адрес удаленного пользователя
- -R означает, что вы создаете соединение с удаленным сервером на свой локальный хост
Теперь к порту 8088 вашего локального хоста можно получить доступ с удаленного сервера, имеющего IP-адрес «IP-адрес» и имя пользователя «remoteUser» через порт 8080.
Конфигурация удаленного сервера
Прежде чем получить доступ к localhost через туннель с удаленного сервера, внесите некоторые изменения в sshd_config файл удаленного сервера. Этот файл можно открыть, набрав следующую команду в терминале.
[электронная почта защищена]: ~ $ nano / etc / ssh / sshd_configПосле открытия файла внесите изменения, как показано на следующем рисунке.
AllowTcpForwarding даGatewayPorts да
После внесения изменений перезапустите SSH сервер, чтобы применить эти изменения. Теперь localhost открыт для доступа к удаленному серверу.
Тестирование туннелей
До сих пор мы установили туннели между localhost и удаленным сервером, используя SSH а также Нгрок. Теперь проверим, были ли эти туннели проложены или нет. Мы будем использовать netcat команда для проверки туннелей. Выполните следующую команду в терминале вашего локального хоста
[электронная почта защищена]: ~ $ netcat -l -p 8088Когда вы запускаете указанную выше команду в терминале вашего локального хоста, netcat начинает прослушивать порт 8088 вашего локального хоста.
Теперь введите следующую команду в терминале удаленного сервера, чтобы отправить сообщение
[электронная почта защищена]: ~ $ echo «Привет!»| netcat [IP-адрес удаленного сервера] 8080Когда вы запускаете указанную выше команду в терминале вашего удаленного сервера, сообщение «Hello» должно появиться на терминале localhost. Если это произойдет, значит, ваш туннель создан.
Заключение
Чтобы сделать ваш локальный хост доступным из Интернета, нужно установить туннели между вашим локальным хостом и Интернетом. В этом блоге мы обсудили, как установить туннели, чтобы сделать ваш локальный хост доступным для Интернета. Обсуждались два метода создания туннелей: SSH туннелирование и Нгрок туннелирование. Дорожная инспекция с использованием Нгрок туннелирование также обсуждалось. После этого начинается процесс тестирования туннелей с помощью netcat обсуждался. После прочтения этого блога вам будет очень легко сделать свой локальный веб-сервер общедоступным.