利用frp做内网穿透,Windows上部署frpc客户端,公网服务器部署frps服务端

1.下载

frp安装包下载地址:https://github.com/fatedier/frp/releases
选择最新版,我示例的版本是:0.59;linux和windows下载对应的版本,通常都是amd64内核版。

下载后所有文件都打包在一个压缩包中,还包含了一份完整的配置参数说明:

  1. 解压下载的压缩包。
  2. 将 frpc 复制到内网服务所在的机器上。
  3. 将 frps 复制到拥有公网 IP 地址的机器上,并将它们放在任意目录。

2.服务端部署,配置

在 Linux 系统下,使用 systemd 可以方便地控制 frps 服务端的启动、停止、配置后台运行以及开机自启动。

# 使用 yum 安装 systemd(CentOS/RHEL)
yum install systemd

# 使用 apt 安装 systemd(Debian/Ubuntu)
apt install systemd

# 使用文本编辑器 (如 vim) 在 /etc/systemd/system 目录下创建一个 frps.service 文件,用于配置 frps 服务。
$ 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 = /path/to/frps -c /path/to/frps.toml

[Install]
WantedBy = multi-user.target

############################################################
# 使用 systemd 命令管理 frps 服务
# 启动frp
sudo systemctl start frps
# 停止frp
sudo systemctl stop frps
# 重启frp
sudo systemctl restart frps
# 查看frp状态
sudo systemctl status frps
# 设置 frps 开机自启动
sudo systemctl enable frps

通过遵循上述步骤,您可以轻松地使用 systemd 来管理 frps 服务,实现启动、停止、自动运行和开机自启动。确保替换路径和配置文件名称以匹配您的实际安装。

服务端配置文件(frps.toml)如下:

bindPort = 7000                          # 服务端与客户端通信端口
# vhostHTTPPort = 8080                     # HTTP 请求的监听端口为 8080

# transport.tls.force = true              # 服务端将只接受 TLS链接

# auth.token = "public"                   # 身份验证令牌,frpc要与frps一致 -- 可修改

# Server Dashboard,可以查看frp服务状态以及统计信息
# webServer.addr = "0.0.0.0"              # 后台管理地址
# webServer.port = 7500                   # 后台管理端口
# webServer.user = "admin"                # 后台登录用户名
# webServer.password = "admin"    # 后台登录密码

部署成功后,查看状态: 

3.客户端部署,配置(以windows为案例)

windows的客户端下载解压后是包含一个配置文件 frpc.toml,和一个可执行文件frpc.exe
所以客户端的部署很简单,只需要通过在当前目录下cmd,执行命令:frpc.exe -c ./frpc.toml

frpc.toml配置如下:

serverAddr = "x.x.x.x" #  frps 所在服务器的公网 IP 地址为 x.x.x.x
serverPort = 7000
# auth.method = 'token' # 客户端访问验证方式
# auth.token = '54321' # 客户端访问验证密码

[[proxies]]
# 客户端服务名
name = "web-wms"
# 通讯方式
type = "tcp"
# 客户端的ip,需要从公网访问的内网服务的地址。
localIP = "127.0.0.1" 
# 客户端服务端口,需要从公网访问的内网服务的端口。
localPort = 8087 
# 表示在 frp 服务端监听的端口,访问此端口的流量将被转发到本地服务的相应端口。(服务器需要放行)
remotePort = 8088 

# 将 www.yourdomain.com 和 www.yourdomain2.com 的域名 A 记录解析到服务器的 IP 地址 x.x.x.x。
# 如果服务器已经有对应的域名,您还可以将 CNAME 记录解析到原始域名。
# 另外,通过修改 HTTP 请求的 Host # # 字段也可以实现相同的效果。
#[[proxies]]
#name = "web-wms"
#type = "http"
#localPort = 8087
#customDomains = ["www.kpwms.com"]

 效果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值