内网穿透(Frp)
搭建环境
frp 服务分客户端(frpc)和服务器(frps)
frps:
云服务器(有公网 IP)
frpc:
需要被公网访问的设备
根据系统版本从 github 上下载源文件 fatedier-frp
得到如下文件:
Frps
- 将上一步整个文件夹上传到云服务器/root 目录下
- 编辑 frps. ini
1
2
3
4
5
6
7
8[common]
bind_port = **** /* 服务端口,默认7000 */
token = **** /* 密钥,需要和客户端对应 */
dashboard_port = **** /* 管理后台端口,默认7500 */
dashboard 管理后台用户名密码
dashboard_user = ****
dashboard_pwd = **** - 启动 frps若打印如下则启动成功
1
2/* 在frp目录下执行 */
./frps -c ./frps.ini
此时访问 7500 端口进入管理后台界面如下:
若拒绝访问,打开云服务器 7500 和 7000 的防火墙
- 开机自启
CentOS:在/usr/lib/systemd/system 目录下新建 frps. service 服务并编辑打开开机自启:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15vim /lib/systemd/system/frps.service
/* 编辑如下内容 */
[Unit]
Description=frps service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/root/frp/frps -c /root/frp/frps.ini
[Install]
WantedBy=multi-user.target1
2
3systemctl enable frps
reboot /* 重启测试 */
Frpc
客户端也可以用 docker 实现
将第一步整个文件夹上传到客户端自建目录下
编辑 frpc. ini
1
2
3
4
5
6
7
8
9
10
11[common]
server_addr = ******** /* 云服务器公网IP */
server_port = **** /* 云服务器frp服务端口,默认7000*/
token = ******** /* 密钥,需和服务器对应 */
/* 添加端口映射 */
[xxx]
type = tcp
local_ip = 127.0.0.1 /* 本机地址或局域网地址 */
local_port = ** /* 本地端口 */
remote_port = ** /* 远端端口 */启动 frpc
1
2/* 在frp目录下执行 */
./frpc -c ./frpc.ini若打印如下则启动成功
开机自启
群晖:在 /etc/systemd/system 目录下新建 frpc. service 服务并编辑1
2
3
4
5
6
7
8
9
10
11[Unit]
Description=frpc service
After=multi-user.target /* 系统启动后打开服务 */
[Service]
Type=simple
启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/root/frp/frpc -c /root/frp/frpc.ini
[Install]
WantedBy=multi-user.target打开开机自启:
1
2
3systemctl enable frpc
reboot /* 重启测试 */
注意:
- 开机自动流程需要用 root 权限操作
- 如出现其他权限问题可赋予 frp 文件夹最高权限
1
chmod 777 frp
- 若重启仍然无法自启动,可尝试修改该. service 文件,修改服务启动时间
- 添加自启动服务后可先刷新
1
sudo systemctl daemon-reload
- 后期新增端口映射只需要修改 frpc. ini,具体规则参考 [[frp新增端口]]
常用命令
1 | 启动frp systemctl start frpc |
评论









