0x01 簡介
為什么需要內網穿透?
很多時候從公網訪問自己內網的設備是困難的,畢竟自己沒有一個獨立的IP地址。
Frp 服務器進行內網穿透,速度快還十分簡單。可以實現很多功能,包括不限於遠程桌面,文件共享等。
什么是內網穿透
使內網的服務器,或者防火牆內的機器,對外提供服務。
原理圖,來自參考文章
0x02 環境及安裝
centos7 (本地) 192.168.30.100
kali 服務器端(自己的vps)192.168.30.128
本機 ubuntu 18.10
2.0 下載
下載程序
arch 如果輸出是x86_64 則下載linux_amd64那個壓縮包
本文是x86_64(絕大多數人都是這個)。
mkdir frp &cd frp
wget https://github.com/fatedier/frp/releases/download/v0.29.0/frp_0.29.0_linux_amd64.tar.gz
tar -zxvf frp_0.29.0_linux_amd64.tar.gz
# 更改下文件名
mv frp_0.29.0_linux_amd64 frp
cd frp
# 確保frp具有可執行權限
chmod +x frps
運行 ./frps --help
沒問題即可開始配置服務端
若提示-bash: ./frps: cannot execute binary file: Exec format error就說明下錯版本了
2.1 服務端設置
參考官方配置文檔寫frps.ini
# 表示配置的開始
[common]
#frp服務端端口 bind_port = 7000 # 儀表盤端口
dashboard_port = 7500
# frp服務端密碼
token = frptoken1
# 儀表盤默認賬號密碼
dashboard_user = admin
dashboard_pwd = admin
啟動frps
# 使用 -c 參數指定配置文件
./frps -c frps.ini
沒有報錯出現success。
服務端后台運行
直接使用啟動命令,關閉ssh會話,就會停止運行,因此要使用nohup 使其后台運行。
nohup ./frps -c frps.ini &
# 所有的輸出日志寫入nohup.out文件中
訪問儀表盤7500是可以看見frp的狀態的
2.2 客戶端設置
可以參考frps_full.ini說明,下面是轉發ssh為例:
frpc.ini
[common] server_addr = 192.168.30.128 server_port = 7000 # 與vps保持一致 token = frptoken1 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 use_encryption = true use_compression = true # [web] # type = http # local_port = 80 # subdomian = web # use_encryption = true # use_compression = true
2.3 frp客戶端執行
./frpc -c frpc.ini
出現success即可
現在可以在我本機 ubuntu18 上ssh
ssh -oPort=6000 root@vpsip
對於Windows客戶端一樣的可以參考后面文章
參考