文章目錄
- 場景描述
- 具體步驟
- 一、golang運行環境
- 二、獲取frp包
- 三、安裝frp服務器
- 四、安裝frp客戶端
- 五、功能驗證
場景描述
使用校外網路不通過學校VPN直接ssh連接到實驗室機器,需要一臺VPS,可以使用騰訊云的免費一個月的套餐,其網速為3M,用來作遠程桌面就顯得不夠了,如果想遠程桌面,建議購買高帶寬的VPS,
- 所需工具 開源軟體frp
- 一臺VPS,我這邊是centos 7.6系統,騰訊云
- 實驗室機器(我這邊是ubuntu,如果是windows,區別在于frp客戶端的安裝運行,組態檔不變,具體可以參考官方檔案
具體步驟
前兩步實驗室機器和VPS上都一樣的
一、golang運行環境
frp依賴golang,可以通過go version檢查是否有go環境,這邊安裝的是 1.15.7的
wget https://studygolang.com/dl/golang/go1.15.7.linux-amd64.tar.gz
sudo tar -zxf go1.15.7.linux-amd64.tar.gz -C /opt
echo 'PATH=/opt/go/bin:${PATH}' >> ~/.bashrc
source ~/.bashrc
# 確認Go環境
go version
二、獲取frp包
這一步在騰訊云服務器上可能太慢,最好下好直接傳過去
wget https://github.com/fatedier/frp/releases/download/v0.35.0/frp_0.35.0_linux_amd64.tar.gz
tar -zxf frp_0.35.0_linux_amd64.tar.gz
cd frp_0.35.0_linux_amd64
三、安裝frp服務器
- 前面兩步在實驗室機器和VPS上都要執行,這一步在VPS上執行
- 配置默認
7000埠,就想改可以更改frps.ini檔案對應的埠數字,然后在騰訊云的控制面板防火墻上打開對應的埠 - 啟動vps上的frps服務,一般情況下,騰訊云的服務器應該不會掛掉,如果想要創建守護行程,使得服務掛了可以自己重啟,可以參考后面的客戶端安裝方法,
nohup ./frps -c ./frps.ini &
在實驗室機器上測驗是否能連上,這里公網ip指vps的公網ip,出現以下結果,說明防火墻配置ok
$ telnet 公網ip 7000
Trying 公網ip...
Connected to 公網ip.
Escape character is '^]'.
如果出現失敗,則應該是防火墻沒整好,可以自行解決,
四、安裝frp客戶端
這一步在實驗室機器上執行
修改frpc.ini檔案
[common]
server_addr = 公網ip
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
# (optional) windows remote desktop
[rdp]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 3389
# (optional) nomachine
[nx]
type = tcp
local_ip = 127.0.0.1
local_port = 4000
remote_port = 4000
組態檔里面還可以增加其它的,然后要在VPS上確保對應的remote_port是對外開放的,
由于實驗室機器可能斷電,最好做下雙層防護,修改BIOS的power manager功能,使得實驗室機器在來電后自動重啟,
假如實驗室電腦重啟或者不明因素服務掛掉,我希望它自己能重啟,所以需要創建守護行程,讓它自己開機自啟、掛掉重啟,
sudo vim /etc/systemd/system/frpc.service
# 內容如下
[Unit]
Description=frpc
After=network.target
[Service]
Type=simple
Restart=always
User=yourusername
Group=yourusername
ExecStart=/yourpath/frpc -c /yourpath/frpc.ini
[Install]
WantedBy=multi-user.target
其中,yourpath是指frp加壓后的目錄全地址,yourusername是指實驗室機器上的用戶名
- 保存好,然后執行
sudo systemctl daemon-reload重新加載組態檔 - 再執行,
sudo systemctl enable frpc.service設定為開機啟動 - 啟動服務
systemctl start frpc.service
如果不想創建守護行程,則直接執行 nohup ./frpc -c ./frpc.ini &
五、功能驗證
在一臺連接外網的機器上,可以是手機熱點,ssh到服務器
ssh user@公網ip -p 6000
同理,如果是nomachine或者rdp,也直接填公網ip以及讀應埠即可
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/254007.html
標籤:其他
