想法原由
由於公司的電腦實在是太差了,開機個虛擬機就卡包了,很多測試實驗沒法做,家裏的電腦也是閒着,所以想着利用家裏的電腦來遠程搭實驗環境或者測試。
搭建目的
遠程使用家裏的電腦,搭建實驗環境。
環境評估
由於家裏的寬帶是房東的寬帶,費用高且不說怎麼好,有掛羊頭賣狗肉的嫌疑,畢竟打着電信網絡的旗號,卻實際上用的聯通的網絡。租房的網絡上行都比較低,網絡還穩定,這算比較欣慰的。
準備的設備:
- 公網服務器一臺,作爲代理服務器,必須有公網ip。而我的帶寬不是很高1M,實測能用的;
- 家裏電腦一臺,虛擬機centos7.4 或者 Windows系統都行;
- 公司辦公電腦是Windows 7 系統。
frps代理配置參數
# frps.ini
[common]
bind_port = 7000
# 儀表盤web
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin
# 令牌
token = 12345678
# 端口白名單 可以不設置
allow_ports = 7000-7010,6000-6010
# 連接池 可以不設置
max_pool_count = 10
-------------------------- 我是分割線 運行方式 開始 ------------------------------------------------------------------------
# 下載好frp壓縮包,並解壓
# 目錄 mv frpxxx /usr/local/frp
cd /usr/local/frp
nohup ./frps -c ./frps.ini & # 這是後臺運行方式的一種
-------------------------- 我是分割線 運行方式 結束 ------------------------------------------------------------------------
注意:
公網服務器防火牆需要開啓對應的端口。
家裏電腦配置參數
家裏的電腦是Windows10系統,作爲服務端來使用,配置文件參數如下:
# frpc.ini
[common]
server_addr = x.x.x.x # 配置frps 服務地址 填公網ip地址
server_port = 7000
# 令牌 估計用來加密的 跟frps一致
token = 12345678
# 動態加載配置文件
admin_addr = 127.0.0.1
admin_port = 7400
# 端口白名單
allow_ports = 7000-7010,6000-6010
# 連接池
pool_count = 2
# 模塊名
[secret_mstsc]
# 類型
type = stcp
# 加密
sk = abcdefg
# 端口映射
local_ip = 127.0.0.1
local_port = 3389
# 加密與壓縮
use_encryption = true
use_compression = true
====== 我是分割線 ============== 客戶端分割線 ====================
# 客戶端
# frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000
# 令牌
token = 12345678
# 動態加載配置文件
admin_addr = 127.0.0.1
admin_port = 7400
# 連接池
pool_count = 2
# 模塊名稱
[secret_mstsc_visitor]
# 類型
type = stcp
# stcp 的訪問者
role = visitor
# 要訪問的 stcp 代理的名字
# 服務端的模塊名稱 由本名稱作爲區分多個服務
server_name = secret_mstsc
# 需要與服務端的一致
sk = abcdefg
# 綁定本地端口用於訪問 mstsc 服務
bind_addr = 127.0.0.1
bind_port = 6002
# 加密與壓縮
use_encryption = true
use_compression = true
Windows端 啓動腳本編寫
# frpc.bat
frpc.exe -c frpc.ini
# frpc.vbs
Dim WinScriptHost
Set WinScriptHost = CreateObject("WScript.Shell")
WinScriptHost.Run Chr(34) & "D:\frp_20\frpc.bat" & Chr(34), 0
Set WinScriptHost = Nothing
# D:\frp_20\frpc.bat 路徑地址要改成你下載frp 放的文件夾一起
-------------------------- 我是分割線 運行方式 開始 ------------------------------------------------------------------------
# 下載好frp壓縮包,並解壓
# 移動目錄到 D盤,並改名字
打開cmd,切換到D盤,再進入到 frp目錄下
frpc.exe -c ./frps.ini
# 或者
雙擊運行 frpc.vbs 文件
-------------------------- 我是分割線 運行方式 結束 ------------------------------------------------------------------------
Linux ssh 配置
===== 我是分割線 ============== 服務端 =========================
# frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000
# 令牌
token = 12345678
# 動態加載配置文件
admin_addr = 127.0.0.1
admin_port = 7400
# 端口白名單
allow_ports = 7000-7010,6000-6010
# 連接池
pool_count = 2
[secret_ssh]
type = stcp
sk = abcdefg
local_ip = 127.0.0.1
local_port = 22
# 加密與壓縮
use_encryption = true
use_compression = true
==== 我是分割線 ============= 客戶端 =============================
# frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000
# 令牌
token = 12345678
# 動態加載配置文件
admin_addr = 127.0.0.1
admin_port = 7400
# 端口白名單
allow_ports = 7000-7010,6000-6010
# 連接池
pool_count = 2
[secret_ssh]
type = stcp
# stcp 的訪問者
role = visitor
# 要訪問的 stcp 代理的名字
server_name = secret_ssh
sk = abcdefg
# 綁定本地端口用於訪問 ssh 服務
bind_addr = 127.0.0.1
bind_port = 6000
# 加密與壓縮
use_encryption = true
use_compression = true
==== 我是分割線 ==========================
配置文件說明:
將frps和frps.ini上有公共IP的服務器上。
將frpc和frpc.ini放到內網(LAN)中的服務器上。
以安全的方式公開您的服務
對於某些服務,如果將它們直接暴露給公共網絡,將存在安全風險。
stcp(secret tcp)幫助您創建代理,避免任何人都可以訪問它。
與上面一樣配置frps。
- 啓動frpc,轉發ssh端口並且remote_port是無效的:
# frpc.ini ssh服務端
[common]
server_addr = x.x.x.x
server_port = 7000
[secret_ssh]
type = stcp
sk = abcdefg
local_ip = 127.0.0.1
local_port = 22
- 啓動另一個要連接此ssh服務器的frpc:
# frpc.ini 連接客戶端
[common]
server_addr = x.x.x.x
server_port = 7000
[secret_ssh_visitor]
type = stcp
role = visitor
server_name = secret_ssh
sk = abcdefg
bind_addr = 127.0.0.1
bind_port = 6000
- 假設用戶名爲test,通過ssh連接到局域網中的服務器:
ssh -oPort=6000 [email protected]
儀表板
通過儀表板檢查frp的狀態和代理的統計信息。
爲儀表板配置端口以啓用此功能:
[common]
dashboard_port = 7500
# dashboard的用戶名和密碼都是可選的,如果沒有設置,默認爲admin。
dashboard_user = admin
dashboard_pwd = admin
然後訪問http://[server_addr]:7500以查看儀表板,默認用戶名和密碼都是admin。
備註說明:
- 直接可以在官網上查看配置文件
- 軟件包需要去官網下載
- 各個模塊不能同時在一個配置文件中定義