考勤机内网穿透绑定方案

🎯 方案核心逻辑

由于 EHR 系统只能主动连接 IP + 端口,而分点的考勤机没有固定公网 IP,所以需要:

云服务器(frps):作为"跳板",拥有固定公网 IP,负责监听和转发请求。

分点电脑(frpc):作为"桥梁",主动连接云服务器,打通网络隧道。

最终效果:EHR 系统访问 云服务器公网IP:指定端口,请求会通过隧道被转发到分点考勤机的端口上。

省事、省钱:不用拉专网,也不用组建内网。阿里云99一年优惠给开发者测试的云服务器直接解决目前公司几个分厂统一同步数据到EHR系统的难题。

📝 详细实现步骤

第一步:配置云服务器(服务端 frps)

在租用的云服务器上,需要下载 frp 并配置服务端。

1.下载并解压 frp(以 Linux 为例):

bash 复制代码
wget https://github.com/fatedier/frp/releases/download/v0.68.0/frp_0.68.0_linux_amd64.tar.gz
tar -zxvf frp_0.68.0_linux_amd64.tar.gz
cd frp_0.68.0_linux_amd64

2.编辑配置文件 frps.toml:

bash 复制代码
bindPort = 7000

auth.token = "ck89808755"  # 认证密码,务必修改
 
# 可选:启用管理面板,方便查看状态
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "admin"
webServer.password = "wangyi0735"

直接运行会一直卡在命令行前端,关闭服务就直接挂了,建议后台运行。

要让云服务器上的 frps 服务端在关闭终端后依然保持运行,主要有两种方法:

方法一:使用 systemd(推荐,最稳定)

这是 FRP 官方推荐的方式,可以将 frps 安装为系统服务,实现后台运行、开机自启、统一管理。

第一步:创建 systemd 服务文件

bash 复制代码
sudo vim /etc/systemd/system/frps.service

第二步:写入以下内容(注意替换路径)

bash 复制代码
[Unit]
Description=frp server
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
# 关键:把这里的路径改成你实际的 frps 安装路径
ExecStart=/path/to/frps -c /path/to/frps.toml
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

第三步:启动并设置开机自启

bash 复制代码
# 重新加载 systemd 配置
sudo systemctl daemon-reload

# 启动 frps 服务
sudo systemctl start frps

# 查看运行状态(确认是 active (running))
sudo systemctl status frps

# 设置开机自动启动
sudo systemctl enable frps

方法二:使用 nohup(快速简单)

如果你不想配置 systemd,可以用 nohup 让程序在后台运行

bash 复制代码
# 进入 frp 目录后执行
nohup ./frps -c ./frps.toml > /dev/null 2>&1 &

第二步:配置分点电脑(客户端 frpc)

在分点放置的 Windows 电脑上下载 Windows 版本的 frp,并进行配置。

1.下载并解压 Windows 版 frp(注意系统架构,通常是 windows_amd64)。

需要注意:从 FRP 0.58.0 版本开始,官方使用的 Go 1.21+ 编译环境已经不再支持 Windows 7。你在用的 0.68.0 版本太新了,在 Win7 上运行时缺少必要的系统 API。win7系统可以下载0.49.0 或更早版本。

2.在 frp 文件夹中创建配置文件 frpc.toml:

bash 复制代码
[common]

server_addr = 云服务公网IP地址

server_port = 7000

token = ck89808755



[fendian-wuling1]

type = tcp

local_ip = 192.168.0.80

local_port = 8000
remote_port = 6002


[fendian-wuling2]

type = tcp

local_ip = 192.168.0.253
local_port = 8000
remote_port = 6003

3.启动客户端:

在文件夹地址栏输入 cmd 回车打开命令提示符,运行:

bash 复制代码
frpc.exe -c frpc.toml

这种方式分厂电脑一关机员工不会启动,一开始弄个脚本每次开机让他们手动点一下运行服务。

但有几个分厂的电脑是公用的,每次用的人都不同,干脆想办法设置成开机自动跑服务。

按下 Win + R,输入 shell:startup,回车。

在打开的文件夹里,右键 -> 新建 -> 快捷方式。

浏览找到你的 frpc.bat 文件,点击"完成"。这样子电脑每次开机服务自动跑起来了。

4.在frp后台能看见连接成功的客户端和节点

第三步:在产业园 EHR 系统中绑定

现在网络隧道已经建立,你可以在 EHR 系统中按以下信息添加考勤机:

IP 地址:(云服务器的公网 IP)

端口:6000(配置文件中设置的 remotePort)

相关推荐
承渊政道3 天前
飞牛NAS部署Immich:搭建家庭相册并实现远程访问
运维·服务器·docker·内网穿透·cpolar·nas·immich
乱七八糟的屋子4 天前
libnice 超完整使用教程|C语言ICE/P2P公网穿透入门到高阶实战
网络协议·内网穿透·p2p·libnice·ice协议·stun/turn·webrtc底层
星恒讯工业路由器8 天前
远程访问技术解析:从内网穿透到安全隧道的三种主流方案
网络·信息与通信·内网穿透·远程访问·vpn隧道
微学AI8 天前
内网穿透的应用-群晖NAS部署ViniPlay:管理M3U频道、EPG与多视图播放
人工智能·内网穿透
ZeroNews内网穿透11 天前
无公网 IP 打通 CI/CD:内网穿透对接 GitHub Actions 自动部署内网服务
运维·tcp/ip·ci/cd·github·远程工作·内网穿透
ZeroNews内网穿透13 天前
内网部署企业知识库,通过 HTTPS 隧道实现异地安全访问
安全·内网穿透
如若12316 天前
Ubuntu 无 sudo 安装花生壳并实现 SSH 内网穿透:Conda 环境部署、冲突排查与自动启动
linux·运维·ubuntu·ssh·内网穿透
想你依然心痛18 天前
从监控数据到告警管理:Prometheus与Alertmanager部署实战
ubuntu·prometheus·内网穿透·系统监控·cpolar·告警管理
星马梦缘18 天前
如何内网穿透用手机远控电脑?
http·电脑·内网穿透·远程控制
承渊政道25 天前
把家里的显卡变成远程AI画室:Stable Diffusion WebUI部署实战
人工智能·stable diffusion·内网穿透·cpolar·web ui·ai画室