通过内网穿透配置远程开发环境
0x0 背景
人在外网,想要使用的主机在内网,而学校提供的VPN是网页端,及其不好用。
使用远程桌面软件会有收费问题且不能保证安全。
解决方案就是用frp搭建一个穿透服务器,通过内网穿透进行访问。
成本是一个公网服务器,只用来做穿透的话最低档的学生服务器就可以。
0x1 环境
- A:内网中的机器
- B:公网上的云服务器
- C:自己手边的主机
0x2 配置工作
需要在A机器和B服务器上进行配置
0x20 A内网机器
下载frp
下载并解压frp(以linux x86为例),这里使用0.46.0版本作为演示。
1 | wget https://github.com/fatedier/frp/releases/download/v0.46.0/frp_0.46.0_linux_amd64.tar.gz |
移动到local文件夹下
1 | sudo mv frp_0.46.0_linux_amd64 /usr/local/frp |
修改配置文件
编辑器打开frpc.ini配置内网机器
1 | sudo vim frpc.ini |
必须修改项:
server_addr:为公网机器B的IP地址
可选修改项:
server_port为公网机器B用来连接A的开放端口
remote_port为用户C用来连接A时的端口
1 | [common] |
注册服务
注册为系统服务,这样就不用每次都手动运行了。
1 | sudo vim /usr/lib/systemd/system/frps.service |
粘贴下面内容
1 | [Unit] |
启动服务
1 | sudo systemctl enable frpc |
正常的话,应该会是active状态,即为配置成功
0x21 B公网服务器
下载frp
前面步骤和A一样
1 | wget https://github.com/fatedier/frp/releases/download/v0.46.0/frp_0.46.0_linux_amd64.tar.gz |
修改配置文件(可跳过)
编辑器打开frps.ini配置frp服务器
1 | sudo vim frps.ini |
可选修改项:
bind_port为公网机器B用来连接A的开放端口,和之前配置的server_port一致
1 | [common] |
注册服务
注册为系统服务,这样就不用每次都手动运行了
1 | sudo vim /usr/lib/systemd/system/frps.service |
1 | [Unit] |
启动服务
1 | sudo systemctl enable frps |
正常的话,应该是active状态。
开启防火墙
在云服务器的防火墙规则里开放之前配置的remote_port和bind_port端口,默认是6000和7000。
0x3 连接
在主机C上使用ssh连接A,
user为A的用户名,ip地址为B的公网ip,-p后为frpc中的remote_port
1 | ssh user@x.x.x.x -p6000 |
效果:使用vscode中的ssh远程连接、端口转发

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 zzHIHAnn's Blog!