• 服务器(香港轻量 Linux)准备

 

1、系统:推荐 CentOS7 / Debian11 / Ubuntu20.04(宝塔都支持)

2、已装宝塔,面板端口、80/443 已放行

3、拿到服务器 公网 IP(记下来,后面要用)

4、服务器放行端口(非常重要)

轻量云 安全组 / 防火墙 必须放行:

17000(frp 通信端口)

27500(frp 面板,可选)

(3)你要映射的端口(如 10088、8080 8088 8089 8090等)

宝塔面板 → 安全 → 放行端口:7000,7500,10088,8080,8088,8089,8090

注:服务器原有8080端口可能会被占用,应考虑使用8088或10088

 

  • 服务端 frps 安装(Linux + 宝塔)

 

  • 用 SSH 登录服务器(或直接使用宝塔面板终端面板)复制-粘贴执行:

 

# 进入/www目录(宝塔常用) cd /www

# 下载(选 0.45 左右稳定版,兼容好) wget https://github.com/fatedier/frp/releases/download/v0.45.0/frp_0.45.0_linux_amd64.tar.gz

# 解压 tar -zxvf frp_0.45.0_linux_amd64.tar.gz

# 改名方便用 mv frp_0.45.0_linux_amd64 frp cd frp

 

  • 配置ini(服务端),修改设置后复制-粘贴执行:

 

vi frps.ini

写入:

[common]

bind_port = 7000

dashboard_port = 7500

dashboard_user = admin

dashboard_pwd = 你的密码(自己设)

token = 你的密钥(自己设,客户端要一样)

vhost_http_port = 8088

 

说明:

  • bind_port=7000:客户端连接端口
  • dashboard_port=7500:web 管理面板
  • token:必须和客户端一致
  • vhost_http_port=8088:http 穿透用的端口(我们使用TCP穿透,影响不大)

保存退出(使用SSH):按键盘Esc键后 → :wq → 回车

