NPS 內(nèi)網(wǎng)穿透

1.About
一款輕量級讹开、高性能盅视、功能強(qiáng)大的內(nèi)網(wǎng)穿透代理服務(wù)器。支持tcp旦万、udp闹击、socks5、http等幾乎所有流量轉(zhuǎn)發(fā)成艘,可用來訪問內(nèi)網(wǎng)網(wǎng)站赏半、本地支付接口調(diào)試、ssh訪問淆两、遠(yuǎn)程桌面除破,內(nèi)網(wǎng)dns解析、內(nèi)網(wǎng)socks5代理等等……琼腔,并帶有功能強(qiáng)大的web管理端瑰枫。

  1. GitHub地址及相關(guān)文檔
    github地址: https://github.com/ehang-io/nps

說明文檔: https://ehang-io.github.io/nps/#/description

  1. 簡單介紹
    ① 本次記錄的是使用內(nèi)網(wǎng)穿透的供能

②原因: 因微信支付需要做回調(diào),所以本地測試需要做內(nèi)網(wǎng)穿透

③使用nps做內(nèi)網(wǎng)穿透的幾點(diǎn)要求:

要求1: 必須有一個公網(wǎng)的服務(wù)器丹莲,含有靜態(tài)ip

要求2:熟悉linux 基礎(chǔ)操作

要求3: 本次服務(wù)器端使用的centos7.5 x86架構(gòu)系統(tǒng)光坝,客戶端為windows系統(tǒng)(官方文檔有別的系統(tǒng)配置)

④需要下載一個服務(wù)端,一個客戶端 甥材。服務(wù)端放在公網(wǎng)服務(wù)器 上盯另,客戶端放在本地局域網(wǎng)的某臺機(jī)器上或路由器上(本次放 在本機(jī))

  1. 服務(wù)器端配置nps
mkdir -p /nps/server  #創(chuàng)建多級目錄
cd /nps/server
#下載到server目錄下并解壓
wget https://github.com/ehang-io/nps/releases/download/v0.26.9/linux_386_server.tar.gz
tar -zxvf linux_386_server.tar.gz
#解壓后會含有一下目錄及文件
# conf  nps  web

下載完服務(wù)器壓縮包后,解壓洲赵,然后進(jìn)入解壓后的文件夾

執(zhí)行安裝命令

對于linux|darwin sudo ./nps install

修改配置文件

配置文件在 /etc/nps/conf/nps.conf ,只需要修改下面的web的host鸳惯、賬號、密碼和端口號即可叠萍,其他可保持不變

appname = nps
#Boot mode(dev|pro)
runmode = dev

#HTTP(S) proxy port, no startup if empty
http_proxy_ip=0.0.0.0
http_proxy_port=80
https_proxy_port=443
https_just_proxy=true
#default https certificate setting
https_default_cert_file=conf/server.pem
https_default_key_file=conf/server.key

##bridge
bridge_type=tcp
#客戶端連接端口
bridge_port=8024
bridge_ip=0.0.0.0

# Public password, which clients can use to connect to the server
# After the connection, the server will be able to open relevant ports and parse related domain names according to its own configuration file.
public_vkey=123

#Traffic data persistence interval(minute)
#Ignorance means no persistence
#flow_store_interval=1

# log level LevelEmergency->0  LevelAlert->1 LevelCritical->2 LevelError->3 LevelWarning->4 LevelNotice->5 LevelInformational->6 LevelDebug->7
log_level=7
#log_path=nps.log

#Whether to restrict IP access, true or false or ignore
#ip_limit=true

#p2p
#p2p_ip=127.0.0.1
#p2p_port=6000

#web
#面板host
web_host=39.96.87.0
#面板賬號
web_username=nmy
#面板密碼
web_password=nmy
#面板啟動端口號
web_port = 8888
web_ip=0.0.0.0
web_base_url=
#是否開啟https默認(rèn)不開啟
web_open_ssl=false
web_cert_file=conf/server.pem
web_key_file=conf/server.key
# if web under proxy use sub path. like http://host/nps need this.
#web_base_url=/nps

#Web API unauthenticated IP address(the len of auth_crypt_key must be 16)
#Remove comments if needed
#auth_key=test
auth_crypt_key =1234567812345678

#allow_ports=9001-9009,10001,11000-12000

#Web management multi-user login
allow_user_login=false
allow_user_register=false
allow_user_change_username=false


#extension
allow_flow_limit=false
allow_rate_limit=false
allow_tunnel_num_limit=false
allow_local_proxy=false
allow_connection_num_limit=false
allow_multi_ip=false
system_info_display=false

#cache
http_cache=false
http_cache_length=100

#get origin ip
http_add_origin_header=false

#pprof debug options
#pprof_ip=0.0.0.0
#pprof_port=9999

#client disconnect timeout
disconnect_timeout=60

啟動nps 對于linux|darwin sudo nps start

