因為教研室的網(wǎng)沒有固定公網(wǎng)ip饵骨,不能在其它地方連服務器荣恐,所以就用frp做了一個內(nèi)網(wǎng)穿透沟蔑。
準備工作
- 公網(wǎng)ip服務器(阿里云春锋、騰訊云等) -服務端
- 內(nèi)網(wǎng)服務器 -客戶端
- frp
到frp下載相應版本矫膨。
我下載的是 frp_0.21.0_linux_amd64.tar.gz
解壓完了有如下七個文件
其中 frpc
是客戶端運行的文件 frps
是服務端運行的文件。
服務端配置
frps.ini
是服務端的配置文件看疙,這是一個簡化版本,只包含了必須的配置項直奋。 其余的配置項在frps_full.ini
中能庆,可以根據(jù)自己的需要在frps.ini
中添加。
在默認的frps.ini
中只包含了端口一項脚线,默認為7000
筆者使用的frps配置如下
[common]
bind_port = 7000
token = sDesQJk@KlO #客戶端連接服務器端的口令
配置完成后直接運行
./frps -c ./frps.ini
服務端就配置好了
客戶端配置
和服務端類似搁胆,frpc.ini
是客戶端的配置文件,所有的配置項在frpc_full.ini
中能看到邮绿。
筆者用的frpc配置如下
[common]
server_addr = xxx.xxx.xxx.xxx # 服務端ip
server_port =7000 #服務端端口
token = sDesQJk@KlO #連接服務端口令
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22 #要穿透的本地端口
remote_port =6661 # 暴露到外網(wǎng)的端口
配置完成后直接運行
./frpc -c ./frpc.ini
已經(jīng)連接上了渠旁,服務端提示如下。
名為ssh的proxy成功連接〈現(xiàn)在我們的配置就成功了顾腊。
測試
通過 ssh 訪問內(nèi)網(wǎng)機器,假設用戶名為 test:
ssh -oPort=6661 test@x.x.x.x
這里ip為服務端ip挖胃,端口為我們暴露到外網(wǎng)的端口即 6661
配置自動啟動
筆者使用systemctl來控制啟動杂靶,以服務端為例梆惯。
首先
sudo vim /lib/systemd/system/frps.service
在frps.service里寫入以下內(nèi)容
[Unit]
Description=fraps service
After=network.target network-online.target syslog.target
Wants=network.target network-online.target
[Service]
Type=simple
#啟動服務的命令(此處寫你的frps的實際安裝目錄)
ExecStart=/your/path/frps -c /your/path/frps.ini
[Install]
WantedBy=multi-user.target
然后啟動 frps
sudo systemctl start frps
再打開自啟動
sudo systemctl enable frps
同時
- 重啟
sudo systemctl restart frps
- 停止
sudo systemctl stop frps
- 查看應用日志
sudo systemctl status frps
客戶端自啟動配置類似。