1. 程式人生 > WINDOWS開發 >Linux下配置frp實現Windows遠端桌面連線

Linux下配置frp實現Windows遠端桌面連線

需要準備一臺公網IP的Linux伺服器

安裝

sudo apt-get update
sudo apt-get upgrade

依次執行以下四條命令

sudo wget https://code.aliyun.com/MvsCode/frps-onekey/raw/master/install-frps.sh -O ./install-frps.sh
sudo chmod 700 ./install-frps.sh
sudo ./install-frps.sh install

此時,會彈出配置的資訊,全部用預設配置,最後我生成的配置資訊如下
技術分享圖片
進入frps的安裝目錄,我的目錄是:/usr/local/frps下,如果你不知道目錄在哪裡,可以執行以下命令:

whereis frps

在/usr/local/frps目錄下,先備份frps.ini 指令碼

cd /usr/local/frps
sudo cp frps.ini frps.ini.backup

編輯frps.ini檔案
增加如下內容:

[rdp]
type = tcp
custom_domains = xxx.xxx.xxx.xxx  

其中的xxx.xxx.xxx.xxx修改為你的Linux伺服器的公網ip地址

然後重啟frps服務

sudo frps restart

然後配置你需要遠端的電腦,首先,你需要下載一個版本和伺服器上安裝的frps版本一致的frps客戶端安裝包:
首先檢視一下伺服器的frps版本

[email protected]:/usr/local/frps$ frps -v
Frps version 0.33.0

在:https://github.com/fatedier/frp/releases?中選對應的包即可,因為我需要遠端的是Windows系統,所以我選擇了frp_0.33.0_windows_amd64.zip這個安裝包

解壓到Windows系統自定義一個目錄即可,我的放在C:\frp目錄下
在C:\frp目錄下
複製一份frpc.ini為frpc.ini.backup
編輯C:\frp\frpc.ini

[common]
# xxx.xxx.xxx.xxx 替換成你的Linux伺服器的公網IP
server_addr = xxx.xxx.xxx.xxx
server_port = 5443
# 這個和上面設定的服務端key要一樣
token = xxxxxxxx
[rdp]
#遠端連線TCP型別
type = tcp
#本機的IP地址
local_ip = 127.0.0.1
local_port = 3389
remote_port = 3390
# xxx.xxx.xxx.xxx替換成你的Linux伺服器的公網IP
custom_domains = xxx.xxx.xxx.xxx

以上配置資訊可以參考之前在Linux上安裝frps後的配置資訊填寫
技術分享圖片

因為我們remote_port設定的是3390,所以在Linux服務端需要開啟3390的防火牆許可權,具體命令如下

  1. 安裝iptables
sudo apt-get install iptables
  1. 新增規則

在終端輸入

sudo iptables -I INPUT -p tcp --dport 3390 -j ACCEPT

中間的3390為所需要開放的埠

  1. 儲存規則
sudo iptables-save

完成上述命令我們就完成了開放指定的埠,但是如果此時伺服器重啟,上述規則就沒有了,所以我們需要對規則進行一下持續化操作

這裡我們需要在安裝一下工具來幫我們實現,這裡我們使用 iptables-persistent

  1. 安裝iptables-persistent
sudo apt-get install iptables-persistent
  1. 持久化規則
sudo netfilter-persistent save
sudo netfilter-persistent reload

完成上述操作就可以永久開啟我們需要的埠了

Windows的遠端桌面需要啟用,Windows10的配置如下,其餘版本的Windows可以自行百度配置
技術分享圖片

Windows下,在frp目錄下(我的目錄在C:\frp)開啟命令列視窗,執行:frpc.exe
技術分享圖片
出現以上資訊,即可
找到另外一臺可以聯網的Windows機器,
開啟遠端桌面:Win+R,輸入:mstsc
輸入:Linux的公網ip:3390
輸入使用者名稱、密碼
即可遠端連線到這個Windows機器上了。

Mac/iPhone/iPad上也有Window遠端桌面這個App,也可以通過這個App進行遠端操作。

更多地

我們可以在Windows上把frpc.exe註冊成服務,並且開機啟動,這樣就不需要每次遠端的時候,都要命令列啟動frpc.exe
具體操作如下:
下載nssm
http://nssm.cc/download?並解壓
解壓後如下:
技術分享圖片
找到自己Windows對應的版本,我的是64位,所以選擇win64下的nssm.exe,將這個exe複製到frp目錄下,我的frp目錄是:C:/frp下,

然後在frp目錄下,(以管理員身份)開啟控制檯,執行:nssm install frpc
技術分享圖片
如上圖操作後,開啟windows的服務
技術分享圖片
frpc服務即可做到開機啟動。