一般我们自己使用的电脑只有局域网ip, 没有公网ip, 为了能够访问我们电脑上的服务, 我们需要进行内网穿透, 使我们可以在外网访问到我们自己的电脑服务
1. 材料准备
- 内网电脑
- 拥有公网ip的服务器, 需要带宽越大越好
- frp工具
frp地址: https://github.com/fatedier/frp/releases
- frp文档
https://gofrp.org/docs/setup/
2. frp工具下载
frp下载地址为: https://github.com/fatedier/frp/releases
, 选择对应的平台下载
我内网电脑是windows, 服务器为 liunx, 所以我下载了两个压缩包
frp_0.34.3_linux_amd64.tar.gz
frp_0.34.3_windows_386.zip
将linux压缩包放在服务器端,将windows压缩包放在内网电脑端
3. 服务器端部署
- 将压缩包进行解压
tar zxvf frp_0.34.3_linux_amd64.tar.gz
- 修改 服务端配置文件
cd frp_0.34.3_linux_amd64
vim frps.ini
# 修改端口
[common]
bind_port = 10086
token = 5201314 # 这个token之后在客户端会用到
dashboard_port = 7500 # frp管理后台端口,请按自己需求更改
dashboard_user = admin # frp管理后台用户名和密码,请改成自己的
dashboard_pwd = admin
enable_prometheus = true
log_file = /var/log/frps.log # frp日志配置
log_level = info
log_max_days = 3
- 启动服务
./frps -c frps.ini
# 日志如下
Started Frp Server Service.
frps tcp listen on 0.0.0.0:10086
2020/11/22 21:39:40 [I] [root.go:215] start frps success
4. 客户端配置
- 解压
使用解压工具解压 frp_0.34.3_windows_386.zip
- 修改配置文件
# 配置文件名为 frpc.ini
[common]
server_addr = 1.2.3.4 # 服务端ip
server_port = 10086 # 服务端port
token = 5201314 # 与frps.ini的token一致
[RDC] # 此段配置可以有多个, 名称可自定义
type = tcp # 连接方式
local_ip = 127.0.0.1 # 局域网ip
local_port = 3389 # 局域网端口 远程桌面默认3389
remote_port = 10088 # 服务端端口, 服务端此端口需开放
- 启动客户端
c:\frp\frpc.exe -c c:\frp\frpc.ini
- 启动windows远程连接
# 1. 关闭防火墙
进入控制面板 -> 点击右上角查看方式,选择小图标 -> Windows Defender 防火墙 -> 启动或关闭防火墙 -> 关闭所有防火墙
# 2. 打开远程桌面
进入控制面板 -> 系统 -> 远程桌面 -> 开启远程桌面
5. 配置后台运行
- 服务端后台运行
# 1. 配置
mkdir /etc/frp
cp /opt/frp_0.34.3_linux_amd64/frps.ini /etc/frp/ # 将配置文件放入 frps.service 指定目录
cp /opt/frp_0.34.3_linux_amd64/systemd/frps.service /etc/systemd/system/ # 将frps.service 放入此文件夹
sudo systemctl start frps # 启动frps服务
sudo systemctl start frps # 查看frps服务状态
sudo systemctl stop frps # 停止服务
sudo systemctl reload frps # 重新加载服务
sudo systemctl enable frps # 随系统启动
或
nohup ./frps -c ./frps.ini >frps.log &
- 客户端配置后台运行
# 1. 首先需安装 winsw 工具
地址: https://github.com/kohsuke/winsw/releases
下载压缩包: https://github.com/winsw/winsw/releases/download/v3.0.0-alpha.6/WinSW.NETCore.x64.zip
# 2.解压
# 3. 配置
进入文件夹, 新建与 .exe文件同名的 .xml文件 (.exe文件也可以重命名)
.xml文件内容:
<service>
<!-- 该服务的唯一标识 -->
<id>frp</id>
<!-- 该服务的名称 -->
<name>frp0.27.1-windows-amd64</name>
<!-- 该服务的描述 -->
<description>frpc客户端 这个服务用 frpc 实现内网穿透</description>
<!-- 要运行的程序路径 -->
<executable>D:\Software\frp\frp_0.27.1_windows_amd64\frpc.exe</executable>
<!-- 携带的参数 -->
<arguments>-c frpc.ini</arguments>
<!-- 第一次启动失败 60秒重启 -->
<onfailure action="restart" delay="60 sec"/>
<!-- 第二次启动失败 120秒后重启 -->
<onfailure action="restart" delay="120 sec"/>
<!-- 日志模式 -->
<logmode>append</logmode>
<!-- 指定日志文件目录(相对于executable配置的路径) -->
<logpath>logs</logpath>
</service>
# 4. 启动命令
<!-- 注册服务 -->
winsw.exe install
<!-- 卸载服务 -->
winsw.exe uninstall
<!-- 启动服务 -->
winsw.exe start
<!-- 停止服务 -->
winsw.exe stop
<!-- 重启服务 -->
winsw.exe restart
<!-- 查看状态 -->
winsw.exe status
# 5. 打开 任务管理器 查看任务,并启动
# 6. 通过配置的log地址查看日志
网友评论