考勤机内网穿透绑定方案

考勤机内网穿透绑定方案
方案核心逻辑由于 EHR 系统只能主动连接 IP 端口而分点的考勤机没有固定公网 IP所以需要云服务器frps作为“跳板”拥有固定公网 IP负责监听和转发请求。分点电脑frpc作为“桥梁”主动连接云服务器打通网络隧道。最终效果EHR 系统访问 云服务器公网IP:指定端口请求会通过隧道被转发到分点考勤机的端口上。省事、省钱不用拉专网也不用组建内网。阿里云99一年优惠给开发者测试的云服务器直接解决目前公司几个分厂统一同步数据到EHR系统的难题。 详细实现步骤第一步配置云服务器服务端 frps在租用的云服务器上需要下载 frp 并配置服务端。1.下载并解压 frp以 Linux 为例wgethttps://github.com/fatedier/frp/releases/download/v0.68.0/frp_0.68.0_linux_amd64.tar.gztar-zxvffrp_0.68.0_linux_amd64.tar.gzcdfrp_0.68.0_linux_amd642.编辑配置文件 frps.tomlbindPort7000auth.tokenck89808755# 认证密码务必修改# 可选启用管理面板方便查看状态webServer.addr0.0.0.0webServer.port7500webServer.useradminwebServer.passwordwangyi0735直接运行会一直卡在命令行前端关闭服务就直接挂了建议后台运行。要让云服务器上的 frps 服务端在关闭终端后依然保持运行主要有两种方法方法一使用 systemd推荐最稳定这是 FRP 官方推荐的方式可以将 frps 安装为系统服务实现后台运行、开机自启、统一管理。第一步创建 systemd 服务文件sudovim/etc/systemd/system/frps.service第二步写入以下内容注意替换路径[Unit]Descriptionfrp serverAfternetwork.target syslog.targetWantsnetwork.target[Service]Typesimple# 关键把这里的路径改成你实际的 frps 安装路径ExecStart/path/to/frps-c/path/to/frps.tomlRestartalwaysRestartSec5[Install]WantedBymulti-user.target第三步启动并设置开机自启# 重新加载 systemd 配置sudosystemctl daemon-reload# 启动 frps 服务sudosystemctl start frps# 查看运行状态确认是 active (running)sudosystemctl status frps# 设置开机自动启动sudosystemctlenablefrps方法二使用 nohup快速简单如果你不想配置 systemd可以用 nohup 让程序在后台运行# 进入 frp 目录后执行nohup./frps-c./frps.toml/dev/null21第二步配置分点电脑客户端 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[common]server_addr云服务公网IP地址 server_port7000tokenck89808755[fendian-wuling1]typetcp local_ip192.168.0.80 local_port8000remote_port6002[fendian-wuling2]typetcp local_ip192.168.0.253 local_port8000remote_port60033.启动客户端在文件夹地址栏输入 cmd 回车打开命令提示符运行frpc.exe-cfrpc.toml这种方式分厂电脑一关机员工不会启动一开始弄个脚本每次开机让他们手动点一下运行服务。但有几个分厂的电脑是公用的每次用的人都不同干脆想办法设置成开机自动跑服务。按下 Win R输入 shell:startup回车。在打开的文件夹里右键 - 新建 - 快捷方式。浏览找到你的 frpc.bat 文件点击“完成”。这样子电脑每次开机服务自动跑起来了。4.在frp后台能看见连接成功的客户端和节点第三步在产业园 EHR 系统中绑定现在网络隧道已经建立你可以在 EHR 系统中按以下信息添加考勤机IP 地址云服务器的公网 IP端口6000配置文件中设置的 remotePort