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