如果發(fā)現(xiàn)沒有啟動成功芝发,可以使用nps(.exe) stop,然后運(yùn)行nps.(exe)運(yùn)行調(diào)試苛谷,或查看日志(Windows日志文件位于當(dāng)前運(yùn)行目錄下辅鲸,linux和darwin位于/var/log/nps.log)

訪問服務(wù)端ip:web服務(wù)端口(默認(rèn)為8080)

使用用戶名和密碼登陸(默認(rèn)admin/123,正式使用一定要更改)

創(chuàng)建客戶端

5.客戶端簡單配置
windows下載客戶端地址 :https://github.com/ehang-io/nps/releases/download/v0.26.9/windows_amd64_client.tar.gz

下載完成之后解壓:


獲得conf ,npc.exe 文件腹殿,然后登錄你的nps 面板独悴,新建一個客戶端



配置客戶端


下載客戶端安裝包并解壓例书,進(jìn)入到解壓目錄

點(diǎn)擊web管理中客戶端前的+號,復(fù)制啟動命令

執(zhí)行啟動命令刻炒,linux直接執(zhí)行即可决采,windows將./npc換成npc.exe用cmd執(zhí)行

建議直接以客戶端命令執(zhí)行(將命令放入cmd 中即可)

沒有問題的話,到這里就可以結(jié)束了

以下是客戶端的基本配置

6.客戶端復(fù)雜使用
無配置文件模式

此模式的各種配置在服務(wù)端web管理中完成,客戶端除運(yùn)行一條命令外無需任何其他設(shè)置

 ./npc -server=ip:port -vkey=web界面中顯示的密鑰Copy to clipboardErrorCopied

注冊到系統(tǒng)服務(wù)(開機(jī)啟動坟奥、守護(hù)進(jìn)程)

對于linux织狐、darwin

注冊:sudo ./npc install 其他參數(shù)(例如-server=xx -vkey=xx或者-config=xxx)

啟動:sudo npc start

停止:sudo npc stop

如果需要更換命令內(nèi)容需要先卸載./npc uninstall,再重新注冊

對于windows筏勒,使用管理員身份運(yùn)行cmd

注冊:npc.exe install 其他參數(shù)(例如-server=xx -vkey=xx或者-config=xxx)

啟動:npc.exe start

停止:npc.exe stop

如果需要更換命令內(nèi)容需要先卸載npc.exe uninstall,再重新注冊

如果需要當(dāng)客戶端退出時自動重啟客戶端旺嬉,請按照如圖所示配置

注冊到服務(wù)后管行,日志文件windows位于當(dāng)前目錄下,linux和darwin位于/var/log/npc.log

客戶端更新

首先進(jìn)入到對于的客戶端二進(jìn)制文件目錄

請首先執(zhí)行sudo npc stop或者npc.exe stop停止運(yùn)行邪媳,然后

對于linux

 sudo npc-update updateCopy to clipboardErrorCopied

對于windows

npc-update.exe updateCopy to clipboardErrorCopied

更新完成后捐顷,執(zhí)行執(zhí)行sudo npc start或者npc.exe start重新運(yùn)行即可完成升級

如果無法更新成功,可以直接自行下載releases壓縮包然后覆蓋原有的npc二進(jìn)制文件

配置文件模式

此模式使用nps的公鑰或者客戶端私鑰驗(yàn)證雨效,各種配置在客戶端完成迅涮,同時服務(wù)端web也可以進(jìn)行管理

 ./npc -config=npc配置文件路徑Copy to clipboardErrorCopied

配置文件說明

示例配置文件

全局配置

[common]
server_addr=1.1.1.1:8024
conn_type=tcp
vkey=123
username=111
password=222
compress=true
crypt=true
rate_limit=10000
flow_limit=100
remark=test
max_conn=10
#pprof_addr=0.0.0.0:9999Copy to clipboardErrorCopied

項(xiàng) 含義
server_addr 服務(wù)端ip/域名:port
conn_type 與服務(wù)端通信模式(tcp或kcp)
vkey 服務(wù)端配置文件中的密鑰(非web)
username socks5或http(s)密碼保護(hù)用戶名(可忽略)
password socks5或http(s)密碼保護(hù)密碼(可忽略)
compress 是否壓縮傳輸(true或false或忽略)
crypt 是否加密傳輸(true或false或忽略)
rate_limit 速度限制,可忽略
flow_limit 流量限制徽龟,可忽略
remark 客戶端備注叮姑,可忽略
max_conn 最大連接數(shù),可忽略
pprof_addr debug pprof ip:port
域名代理

[common]
server_addr=1.1.1.1:8024
vkey=123
[web1]
host=a.proxy.com
target_addr=127.0.0.1:8080,127.0.0.1:8082
host_change=www.proxy.com
header_set_proxy=npsCopy to clipboardErrorCopied

