你是不是經(jīng)常會(huì)遇到這么一種需求,需要在外網(wǎng)情況下訪問局域網(wǎng)下的程序或者應(yīng)用?比如,你的電腦上有相當(dāng)一部分資料,非你本地的用戶想訪問,怎么辦呢?這時(shí)候就需要用到內(nèi)網(wǎng)穿透服務(wù),實(shí)現(xiàn)外網(wǎng)用戶訪問我的內(nèi)網(wǎng)資源。
那么什么是內(nèi)網(wǎng)穿透呢?內(nèi)網(wǎng)穿透,即NAT穿透,網(wǎng)絡(luò)連接時(shí)術(shù)語。外網(wǎng)與內(nèi)網(wǎng)的計(jì)算機(jī)節(jié)點(diǎn)需要連接通信,映射端口能讓外網(wǎng)的電腦找到處于內(nèi)網(wǎng)的電腦,提高下載速度。
今天我們需要借助一個(gè)內(nèi)網(wǎng)穿透服務(wù)工具來實(shí)現(xiàn),那就nps內(nèi)網(wǎng)穿透服務(wù)。
nps介紹
nps是一款輕量級(jí)、高性能、功能強(qiáng)大的內(nèi)網(wǎng)穿透代理服務(wù)器。目前支持tcp、udp流量轉(zhuǎn)發(fā),可支持任何tcp、udp上層協(xié)議(訪問內(nèi)網(wǎng)網(wǎng)站、本地支付接口調(diào)試、ssh訪問、遠(yuǎn)程桌面,內(nèi)網(wǎng)dns解析等等……),此外還支持內(nèi)網(wǎng)http代理、內(nèi)網(wǎng)socks5代理、p2p等,并帶有功能強(qiáng)大的web管理端。
nps功能介紹
1、做微信公眾號(hào)開發(fā)、小程序開發(fā)等----> 域名代理模式
2、想在外網(wǎng)通過ssh連接內(nèi)網(wǎng)的機(jī)器,做云服務(wù)器到內(nèi)網(wǎng)服務(wù)器端口的映射,----> tcp代理模式
3、在非內(nèi)網(wǎng)環(huán)境下使用內(nèi)網(wǎng)dns,或者需要通過udp訪問內(nèi)網(wǎng)機(jī)器等----> udp代理模式
4、在外網(wǎng)使用HTTP代理訪問內(nèi)網(wǎng)站點(diǎn)----> http代理模式
5、搭建一個(gè)內(nèi)網(wǎng)穿透ss,在外網(wǎng)如同使用內(nèi)網(wǎng)vpn一樣訪問內(nèi)網(wǎng)資源或者設(shè)備----> socks5代理模式
實(shí)驗(yàn)環(huán)境的要求
1、需要有個(gè)公網(wǎng)IP,我的是以一個(gè)華為云服務(wù)器帶有公網(wǎng)(CentoOS7.5),服務(wù)器主機(jī)名:my-bo
2、實(shí)驗(yàn)環(huán)境:一個(gè)在vmwork16的虛擬上的內(nèi)網(wǎng)服務(wù)器(CentOS7.5),IP:192.168.9.132,服務(wù)器主機(jī)名:node3。所以我的服務(wù)端和客戶端都是Linux。
nps的下載
下載網(wǎng)址: https://github.com/ehang-io/nps/releases
我這里安裝的是v0.26.10(是最新版)
nps的服務(wù)端安裝(在公網(wǎng)服務(wù)器上安裝)
我這屬于新版,相對(duì)于舊版有所不同
將下載的server軟件包,傳至到Linux
然后解壓,安裝,啟動(dòng)
[root@mybo ~]# tar xzvf linux_amd64_server.tar.gz [root@mybo ~]# ./nps install [root@mybo ~]# nps start #注意nps服務(wù)端啟動(dòng)會(huì)占用80,8080,8024端口
nps的版本:
[root@mybo ~]# nps --version Version: 0.26.10 Core version: 0.26.0 Same core version of client and server can connect each other
此時(shí)服務(wù)端啟動(dòng)完畢,在瀏覽器訪問:公網(wǎng)ip:8080
默認(rèn)登陸用戶/密碼:admin/123
點(diǎn)擊“客戶端—>新增”,來添加客戶端
配置客戶端:
點(diǎn)擊"+",將一條命令運(yùn)行在客戶端
nps客戶端配置(在內(nèi)網(wǎng)服務(wù)器上安裝)
[root@node3 ~]# tar xzvf linux_amd64_client.tar.gz [root@node3 ~]# ./npc -server=121.36.193.171:8024 -vkey=noluyzdib92ytybn -type=tcp 2022/03/06 05:00:51.066 [I] [npc.go:231] the version of client is 0.26.10, the core version of client is 0.26.0 2022/03/06 05:00:51.264 [I] [client.go:72] Successful connection with server 121.36.193.171:8024 #顯示來連接成功
如何看和客戶端來連接成功?
在Web界面,看剛才增加的客戶端的信息:
設(shè)置內(nèi)網(wǎng)穿透,訪問內(nèi)網(wǎng)服務(wù)資源
實(shí)現(xiàn)效果:
將服務(wù)端的IP:8002端口映射到客戶端的IP:80端口,也就是訪問內(nèi)網(wǎng)的Web資源。
將服務(wù)端的IP:8003端口映射到客戶端的IP:22端口,也就是ssh遠(yuǎn)程連接內(nèi)網(wǎng)服務(wù)器。
操作如下:
1、映射客戶端的IP:80端口:點(diǎn)擊剛才配置的客戶端”隧道—>新增“:
配置完之后,點(diǎn)擊”新增“
2、映射客戶端的IP:22端口:點(diǎn)擊剛才配置的客戶端”隧道—>新增“:
配置完之后,點(diǎn)擊”新增“
3、點(diǎn)擊左側(cè)導(dǎo)航欄的”TCP隧道“
配置華為云服務(wù)器的安全組—開放8002,8003端口
華為云服務(wù)器默認(rèn)之開啟22端口,因此我們需要手動(dòng)開啟8002,8003端口,否則影響實(shí)驗(yàn)效果。
點(diǎn)擊”服務(wù)器名稱—>安全組配置—>配置入口規(guī)則,開放8002,8003端口即可“。
測(cè)試訪問Web資源穿透效果
前提:內(nèi)網(wǎng)服務(wù)中需要安裝httpd服務(wù),并且開啟
[root@node3 ~]# yum install -y httpd [root@node3 ~]# systemctl restart httpd [root@node3 ~]# echo ""Hello Nps > /var/www/html/index.html #準(zhǔn)備測(cè)試文件
內(nèi)網(wǎng)測(cè)試:沒問題。
測(cè)試ssh遠(yuǎn)程登陸
原文鏈接:https://blog.csdn.net/m0_57776598/article/details/123674866