使用frp进行内网穿透
· 阅读需 5 分钟
1. 什么是frp
frp是一个快速反向代理,可帮助您将NAT或防火墙后面的本地服务器暴露到互联网。它支持多种协议,包括TCP、UDP、HTTP、HTTPS等,并且可以通过自定义域名访问您的服务。
是一个GitHub上的开源项目,地址是:https://github.com/fatedier/frp
2. frp的工作原理
frp的工作原理非常简单,它通过客户端和服务端之间的通信来实现内网穿透。客户端将本地服务的流量发送到服务端,服务端将流量转发到目标服务器,从而实现内网穿透。

3. 如何使用frp
要使用frp进行内网穿透,您需要在本地服务器和目标服务器上分别安装frp客户端和服务端。然后,您需要配置frp客户端和服务端的配置文件,以便它们能够正确地通信。 frp是开源的,您可以从GitHub上下载最新的frp二进制文件,也可以从frp的官方网站下载预编译的二进制文件。
https://github.com/fatedier/frp/releases
在下载frp之后,您需要解压缩文件,并将frpc和frps二进制文件复制到您的服务器上。然后,您需要创建一个配置文件,以便frp客户端和服务端能够正确地通信。
提示
要注意的是,frp因为是有风险的网络操作,会被杀毒软件误报,请在安装前关闭杀毒软件。并且需要在杀毒软件中将frp加入白名单。
3.1. 安装frps服务端
服务器配置文件示例:
# frps.toml
bindPort = 7000
auth.token = "eUH4K344Q7jY3Q8h1bRP3NkYBBVvHs7BmC5i5XA"
在服务器上使用命令行启动frps服务端:
./frps -c frps.toml
可以将frps服务端设置为开机自启动,以便在服务器重启后自动启动。
在/etc/systemd/system/frps.service中添加以下内容:
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
User=frp
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /opt/frp/frps -c /opt/frp/frps.toml
[Install]
WantedBy = multi-user.target
使用以下命令管理frps服务:
# 启动服务
systemctl start frps
# 停止服务
systemctl stop frps
# 重启服务
systemctl restart frps
# 查看服务状态
systemctl status frps
# 设置开机自启动
systemctl enable frps