項(xiàng) 含義
web1 備注
host 域名(http
target_addr 內(nèi)網(wǎng)目標(biāo)据悔,負(fù)載均衡時多個目標(biāo)传透,逗號隔開
host_change 請求host修改
header_xxx 請求header修改或添加,header_proxy表示添加header proxy:nps
tcp隧道模式

[common]
server_addr=1.1.1.1:8024
vkey=123
[tcp]
mode=tcp
target_addr=127.0.0.1:8080
server_port=9001Copy to clipboardErrorCopied

項(xiàng) 含義
mode tcp
server_port 在服務(wù)端的代理端口
tartget_addr 內(nèi)網(wǎng)目標(biāo)
udp隧道模式

[common]
server_addr=1.1.1.1:8024
vkey=123
[udp]
mode=udp
target_addr=127.0.0.1:8080
server_port=9002Copy to clipboardErrorCopied

項(xiàng) 含義
mode udp
server_port 在服務(wù)端的代理端口
target_addr 內(nèi)網(wǎng)目標(biāo)
http代理模式

[common]
server_addr=1.1.1.1:8024
vkey=123
[http]
mode=httpProxy
server_port=9003Copy to clipboardErrorCopied

項(xiàng) 含義
mode httpProxy
server_port 在服務(wù)端的代理端口
socks5代理模式

[common]
server_addr=1.1.1.1:8024
vkey=123
[socks5]
mode=socks5
server_port=9004
multi_account=multi_account.confCopy to clipboardErrorCopied

項(xiàng) 含義
mode socks5
server_port 在服務(wù)端的代理端口
multi_account socks5多賬號配置文件(可選),配置后使用basic_username和basic_password無法通過認(rèn)證
私密代理模式

[common]
server_addr=1.1.1.1:8024
vkey=123
[secret_ssh]
mode=secret
password=ssh2
target_addr=10.1.50.2:22Copy to clipboardErrorCopied

項(xiàng) 含義
mode secret
password 唯一密鑰
target_addr 內(nèi)網(wǎng)目標(biāo)
p2p代理模式

[common]
server_addr=1.1.1.1:8024
vkey=123
[p2p_ssh]
mode=p2p
password=ssh2
target_addr=10.1.50.2:22Copy to clipboardErrorCopied

項(xiàng) 含義
mode p2p
password 唯一密鑰
target_addr 內(nèi)網(wǎng)目標(biāo)
文件訪問模式

利用nps提供一個公網(wǎng)可訪問的本地文件服務(wù)极颓,此模式僅客戶端使用配置文件模式方可啟動

[common]
server_addr=1.1.1.1:8024
vkey=123
[file]
mode=file
server_port=9100
local_path=/tmp/
strip_pre=/web/Copy to clipboardErrorCopied

項(xiàng) 含義
mode file
server_port 服務(wù)端開啟的端口
local_path 本地文件目錄
strip_pre 前綴
對于strip_pre朱盐,訪問公網(wǎng)ip:9100/web/相當(dāng)于訪問/tmp/目錄

斷線重連

[common]
auto_reconnection=true

原文鏈接:https://blog.csdn.net/qq_33873013/article/details/109074679

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市菠隆,隨后出現(xiàn)的幾起案子兵琳,更是在濱河造成了極大的恐慌,老刑警劉巖骇径,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件躯肌,死亡現(xiàn)場離奇詭異,居然都是意外死亡破衔,警方通過查閱死者的電腦和手機(jī)羡榴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來运敢,“玉大人校仑,你說我怎么就攤上這事忠售。” “怎么了迄沫?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵稻扬,是天一觀的道長。 經(jīng)常有香客問我羊瘩,道長泰佳,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任尘吗,我火速辦了婚禮逝她,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘睬捶。我一直安慰自己黔宛,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布擒贸。 她就那樣靜靜地躺著臀晃,像睡著了一般。 火紅的嫁衣襯著肌膚如雪介劫。 梳的紋絲不亂的頭發(fā)上徽惋,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天,我揣著相機(jī)與錄音座韵,去河邊找鬼险绘。 笑死,一個胖子當(dāng)著我的面吹牛誉碴,可吹牛的內(nèi)容都是我干的隆圆。 我是一名探鬼主播,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼翔烁,長吁一口氣:“原來是場噩夢啊……” “哼渺氧!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蹬屹,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤侣背,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后慨默,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體贩耐,經(jīng)...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年厦取,在試婚紗的時候發(fā)現(xiàn)自己被綠了潮太。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,505評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖铡买,靈堂內(nèi)的尸體忽然破棺而出更鲁,到底是詐尸還是另有隱情,我是刑警寧澤奇钞,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布澡为,位于F島的核電站,受9級特大地震影響景埃,放射性物質(zhì)發(fā)生泄漏媒至。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一谷徙、第九天 我趴在偏房一處隱蔽的房頂上張望拒啰。 院中可真熱鬧,春花似錦完慧、人聲如沸谋旦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至赴叹,卻和暖如春鸿染,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背乞巧。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工涨椒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人绽媒。 一個月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓蚕冬,卻偏偏與公主長得像,于是被迫代替她去往敵國和親是辕。 傳聞我的和親對象是個殘疾皇子囤热,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評論 2 359

推薦閱讀更多精彩內(nèi)容