保存退出(使用宝塔终端):用 Ctrl+[ 代替 ESC(最稳)

A、确保窗口是激活的(点一下终端里的黑框)

B、直接按:Ctrl + [(左中括号)

C、屏幕左下角的 --INSERT-- 会消失,说明成功退出编辑模式

D、(键盘英文状态下)输入:wq

E、回车 → 保存并退出

注意:先按英文冒号 :(键盘 L 右边按键),屏幕左下角出现:输入提示符后,再输入 wq,最后回车。

F、如何验证是否已保存成功?:

终端输入这条查看内容:

cat /www/frp/frps.ini

正常出来内容:

[common]

bind_port = 7000

dashboard_port = 7500

dashboard_user = admin

dashboard_pwd = 你的密码(自己设)

token = 你的密钥(自己设,客户端要一样)

vhost_http_port = 8088

内容对上 = 保存没问题。

 

  • 启动 frp 服务(直接整段复制运行)

 

systemctl daemon-reload

systemctl restart frps

systemctl status frps

出现绿色 active (running) 代表服务端正常开机运行。

 

  • 配置 systemd 开机自启(重点)

 

vi /etc/systemd/system/frps.service

写入(复制粘贴):

[Unit]

Description=frps service

After=network.target

[Service]

Type=simple

ExecStart=/www/frp/frps -c /www/frp/frps.ini

Restart=always

[Install]

WantedBy=multi-user.target

保存后执行:

systemctl daemon-reload

systemctl start frps

systemctl enable frps

systemctl status frps

显示 active (running) 就是正常。

 

  • 访问 frp 面板

 

浏览器打开:http://你的公网IP:7500

输入 admin / 你的密码,能进就说明服务端部署完成。

 

三、Win7 x64 客户端 frpc 安装配置

 

1、下载对应版本(0.45.0 适配 Win7 x64)

 

Win7 用 0.45 或更早版本(新版不兼容):

(1)下载:frp_0.45.0_windows_amd64.zip

打开:https://proxykuy.com/

下载地址粘贴进网页内网址填写框:https://github.com/fatedier/frp/releases/download/v0.45.0/frp_0.45.0_windows_amd64.zip

  • 解压到:C:\frp(路径不要中文、空格)

只保留里面:frpc.exe,其余文件不用管

 

2、编写 frpc.ini(Win7 客户端)

 

在 C:\frp 新建 frpc.ini,修改设置后粘贴下面配置:

[common]

server_addr = 公网IP

server_port = 7000

token = 你的密钥(自己设,与服务端一致)

user = pc1

 

[web1]

type = tcp

local_ip = 127.0.0.1

local_port = 80

remote_port = 8089 (外网访问端口)

 

[kk_tcp]

type=tcp

local_ip=127.0.0.1

local_port=8012

remote_port=8012 (kkFileView预览端口)

 

  • 测试启动

 

右键【命令提示符 CMD】→以管理员身份运行

cd C:\frp

frpc.exe -c frpc.ini

出现 login to server success 就是连通成功。

 

4外网访问地址

 

http://外网IP:8089

打开就能访问你 Win7 本机 80 端口网站。

 

5小提醒

 

(1)确认 Win7 本地 80 端口网站能本机正常打开(127.0.0.1)

(2)服务器全组 / 宝塔防火墙已经放行:7000、8080、8088、8089、8090、7500、8012、8013(已经弄完不用改)

小贴士:以后每次开 CMD,必须先 cd C:\frp再运行程序。

 

  • 两端开机自启完整配置

 

1服务器 Linux(frps 已配置 systemd,自带开机自启 ✅)

之前执行过systemctl enable frps,服务器重启自动启动 frps,无需额外配置 宝塔终端查看确认:

systemctl is-enabled frps

返回enabled即为开机自启生效。

 

2Win7 客户端 frpc 开机自启(NSSM 封装系统服务,最优方案)

(1)下载 nssm64 位,解压把win64\nssm.exe放到C:\frp\nssm.exe

(2)管理员 CMD 执行:C:\frp\nssm.exe install FrpClient

弹窗填写:

Path:C:\frp\frpc.exe

Startup directory:C:\frp

Arguments:-c C:\frp\frpc.ini

Service name:FrpClient(自定义)

补充设置(可选优化)

切换到 Details 标签,服务名称填:FrpClient; 切换到 Recovery,全部失败选项改为「重新启动服务」,掉线自动重连。

填完点击 OK,服务自动安装并立即运行,以后开机系统自动启动 frp。

 

  • 验证服务安装情况:运行msc,可在 Win7 服务列表找到FrpClient,点击启动、设置自动。

 

4、卸载服务命令(备用):C:\frp\nssm.exe remove FrpClient

 

五、多台 Win7 主机同时穿透(一台服务端对接多台内网电脑,完全支持)

 

1、端口多站点方案

 

原理:每台机器独立 frpc.ini,remote_port 不能重复,其他已有配置一样

示例:

机器 A(第一台,现有配置

[common]

server_addr = 外网服务器IP

server_port = 7000

token = 密码(与服务端一致)

user = pc1

 

[web-A]

type = tcp

local_ip = 127.0.0.1

local_port = 80

remote_port = 8089 (外网访问端口)

 

[kk1_tcp]

type=tcp

local_ip=127.0.0.1

local_port=8012

remote_port=8012 (kkFileView预览端口)

 

 

外网访问:外网IP:8089

 

机器 B(第二台 Win7,新配置)

[common]

server_addr = 外网服务器IP

server_port = 7000

token = 密码(与服务端一致)

user = pc2

 

[web-B]

type = tcp

local_ip = 127.0.0.1

local_port = 80

remote_port = 8090 (外网访问端口)

 

[kk2_tcp]

type=tcp

local_ip=127.0.0.1

local_port=8012

remote_port=8013 (kkFileView预览端口)

 

外网访问:外网IP:8090

 

机器 C(第三台)

[common]

server_addr = 外网服务器IP

server_port = 7000

token = 密码(与服务端一致)

user = pc3

 

[web-C]

type = tcp

local_ip = 127.0.0.1

local_port = 80

remote_port = 8091 (外网访问端口)

 

[kk3_tcp]

type=tcp

local_ip=127.0.0.1

local_port=8012

remote_port=8014 (kkFileView预览端口)

 

外网访问:外网IP:8091

 

注:配套服务器操作(后续外网以二级域名:端口号访问不同内网主机)

  • 阿里云安全组 + 宝塔防火墙批量放行新增端口:8089、8090……8012、8013……
  • 在域名 DNS 后台单独添加二级域名xxx.com、pc2.xxx.com单条 A 记录
  • 外网访问就可以使用不同的二级域名+不同的端口对应不同的内部网站。例xxx.com:8089,就是访问主机1;pc1.xxx.com:8090,就是访问主机2。
  • 每台 Win7 单独一套 frpc 程序 + 独立 ini,独立端口,各自用 nssm 做成系统服务,互不干扰。

 

2、域名多站点方案此方案测试过会有串站情况,暂时无法解决,请用方案一

 

多台机器绑定不同二级域名,全部 type=http、填写各自custom_domains=xxx.com,共用服务端 8088 端口,remote_port 无需额外分配type=http时,remote_port=8088这行要删除)

TCP:需要 remote_port;HTTP/SUB:依靠 vhost_http_port,禁止填写 remote_port。

 

  • 在域名 DNS 后台添加A 记录

你的主域名.com → 解析指向 公网IP (泛解析,所有二级域名自动指向服务器 IP;也可单独添加 pc1.xxx.compc2.xxx.com 单条 A 记录)

 

示例 1:单台主机绑定单个二级域名

[common]

server_addr = 公网IP 

server_port = 7000

token = 你的密码(与服务端一致) 

[web-pc1]

type = http 

local_ip = 127.0.0.1

local_port = 80

custom_domains = pc1.xxx.com

 

访问:http://pc1.xxx.com8088

 

示例 2:多台 Win7 机器绑定不同二级域名(共用服务端 8088 端口,不用新开远端端口)

PC1(第一台电脑 frpc.ini)

[common]

server_addr = 公网IP 

server_port = 7000

token = 你的密码(与服务端一致) 

 

[web-pc1]

type = http 

local_ip = 127.0.0.1

local_port = 80

custom_domains = pc1.xxx.com

 

浏览器访问格式:http://pc1.xxx.com8088

 

PC2(第二台电脑独立 frpc.ini)

[common]

server_addr = 公网IP 

server_port = 7000

token = 你的密码(与服务端一致) 

 

[web-pc2]

type = http 

local_ip = 127.0.0.1

local_port = 80

custom_domains = pc2.xxx.com

 

浏览器访问格式:http://pc2.xxx.com8088

 

优势:多台设备共用服务器 8088 一个端口,不用在安全组频繁放行新端口,靠域名区分不同内网站点。

 

服务端无需改动

服务端frps.inivhost_http_port = 8088保持原样即可。

 

3、补充:想用 80 端口免端口访问

 

(1)服务器安全组 + 宝塔放行80 端口

(2)修改 frps.ini:vhost_http_port = 80,重启 frps 服务端 后续域名直接不带端口访问:http://pc1.xxx.com

4、配置TCPHTTP的区别:

1二级域名:8088 能打开 = TCP 穿透逻辑 现在remote_port=8089属于TCP 端口映射,域名只是解析 IP,配置的域名:8089等价公网IP:8089,确实不用改 frpc.ini,只是域名代替 IP 寻址。

访问格式:xxx.域名.com:8089

2不带端口直接 xxx.域名.com 访问 = HTTP 虚拟主机(必须改配置) 需要把type=tcp改成type=http、填写custom_domains=xxx.域名.com,依靠 frp 自带的域名路由,共用服务端vhost_http_port=80,实现无端口访问。当前服务端实际配置vhost_http_port = 8089

,也是要带端口访问(域名:8089),只有80端口不用带端口。

访问格式:xxx.域名.com:8089

3拓展小技巧:想彻底去掉端口,改成 HTTP 模式,直接 http://二级域名 访问(完全不带端口)两步:

  • 服务器安全组 + 宝塔放行 80 端口
  • 服务器修改 frps.ini:vhost_http_port = 80,执行

systemctl restart frps

 

之后直接网址访问,不带端口。

声明:本站所有文章资源,仅供学习研究使用,请下载后24小时删除。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了您的合法权益,可联系我们(邮箱:pla73121@qq.com)删除处理。