說在前面——————以下內(nèi)容均建立在你有一臺(tái)外網(wǎng)服務(wù)器的基礎(chǔ)上進(jìn)行。阿里云、騰訊云什么的都可以。
本文講述:
1.在任何地方通過ssh連接公司或者家中的服務(wù)器
2.在任何地方通過遠(yuǎn)程桌面連接公司或者家里的Windows電腦
好久沒有與大家分享知識(shí),內(nèi)心十分過意不去,正好最近有用到frp,所以今天就來簡(jiǎn)單的和大家說一下通過frp實(shí)現(xiàn)內(nèi)網(wǎng)穿透。
1.做我們這行,加班是難免的嘛。即使我們偶爾調(diào)休也難免有同事打電話咨詢你??墒怯泻芏鄸|西根本記不住,尤其像代碼這種東西。有時(shí)著急不得不回一趟公司,非常浪費(fèi)時(shí)間。如果我們可以遠(yuǎn)程連接豈不是更方便。
2.當(dāng)然也未必是家里到公司,也可以是公司到家里、公司到學(xué)校、家到學(xué)校,可以穿透到一切你想穿透的地方。
3.這里我們說的是使用frp進(jìn)行內(nèi)網(wǎng)穿透,映射端口實(shí)現(xiàn)遠(yuǎn)程連接??赡苡腥藭?huì)問了,網(wǎng)絡(luò)上面有很多類似的現(xiàn)成軟件,為什么不直接使用?像TeamViews個(gè)人版是完全免費(fèi)使用的,并不是因?yàn)樗缓茫皇菓?yīng)需定制性并不高,如果公司的網(wǎng)絡(luò)不穩(wěn)定,會(huì)造成teamviews掉線,無法進(jìn)行無人值守。
1.frp可能有些伙伴了解,有些伙伴不了解。這里呢,簡(jiǎn)單的介紹一下子。frp 是一個(gè)可用于內(nèi)網(wǎng)穿透的高性能的反向代理應(yīng)用,支持 tcp, udp, http, https 協(xié)議。作者fatedier,項(xiàng)目開源在github,大家自行搜索即可下載。
2.也就是說,我們能做的事情有很多,比如通過3389端口映射到外網(wǎng),即可隨時(shí)隨地遠(yuǎn)程桌面連接自己的電腦;也可以通過映射22端口實(shí)現(xiàn)ssh的穿透;可以通過80、8080等等端口映射穿透自己本機(jī)的web服務(wù)到公網(wǎng)。還有很多很多的功能我們就不做過多的贅述,作者也不是研究很深,在這里只是給大家實(shí)現(xiàn)一些常用的功能。
1.首先我們操作云端的服務(wù)器,使用wget命令下載frp并解壓。
2.進(jìn)入解壓后的目錄并編輯frps.ini配置文件。
3.除非你想更改映射的端口,否則無需修改,直接執(zhí)行如下命令:
$ ./frps -c frps.ini
可得如下結(jié)果:
4.上圖顯而易見可以看到是啟動(dòng)成功了,但是我們不能關(guān)閉終端,否則會(huì)自動(dòng)關(guān)閉。一般來說我們是需要后臺(tái)一直運(yùn)行著的,所以我們使用nohup命令讓其后臺(tái)執(zhí)行。
5.再然后呢,就是在我們的云服務(wù)器的安全規(guī)則中開放對(duì)應(yīng)的端口,這里我就不做詳細(xì)的介紹了,大家自行開放端口即可。
6.接下來我們配置本地的機(jī)器與云端服務(wù)器相關(guān)聯(lián)。同樣的我們需要先下載frp,步驟同第一步。
7.這次因?yàn)槲覀兪强蛻舳?,所以我們編輯frpc.ini這個(gè)配置文件。
途中的local_ip表示本地客戶端的IP,Local_port表示本地客戶端對(duì)應(yīng)的端口,remote_port表示對(duì)應(yīng)云端服務(wù)器的端口。
8.所有remote_port對(duì)應(yīng)的端口必須在云端服務(wù)器中開放,否則無法進(jìn)行訪問。
9.接下來我們啟動(dòng)客戶端,我們依然使用后臺(tái)運(yùn)行來啟動(dòng)。
$ nohup ./frpc -c frpc.ini
10.萬事具備,還欠一個(gè)ssh密鑰,我們需要將密鑰加入到列表中。這樣我們就可以使用ssh -p 6002 user@云端IP 遠(yuǎn)程連接到我們內(nèi)網(wǎng)的機(jī)器了。
1.看了上面可能會(huì)有人說了,我不需要ssh鏈接服務(wù)器,我只是想遠(yuǎn)程桌面連接我公司的電腦用來遠(yuǎn)程調(diào)試bug(ps:我們程序員都是非常非常的敬業(yè)的,對(duì)于IT事業(yè)也是非常非常的熱愛的)。所以這一部分呢,我們來說一下如何通過frp映射3389實(shí)現(xiàn)遠(yuǎn)程桌面。
2.遠(yuǎn)端服務(wù)器我們無需更改,也不用去動(dòng),可以與很多客戶端連接也沒有問題。所以我們只需要在我們的Windows電腦中安裝frpc并啟動(dòng)即可。
3.大家自行搜索frp下載,到其GitHub開源下載中心下載對(duì)應(yīng)的Windows版本即可,解壓并修改frpc.ini。如圖:
4.因?yàn)檐浖拗?,我們無法直接運(yùn)行exe文件啟動(dòng),我們需要使用dos命令來啟動(dòng):
5.每次啟動(dòng)都要執(zhí)行這兩個(gè)命令會(huì)非常的麻煩,所以我將其封裝成了一個(gè)bat批處理文件,每次啟動(dòng)只需雙擊啟動(dòng)批處理就可以。
。
6.當(dāng)然還有一個(gè)問題,那就是我們同樣無法關(guān)閉dos命令框,如果關(guān)閉frp也同時(shí)被關(guān)閉了,所以我們需要同樣需要后臺(tái)執(zhí)行,所以我找到了一種辦法,可以使其后臺(tái)運(yùn)行。編寫一個(gè)vbs腳本。
7.我們只需執(zhí)行該腳本即可實(shí)現(xiàn)后臺(tái)執(zhí)行bat批處理文件。但我們還需要手動(dòng)去啟動(dòng)他,相對(duì)不太方便,所以我們將其加入到開機(jī)啟動(dòng),這樣每次開機(jī)都會(huì)自動(dòng)執(zhí)行這個(gè)腳本以啟動(dòng)frp,協(xié)助我們實(shí)現(xiàn)內(nèi)網(wǎng)穿透。加入開機(jī)啟動(dòng)的方法我就不細(xì)說了,大家自行搜索。
8.萬事具備我們可以通過Windows自帶的遠(yuǎn)程桌面連接一下:
其實(shí)與內(nèi)網(wǎng)的遠(yuǎn)程桌面一般無二,僅僅是指定了端口。至于速度嘛,就跟你電腦以及你的服務(wù)器息息相關(guān)啦。
1.聲明一點(diǎn),并不僅僅是80端口,任意端口都可以映射本地的web項(xiàng)目,其實(shí)上面說了這么多,用法都是一樣的,這個(gè)呢我就不詳細(xì)的去說明了,同樣域名直接解析到外網(wǎng)服務(wù)器就可以,只需映射本地與云端的端口即可實(shí)現(xiàn)穿透一切。
1.好久沒有為大家?guī)碛腥?、有用的知識(shí)了,在這里給大家賠個(gè)不是!??!
2.frp呢其實(shí)還有好多好多的用法,我也并沒有完全的去研究它,大家有空的話可以詳細(xì)的去研究一下,是一個(gè)非常的不錯(cuò)的開源項(xiàng)目,相對(duì)于廣大的程序員們來說同時(shí)也是一個(gè)非常有用的工具。
3.最后呢,感謝大家的閱讀以及關(guān)注,希望日后可以為大家?guī)砀嗟挠杏玫闹R(shí)。
聯(lián)系客服