使用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
下载过程比较慢,可能需要几分钟。
下载结束之后,解压
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
出现如下及代表成功
服务器端配置差不多就完成了
补充
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.在控制面板中,设置出站规则
把本地端口设置到出站规则中
4.运行
进入cmd
frpc -c frpc.ini
运行成功之后
客户端配置完成
总结
在使用frp过程中出现了很多bug,也调试了一晚上,不过最终解决了。成功通过 Microsoft Docs 访问到办公室电脑。
常见问题
阿里云防火墙设置
版本不一致
客户端为设置出站规则