使用frp完成内网穿透

办公室没有公网IP,所以放在办公室的电脑大部分时候处于闲置状态。这怎么行呢,对吧。刚好手上有台阿里云服务器,所以利用起来做一手内网穿透。

frp

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

GitHub:https://github.com/fatedier/frp

详细使用

服务器端配置

服务器系统采用阿里云服务器的Ubuntu20.04,frp版本为最新的0.31.1。

1.下载frp服务端并解压
wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_amd64.tar.gz

下载过程比较慢,可能需要几分钟。

image-20211008102321735

下载结束之后,解压

tar zxvf  frp_0.37.1_linux_amd64.tar.gz
2.进入文件,配置frps.ini
cd  frp_0.37.1_linux_amd64.tar.gz
vim frps.ini

配置frps.ini文件

[common]
bind_port = 7000#默认连接端口
token= 10086 #随便设置
tls_enable=true

保存

3.运行
./frps -c frps.ini

出现如下及代表成功

image-20211008103307060

服务器端配置差不多就完成了

补充

vim简单使用

配置frps.ini中使用

#如果左下角有insert 代表写模式  ,esc退出写模式,i进入写模式
#关于退出vim编辑。退出写模式后 shift + : ,进入退出模式,此时左下角出现:
wq! #保存文件退出
q   #直接退出,不保存文件
Ubuntu杀死端口进程

在配置过程中,出错导致端口占用

sudo lsof -i:端口号 #使用sudo能查询所有端口 
sudo kill PID

客户端配置

1.下载frp客户端

frp客户端:https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_windows_amd64.zip

下载好之后可能报毒,需要保留

2.进入文件夹,配置frpc.ini
[common]

server_addr = 101.132.42.116 # 你的服务器IP
server_port = 7000  #你的服务器开发端口
token=10086         #frps.ini配置的token
tls_enable=true

[ssh]
type = tcp
local_ip = 172.18.27.162  #本机IP
local_port = 3389         #开发服务的端口,远程桌面为3389
remote_port = 8888        #远程连接的端口,及通过IP:port访问本地的3389的应用

3.在控制面板中,设置出站规则

把本地端口设置到出站规则中

image-20211008105529970

4.运行

进入cmd

frpc -c frpc.ini

运行成功之后

image-20211008105618634

客户端配置完成

总结

​ 在使用frp过程中出现了很多bug,也调试了一晚上,不过最终解决了。成功通过 Microsoft Docs 访问到办公室电脑。

常见问题

阿里云防火墙设置

版本不一致

客户端为设置出站规则