在国内很多时候,我们没有办法获取到公网,因此需要使用内网穿透/反向代理的方式来曲线救国
服务端
下载frp,将frp放到任意目录下,这里我放在/app下
wget https://github.com/fatedier/frp/releases/download/v0.60.0/frp_0.60.0_linux_amd64.tar.gz
tar -xzf frp_0.60.0_linux_amd64.tar.gz
mkdir -p /app
mv frp_0.60.0_linux_amd64 /app/frp配置服务器
cd /app/frp
mkdir logs修改frps文件
vi frps.toml配置样例如下:
#服务绑定的IP与端口
bindAddr = "0.0.0.0"
bindPort = 7000
#web dashboard配置
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "admin"
webServer.password = "admin"
#启用prometheus监控指标
enablePrometheus = true
#token权限验证,需与客户端配置一致
auth.method = "token"
auth.token = "123456"
#日志配置 log.to = "/app/frp/logs/frps.log"
log.level = "info"
log.maxDays = 3配置系统服务
vi /etc/systemd/system/frps.service配置样例如下
[Unit]
Description=Frp Server Service
After=network.target
[Service]
Type=simpleExecStart=/app/frp/frps -c /app/frp/frps.toml
Restart=on-failure
[Install]
WantedBy=multi-user.target重启系统服务
systemctl daemon-reload
systemctl enable --now frps.service客户端
下载frp,将ftp放在/app目录下
wget https://github.com/fatedier/frp/releases/download/v0.60.0/frp_0.60.0_linux_amd64.tar.gz
tar -xzf frp_0.60.0_linux_amd64.tar.gz
mkdir -p /app
mv frp_0.60.0_linux_amd64 /app/frp配置客户端
mkdir logs conf.d
vi frpc.toml配置样例如下
#配置公网服务器上frp服务的IP与端口
serverAddr = "x.x.x.x"
serverPort = 7000
#web dashboard配置
webServer.addr = "0.0.0.0"
webServer.port = 7400
webServer.user = "admin"
webServer.password = "admin"
#日志配置
log.to = "/app/frp/logs/frpc.log"
log.level = "info"
log.maxDays = 3
#token权限验证,需与服务端配置一致
auth.method = "token"
auth.token = "123456"
#代理配置,这里使用引用文件的方式
includes = ["./conf.d/*.toml"]添加代理配置
vi conf.d/nas.toml配置样例如下:
[[proxies]]
name = "nas" #名称
type = "tcp" #代理类型
localIP = "127.0.0.1" #本地IP
localPort = 5666 #内网服务监听的端口
remotePort = 5666 #需要在公网服务器上监听的端口配置系统服务
vi /etc/systemd/system/frpc.service[Unit] # 服务名称,可自定义
Description = frp client
After = network.target
syslog.target Wants = network.target
[Service]
Type = simple
# 启动frpc的命令,需修改为您的frpc的安装路径
<NolebasePageProperties />
ExecStart = /app/frp/frpc -c /app/frp/frpc.toml
[Install]
WantedBy = multi-user.targetsystemctl daemon-reload
systemctl start frpc