当前疫情蔓延,很多公司开始了远程办公模式。我这边也开始了远程办公模式。国内的同事需要访问公司内网的服务,综合选择了下,用frp来做代理转发。

之前用的Linux下的代理转发(《[原创]使用frp实现内网穿透》),现在是需要Windows下的代理转发。

一、环境

frp的转发机制是:一台服务端(配置公网IP,转发请求到内网),一台客户端(内网服务机器,内网IP,要求能访问互联网)。服务端将外部的访问请求转发到内网服务上。

我的情况是,内网有一台机器(10.10.10.170),运行的某个应用服务(端口:8999),国内同事需要访问此服务。

frp官网:https://github.com/fatedier/frp frp官网文档:https://github.com/fatedier/frp/blob/master/README_zh.md#%E4%B8%BA%E6%9C%AC%E5%9C%B0-http-%E6%9C%8D%E5%8A%A1%E5%90%AF%E7%94%A8-https

公网机器:公网IP。系统:window server 2019 DC 本地机器:工作项目跟踪系统(工作进度汇报、项目bug报告等)。系统:windows Server 2019 DC

二、服务端配置

1、下载软件 官网下载frp软件:https://github.com/fatedier/frp/releases

2、解压 解压后放到适当位置,例如 D 分区。

3、配置 备份 frpcs.ini 文件(复制一份即可)。修改 frps.ini 文件,将“bind_port”改为你需要的端口,这个端口是给客户端访问用的。

4、启动服务端 按下 windows+R 输入 cmd 进入命令窗口,进入到安装目录下运行 frps.exe -c frps.ini

5、配置防火墙 服务端开放转发端口。防火墙 - 入站规则,放行上面配置文件中的端口。我这里偷懒,直接放行了整个程序。

服务端配置完成

三、客户端部署

1、下载软件 同服务端

2、解压 同服务端操作一样

3、配置 修改 frpc.ini 文件。注意文件与服务端不一样。

[common]
server_addr = 1.1.1.1		# 改为服务端的公网地址
server_port = 8999			# 改为服务端的 bind_port

[chandao]					# 名称自定义
type = tcp					# 端口类型
local_ip = 127.0.0.1		# 本地提供服务的IP
local_port = 8999			# 本地提供服务的端口
remote_port = 9999			# 远程(外网)访问用的端口,不能与 local_port 一样

例如,我的配置

4、客户端启动 按下 windows+R 输入 cmd 进入命令窗口,进入到安装目录下运行 frps.exe -c frpc.ini

5、内网防火墙设置 内网提供服务的机器开放服务端口。防火墙 - 入站规则,开放提供服务的端口。

四、外网访问

因为我的内网服务是web服务,所以在外网(国内)用浏览器访问: http://1.1.1.1:9999 。你可以为IP配置个域名

如果有安全性需求的,添加白名单访问模式即可。

~全文完~

Roy 2020年2月3日16:14:43 于办公室