frp内网穿透配置教程
title: "frp内网穿透配置教程"
date: 2023-08-04T16:05:25+08:00
tags: ["Linux运维", "frp"]
categories: []
draft: false
重要资料
fatedier/frp - github
官方文档 | frp
司波图/自建内网穿透服务器 - 码云
$ tree /opt/frp
/opt/frp
├── frpc
├── frpc_full.ini
├── frpc.ini
├── frps
├── frps_full.ini
├── frps.ini
└── LICENSE
1.SSH访问内网机器
通过 SSH 访问内网机器 | frp
1.1.Server配置
在具有公网 IP 的机器上部署 frps,修改 frps.ini 文件,这里使用了最简化的配置,设置了 frp 服务器用户接收客户端连接的端口。
#/opt/frp/frps.ini
[common]
bind_port = 7000 # 注意:需要在云服务设置开放7000端口
# 身份验证(可选)
token = i*RY2KI9^A7H
运行方式:/opt/frp/frp -c /opt/frp/frps.ini
1.2.Client配置
在需要被访问的内网机器上(SSH 服务通常监听在 22 端口)部署 frpc,修改 frpc.ini 文件,假设 frps 所在服务器的公网 IP 为 x.x.x.x。
local_ip 和 local_port 配置为本地需要暴露到公网的服务地址和端口。remote_port 表示在 frp 服务端监听的端口,访问此端口的流量将会被转发到本地服务对应的端口。
#/opt/frp/frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000
# 身份验证(可选)
token = i*RY2KI9^A7H
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000 # 注意:需要在云服务器上开放6000端口
运行方式:/opt/frp/frp -c /opt/frp/frpc.ini
访问内网机器的方式:ssh -p 6000 test@x.x.x.x
一键后台运行服务脚本
$ cat ~/start_frp.sh
#!/bin/bash
nohup /opt/frp/frpc -c /opt/frp/frpc.ini 2>&1 &
1.3.设置服务端frp开机自启动
使用 systemd | frp
sudo apt install systemd
sudo vim /etc/systemd/system/frps.service # 见下面 frps.service 的文件内容
# 配置 frps 开机自启
systemctl enable frps
# 启动frp
systemctl start frps
# 停止frp
systemctl stop frps
# 重启frp
systemctl restart frps
# 查看frp状态
systemctl status frps
$ systemctl cat frps
# /etc/systemd/system/frps.service
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /opt/frp/frps -c /opt/frp/frps.ini
[Install]
WantedBy = multi-user.target