背景说明
云主机centos 7,作为frp的服务端,其他作为客户端。
二进制文件准备
frp_0.61.1_linux_amd64.tar.gz
frp_0.61.1_windows_amd64.zip
服务端安装
# 解压
tar -zxvf frp_0.61.1_linux_amd64.tar.gz
cd frp_0.61.1_linux_amd64
cp frps /usr/bin/
mkdir -p /etc/frps/
cp frps.toml /etc/frps/
# 修改配置frps.toml
bindPort = 7000
vhostHTTPPort = 8000
vhostHTTPSPort = 8443
kcpBindPort = 1550
webServer.addr = "0.0.0.0"
webServer.port = 7001
# dashboard's username and password are both optional
webServer.user = "admin"
webServer.password = "admin123"
auth.method = "token"
auth.token = "admin123"
# 注册到systemd
cat > /usr/lib/systemd/system/frps.service << EOF
[Unit]
# 服务名称,可自定义
Description = frps server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /usr/bin/frps -c /etc/frps/frps.toml
[Install]
WantedBy = multi-user.target
EOF
systemctl daemon-reload
systemctl enable frps --now
客户端安装
# linux下frpc客户端安装,作为穿透映射的被访问者
cp frpc /usr/bin/
cp frpc.toml /etc/frpc/
# 修改配置
serverAddr = "服务端ip"
serverPort = 7000
auth.method = "token"
auth.token = "admin123"
[[proxies]]
name = "secret_ssh"
type = "stcp"
# 只有与此处设置的 secretKey 一致的用户才能访问此服务
secretKey = "admin1234"
localIP = "127.0.0.1"
localPort = 22
# 注册服务到systemd
cat > /usr/lib/systemd/system/frpc.service << EOF
[Unit]
# 服务名称,可自定义
Description = frpc client
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /usr/bin/frpc -c /etc/frpc/frpc.toml
[Install]
WantedBy = multi-user.target
EOF
systemctl daemon-reload
systemctl enable frpc --now
# windows配置frpc客户端,作为访问者
cat frpc.toml
serverAddr = "服务端ip"
serverPort = 7000
auth.method = "token"
auth.token = "admin123"
[[visitors]]
name = "secret_ssh_visitor"
type = "stcp"
# 要访问的 stcp 代理的名字
serverName = "secret_ssh"
secretKey = "admin123"
# 绑定本地端口以访问 SSH 服务
bindAddr = "127.0.0.1"
bindPort = 6000
启动frpc客户端,然后在windows上访问
ssh -o Port=6000 test@127.0.0.1
更多内容阅读示例 | frp