frp实现内网穿透
背景:
工作和在家学习时会用到很多中间件,想要一个稳定的开发环境,直接买个32G内存的服务器太贵了,所以买了迷你主机装了Ubuntu当做服务器,那就需要解决外网访问问题,这里就涉及到内网穿透。
内网穿透方式:
准备:一台Ubuntu系统主机,一台有公网IP的主机
1. frp工作原理
2. frp压缩包文件说明
每个压缩包解压后都包含以下文件和一个systemd文件夹:
- frpc —— 客户端可执行二进制文件
- frpc_full.ini —— 包含全部配置项的客户端配置文件
- frpc.ini —— 客户端使用的配置文件,包含最简配置
- frps —— 服务端可执行二进制文件
- frps_full.ini —— 包含全部配置项的服务端配置文件
- frps.ini —— 服务端使用的配置文件,包含最简配置
- systemd —— 文件夹,用于将frpc和frps添加为服务的配置,linux下使用systemd作为守护程序、mac os使用launchd作为守护程序
注:服务端只需用到frp_0.46.1_linux_amd64目录下的frps相关文件,本机(客户端)只需用到frp_0.46.1_linux_amd64目录下的frpc相关文件
3. 服务端配置(公网服务器)
3.1 解压
1 | # 一般放到opt目录下 |
3.2 配置文件
1 | # 输入如下内容 |
3.3 启动
1 | # 前台启动 |
4. 客户端配置(内网服务器)
4.1 解压
1 | # 一般放到opt目录下 |
4.2 编辑配置文件
1 | [common] |
ps:配置多个http
4.3 启动
1 | 前台启动 |
5. systemd管理frp
1 | 配置 frps 开机自启 |
5.1 安装systemd
如Linux服务端上没有安装 systemd,可以使用 yum 或 apt 等命令安装 systemd
1 | yum |
5.2 创建和编辑 frps.service
服务端:
1 | 创建文件 |
客户端:
1 | 创建文件 |
重要:避开以下端口
1 | 1, // tcpmux |
Comment