FRP端口转发
in 软路由LinuxDocker with 0 comment
FRP端口转发
in 软路由LinuxDocker with 0 comment

结构

咱们先来看下他的基本结构,FRP客户端和服务端建立连接,然后外网设备通过服务器的端口来访问内网的设备。

img

咱们需要配置两个端,一个是服务端,frps,一个是客户端frpc,这两个端建立连接,然后在你访问服务器特定端口的时候,客户端会先把数据推送到服务端,然后再由服务端推送给你。

服务端

wget -O frp.tar.gz https://github.com/fatedier/frp/releases/download/v0.59.0/frp_0.59.0_linux_amd64.tar.gz

tar -zxvf frp.tar.gz

mv frp_0.59.0_linux_amd64 frp

nano frps.toml

frps配置

#客户端和服务端建立连接的端口默认7000,建议修改
bindPort = 17001
#客户端和服务端建立连接的密码,建议修改
auth.token = "abc"

# 默认为 127.0.0.1,如果需要公网访问,需要修改为 0.0.0.0。
webServer.addr = "0.0.0.0"
webServer.port = 7500
# dashboard 用户名密码,可选,默认为空
webServer.user = "admin"
webServer.password = "buzheteng"

frps service 配置

sudo vim /etc/systemd/system/frps.service
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /home/lighthouse/frp/frps -c /home/lighthouse/frp/frps.toml

[Install]
WantedBy = multi-user.target

管理命令

# 启动frp
sudo systemctl start frps
# 停止frp
sudo systemctl stop frps
# 重启frp
sudo systemctl restart frps
# 查看frp状态
sudo systemctl status frps
# 开机自启
sudo systemctl enable frps

客户端

配置

# 服务器ip、端口,密码,要和服务器对应
serverAddr = "42.193.98.208"
serverPort = 7000
auth.token = "abc"

[[proxies]]
name = "router"
type = "tcp"
localIP = "10.0.0.1"
localPort = 80
remotePort = 5080

docker 启动

-v 后面的路径需要改为你自己的

docker run --restart=always --network host -d -v /home/buzheteng/config/frp/frpc.toml:/etc/frp/frpc.toml --name frpc snowdreamtech/frpc
Responses