為什麼要做內網穿透?
普通家庭裡使用的都是區域網,比如說你家在a,然後你工作的地方在b,然後你突然間想遠端家裡a的電腦,這時候是不能在b的網路裡直接遠端到a的電腦上,因為不是在同個區域網內,雖然我們可以借助第三方軟體來實現遠端的功能,但還是存在一些不方便,第三方軟體對桌面系統很友好,例如windows系統,ubuntu桌面,或者deepin桌面系統,這些都會有開發好的圖形化的遠端軟體來支援。但是對命令介面的作業系統就很不友好了,我家裡放的一台筆記本是裝了命令介面的centos7系統。安裝那些遠端軟體是乙個問題,配置是乙個問題,讓很多人操碎了心,這時候製作乙個內網穿透的功能就顯得有一定的作用了,簡而言之,有了內網穿透功能,我們就可以隨時隨地的遠端回家的電腦了。
這些教程是我通過在網上學來的,然後通過自己實踐並總結做出來的筆記。
首先要有乙個雲伺服器(vps伺服器)在亞馬遜、阿里雲、微軟雲等等都可以。
在雲伺服器上安裝frp服務端
有兩種方法:
方法一:
export frp_version=0.29.1
sudo
mkdir -p /etc/frp
cd /etc/frp
sudo
wget
""sudo
tar xzvf frp_$_linux_amd64.tar.gz
sudo
mv frp_$_linux_amd64/* /etc/frp
方法二:sudo wget
tar xzvf frp_0.29.1_linux_amd64.tar.gz
mv frp_0.29.1_linux_amd64 frp
啟動 frp 服務端
./frps -c ./frps.ini
(不推薦這樣的啟動)這樣退出啟動控制台程式便中斷了。於是我們通常選擇後台啟動。在linux中使用如下命令進行後台啟動。然後執行的日誌會輸出到當前目錄的nohup.log檔案中
nohup ./frps -c frps.ini &
(推薦)
可以使用 ps -ef | grep frps 檢視程式是否在執行。
如伺服器使用 win 系統,假設解壓到 c:\frp 資料夾,那麼只需這樣啟動:
c:\frp\frps.exe -c c:\frp\frps.exe
配置 frp 客戶端 (安裝在內網的機器上):vim /etc/frp/frpc.ini
[common]
server_addr = 52.231.111.111 #公網ip
server_port = 7000 #公網埠 需要在雲伺服器的管理後台開放此埠。
[ssh]
type = tcp
local_ip = 192.168.2.138 #內網ip
local_port = 22
remote_port = 6000 #內網埠 需要在雲伺服器的管理後台開放此埠。
[dsm]
type = tcp
local_ip = 192.168.1.40 #群暉 nas 在區域網中的內網 ip
local_port = 5000
remote_port = 7001
[rdp]
type = tcp
local_ip = 192.168.1.30 #電腦在區域網中的內網 ip (如是本機,也可使用 127.0.0.1)
local_port = 3389
remote_port = 7002
[common]表示以下配置資訊是一些公用配置資訊
server_addr是我們服務端即外網伺服器的公網訪問ip
server_port是我們前面在服務端配置的frps.ini中bind_port中對應的埠。需保持兩邊一致
[ssh]表示以下配置資訊是我們使用ssh連線內網伺服器時需要的一些配置資訊
type 是連線型別,ssh方式連線就用tcp
local_ip 是本機ip,直接使用127.0.0.1即可
local_port 是本地ssh埠,ssh預設埠為22
remote_port 是外網伺服器請求過來的埠 注:阿里雲伺服器需要在esc管理中配置安全組規則中新增6000埠
啟動 frp 客戶端:
假設你已將 frp 的客戶端解壓縮到 c:\frp 目錄中,那麼啟動 frp 客戶端的命令就是:
c:\frp\frpc.exe -c c:\frp\frpc.ini
linux 啟動 frp 客戶端命令:
nohup ./frpc -c ./frpc.ini &
啟動之後看到 「start proxy success」字樣就表示啟動成功了。
進行遠端訪問:
前面搞了這麼多,我們終於可以正式使用 frp 內網穿透來進行遠端訪問內網裡的裝置了!按照上面的配置,我們想要訪問群暉 nas 的介面,只需開啟瀏覽器,在位址列輸入 伺服器公網ip:7001 即可訪問到群暉後台管理介面。
而如果需要遠端桌面連線到家裡的 windows 電腦,那麼開啟「微軟遠端桌面客戶端」後,在位址列裡填入 伺服器公網ip:7002 即可連線。
遠端linux客戶端:
ssh [email protected]:6000
由此,借助 frp,你就能輕鬆地為本地區域網內網的裝置提供公網直接訪問的能力了,你可以用 frp 來**包括但不限於 ssh、http、https、** unix 域套接字等服務。
上面只是最基礎的教程,frp 還有很多很多高階功能,比如給 web 增加密碼保護、點對點內網穿透、設定埠白名單等等,frp 官網上也提供了很詳細的文件,感興趣的朋友可以去研究一下。
外網伺服器http配置
在外網伺服器的frps.ini中新增http服務配置如下:
[common]
bind_port = 7000
vhost_http_port = 6001
bind_port和之前做ssh時是乙個意思。也是為了和客戶端建立通訊的埠,只需要在之前的配置檔案中新增上vhost_http_port = 6001,這個配置意思是讓別人在訪問我們的伺服器6001埠時。frp將http請求**到內網伺服器
服務端的http請求配置到這裡就結束了
內網伺服器http配置
內網伺服器需要在frpc.ini中新增上如下內容:
custom_domains = wannabe.fun[web]表示我們的配置是乙個web服務
type表示我們的請求方式是http方式
local_port表示我們的本地服務埠號為80
custom_domains表示配置為乙個已經備案的網域名稱(必填,並且需要網域名稱可用,開始我認為這個不是必須的,於是花了很長時間,),並且網域名稱解析配置為外網伺服器ip
以上配置完成後,我們就可以使用wannabe.fun:6001訪問到我們部署在內網伺服器的80埠的服務了。
利用frp做內網穿透
在學校做實驗遇到了一些問題,校內網的遠端主機只能在學校的機房裡連線上,但是平時搶不到機房,而大作業馬上要驗收了腫麼辦,這裡給大家推薦乙個方式來做內網穿透,需要準備的只有乙個靜態的公網ip 可能還需要伺服器 外網機器 centos 7,公網ip x.x.x.x 內網機器 centos 7,具體ip不重...
FRP內網穿透 詳細教程
儲存後就可以在cmd命令列cd到frp資料夾執行frp了 依次命令 d cd frp 成功進入frp目錄後執行命令執行frp frpc.exe c frpc.ini frpfrp 用frp發布本地電腦 到外網 客戶端配置如下 common server addr 118.24.6.47 server...
frp 內網穿透 簡潔教程
有一台雲主機 使用遠端桌面訪問內網中的機器.軟體官方教程 拷貝檔案frps.exe和frps.ini到伺服器 配置frps.ini common bind port 7000 在cmd中執行frp.exe以啟動 frp 服務.啟動成功如下圖 刪除伺服器所需的檔案,僅保留如下檔案 配置frpc.ini...