內網穿透在家遠端連線公司電腦?

2020-08-14 23:07:48

說在前面——————以下內容均建立在你有一臺外網伺服器的基礎上進行。阿裡雲、騰訊雲什麼的都可以。

本文講述:

1.在任何地方通過ssh連線公司或者家中的伺服器

2.在任何地方通過遠端桌面連線公司或者家裏的Windows電腦

前言

好久沒有與大家分享知識,內心十分過意不去,正好最近有用到frp,所以今天就來簡單的和大家說一下通過frp實現內網穿透。

一、爲什麼要在家遠端連線公司的電腦?

1.做我們這行,加班是難免的嘛。即使我們偶爾調休也難免有同事打電話諮詢你。可是有很多東西根本記不住,尤其像程式碼這種東西。有時着急不得不回一趟公司,非常浪費時間。如果我們可以遠端連線豈不是更方便。

2.當然也未必是家裏到公司,也可以是公司到家裏、公司到學校、家到學校,可以穿透到一切你想穿透的地方。

3.這裏我們說的是使用frp進行內網穿透,對映埠實現遠端連線。可能有人會問了,網路上面有很多類似的現成軟體,爲什麼不直接使用?像TeamViews個人版是完全免費使用的,並不是因爲他不好,只是應需定製性並不高,如果公司的網路不穩定,會造成teamviews掉線,無法進行無人值守。

二、什麼是frp?除了遠端桌面,frp還可以做什麼?

1.frp可能有些夥伴瞭解,有些夥伴不瞭解。這裏呢,簡單的介紹一下子。frp 是一個可用於內網穿透的高效能的反向代理應用,支援 tcp, udp, http, https 協定。作者fatedier,專案開源在github,大家自行搜尋即可下載。

2.也就是說,我們能做的事情有很多,比如通過3389埠對映到外網,即可隨時隨地遠端桌面連線自己的電腦;也可以通過對映22埠實現ssh的穿透;可以通過80、8080等等埠對映穿透自己本機的web服務到公網。還有很多很多的功能我們就不做過多的贅述,作者也不是研究很深,在這裏只是給大家實現一些常用的功能。

三、對映22埠實現內網穿透ssh連線公司伺服器。

1.首先我們操作雲端的伺服器,使用wget命令下載frp並解壓。

$ wget https://github.com/fatedier/frp/releases/download/v0.23.1/frp_0.23.1_linux_amd64.tar.gz$ tar -zxf frp_0.23.1_linux_amd64.tar.gz

2.進入解壓後的目錄並編輯frps.ini組態檔。

3.除非你想更改對映的埠,否則無需修改,直接執行如下命令:

$ ./frps -c frps.ini

可得如下結果:

4.上圖顯而易見可以看到是啓動成功了,但是我們不能關閉終端,否則會自動關閉。一般來說我們是需要後臺一直執行着的,所以我們使用nohup命令讓其後台執行。

$ nohup ./frps -c frps.ini

5.再然後呢,就是在我們的雲伺服器的安全規則中開放對應的埠,這裏我就不做詳細的介紹了,大家自行開放埠即可。

6.接下來我們設定原生的機器與雲端伺服器相關聯。同樣的我們需要先下載frp,步驟同第一步。

7.這次因爲我們是用戶端,所以我們編輯frpc.ini這個組態檔。

途中的local_ip表示本地用戶端的IP,Local_port表示本地用戶端對應的埠,remote_port表示對應雲端伺服器的埠。

8.所有remote_port對應的埠必須在雲端伺服器中開放,否則無法進行存取。

9.接下來我們啓動用戶端,我們依然使用後臺執行來啓動。

$ nohup ./frpc -c frpc.ini

10.萬事具備,還欠一個ssh金鑰,我們需要將金鑰加入到列表中。這樣我們就可以使用ssh -p 6002 user@雲端IP遠端連線到我們內網的機器了。

四、對映3389埠實現內網穿透遠端桌面連線公司Windows桌面。

1.看了上面可能會有人說了,我不需要ssh鏈接伺服器,我只是想遠端桌面連線我公司的電腦用來遠端偵錯bug(ps:我們程式設計師都是非常非常的敬業的,對於IT事業也是非常非常的熱愛的)。所以這一部分呢,我們來說一下如何通過frp對映3389實現遠端桌面。

2.遠端伺服器我們無需更改,也不用去動,可以與很多用戶端連線也沒有問題。所以我們只需要在我們的Windows電腦中安裝frpc並啓動即可。

3.大家自行搜尋frp下載,到其GitHub開源下載中心下載對應的Windows版本即可,解壓並修改frpc.ini。如圖:

4.因爲軟體限制,我們無法直接執行exe檔案啓動,我們需要使用dos命令來啓動:

$ cd 解壓路徑$ frpc.exe

5.每次啓動都要執行這兩個命令會非常的麻煩,所以我將其封裝成了一個bat批次檔,每次啓動只需雙擊啓動批次處理就可以。

6.當然還有一個問題,那就是我們同樣無法關閉dos命令框,如果關閉frp也同時被關閉了,所以我們需要同樣需要後臺執行,所以我找到了一種辦法,可以使其後台執行。編寫一個vbs指令碼。

7.我們只需執行該指令碼即可實現後臺執行bat批次檔。但我們還需要手動去啓動他,相對不太方便,所以我們將其加入到開機啓動,這樣每次開機都會自動執行這個指令碼以啓動frp,協助我們實現內網穿透。加入開機啓動的方法我就不細說了,大家自行搜尋。

8.萬事具備我們可以通過Windows自帶的遠端桌面連線一下:

其實與內網的遠端桌面一般無二,僅僅是指定了埠。至於速度嘛,就跟你電腦以及你的伺服器息息相關啦。

五、對映80埠實現內網穿透遠端存取本地web專案。

1.宣告一點,並不僅僅是80埠,任意埠都可以對映原生的web專案,其實上面說了這麼多,用法都是一樣的,這個呢我就不詳細的去說明了,同樣域名直接解析到外網伺服器就可以,只需對映本地與雲端的埠即可實現穿透一切。

六、最後再說幾句。

1.好久沒有爲大家帶來有趣、有用的知識了,在這裏給大家賠個不是!!!

2.frp呢其實還有好多好多的用法,我也並沒有完全的去研究它,大家有空的話可以詳細的去研究一下,是一個非常的不錯的開源專案,相對於廣大的程式設計師們來說同時也是一個非常有用的工具。

3.最後呢,感謝大家的閱讀以及關注,希望日後可以爲大家帶來更多的有用的知識。

 

原文地址:https://baijiahao.baidu.com/s?id=1623434266517055314&wfr=spider&for=pc