安装frp_0.54.0,部署内网穿透服务

安装frp_0.54.0,部署内网穿透服务

frp文档:https://gofrp.org/zh-cn/docs/

1. 下载frp:

Github官网下载:FRP

网盘下载:FRP

2. 安装和部署:

2.1 在具有公网IP的服务器上部署frps

2.1.1 下载和解压frp压缩包文件

[root@frps ~]# mkdir frp

[root@frps ~]# cd frp

[root@frps frp]# wget https://github.com/fatedier/frp/releases/download/v0.54.0/frp_0.54.0_linux_amd64.tar.gz

[root@frps frp]# tar -zxvf frp_0.54.0_linux_amd64.tar.gz

2.1.2 将frps复制到/usr/local/目录

[root@frps ~]# mkdir /usr/local/frp

[root@frps ~]# cp /root/frp/frp_0.54.0_linux_amd64/frps* /usr/local/frp/

2.1.3 修改frps.toml配置

[root@frps ~]# vim /usr/local/frp/frps.toml

# frp公网IP地址,修改成自己的公网服务器IP地址

bindAddr = “x.x.x.x”

# frp服务器用于接收客户端连接的端口,可按自己需求修改

bindPort = 7000

# 指定frpc身份认证方式token或oidc

auth.method = “token”

# 指定frpc身份认证token,按自己需求修改成复杂的

auth.token = “abc”

# 支持虚拟机服务,指定http、https监听端口,可注释

vhostHTTPPort = 80

vhostHTTPSPort = 443

#配置子域名主机,按自己需求修改,可注释

subDomainHost = “test.com”

# frp日志文件配置

log.to = “/var/log/frps.log”

log.level = “info”

log.maxDays = 3

2.1.4 启动 frps

使用以下命令启动服务器:./frps -c ./frps.toml

2.2 在需要被访问的内网服务器上部署frpc,修改frpc.toml配置文件

2.2.1 下载和解压frp压缩包文件

[root@frpc ~]# mkdir frp

[root@frpc ~]# cd frp

[root@frpc frp]# wget https://github.com/fatedier/frp/releases/download/v0.54.0/frp_0.54.0_linux_amd64.tar.gz

[root@frpc frp]# tar -zxvf frp_0.54.0_linux_amd64.tar.gz

2.2.2 将frpc复制到/usr/local/目录

[root@frpc ~]# mkdir /usr/local/frp

[root@frpc ~]# cp /root/frp/frp_0.54.0_linux_amd64/frpc* /usr/local/frp/

2.2.3 修改frpc.toml配置

[root@frpc ~]# vim /usr/local/frp/frpc.toml

serverAddr = “x.x.x.x”

serverPort = 7000

auth.method = “token”

auth.token = “abc”

# console or real logFile path like ./frps.log

log.to = “./frpc.log”

log.level = “info”

log.maxDays = 3

[[proxies]]

name = “SSH”

type = “tcp”

localIP = “127.0.0.1”

localPort = 22

remotePort = 9022

2.2.4 启动frpc

使用以下命令启动客户端:./frpc -c ./frpc.toml

2.3 通过 SSH 访问内网服务器

使用以下命令通过 SSH 访问内网机器,假设用户名为 test:

ssh -o Port=9022 test@x.x.x.x

3. 使 systemd 来管理 frps 服务,包括启动、停止、配置后台运行和设置开机自启动

3.1 创建 frps.service 文件

[root@frps ~]# vim /etc/systemd/system/frps.service

写入内容

[Unit]

# 服务名称,可自定义

Description = frp server

After = network.target syslog.target

Wants = network.target

[Service]

Type = simple

# 启动frps的命令,需修改为您的frps的安装路径

ExecStart = /usr/local/frp/frps -c /usr/local/frp/frps.toml

[Install]

WantedBy = multi-user.target

3.2 使用 systemd 命令管理 frps 服务

# 启动frp

systemctl start frps

# 停止frp

systemctl stop frps

# 重启frp

systemctl restart frps

# 查看frp状态

systemctl status frps

设置 frps 开机自启动

sudo systemctl enable frps

4. 配置STCP

4.1 在需要将内网服务暴露到公网的机器上部署 frpc,并修改为如下配置:

serverAddr = “x.x.x.x”

serverPort = 7000

auth.method = “token”

auth.token = “abc”

# console or real logFile path like ./frps.log

log.to = “./frpc.log”

log.level = “info”

log.maxDays = 3

[[proxies]]

name = “secret_ssh”

type = “stcp”

# 只有与此处设置的 secretKey 一致的用户才能访问此服务

secretKey = “abcdefg”

localIP = “127.0.0.1”

localPort = 22

4.2 在想要访问内网服务的机器上也部署 frpc,并创建如下配置:

serverPort = 7000

auth.method = “token”

auth.token = “abc”

# console or real logFile path like ./frps.log

log.to = “./frpc.log”

log.level = “info”

log.maxDays = 3

[[visitors]]

name = “secret_ssh_visitor”

type = “stcp”

# 要访问的 stcp 代理的名字

serverName = “secret_ssh”

secretKey = “abcdefg”

# 绑定本地端口以访问 SSH 服务

bindAddr = “127.0.0.1”

bindPort = 6000

4.3 通过SSH 访问内网机器

使用以下命令通过 SSH 访问内网机器,假设用户名为 test:

ssh -o Port=6000 test@127.0.0.1