Windows 上使用 Open*** + Frp 组建本地局域网

  • Post author:
  • Post category:其他




序言

在 Windows 上使用 Open*** + Frp 技术组建本地局域网,需准备好相应的服务器,一台用于搭建 Open*** Server 端、Frp Client 端的 Windows 主机;以及一台云服务器(提供公网 IP),用于搭建 Frp Server 端。Frp 可将本地 Open*** Server 监听的 1194 端口放到公网服务器上,用于外网用户进行拨号。

\ Windows 服务器(172.16.2.66) 云服务器(公网 IP)
Frp Server
Frp Client
Open*** Server



一、安装 Frp

1、Frps 的安装参照上一篇,本文也是基于上一篇部分环境来进行。

2、Frpc 下载地址:

https://github.com/fatedier/frp/releases/download/v0.37.0/frp_0.37.0_windows_amd64.zip

3、解压 frp_0.37.0_windows_amd64.zip,例如解压到 D:\frpc

4、编辑 D:\frpc\frpc.ini 文件如下

[common]
server_addr = 公网IP
server_port = 7000
token = abc123
# 设置日志信息
log_file = ./logs/frpc.log
log_level = info
log_max_days = 3

[open***1]
type = tcp
local_ip = 172.16.2.66
local_port = 1194
remote_port = 9413

5、将 Frpc 制作成 Windows 服务

1、下载 WinSW.NET4.exe 保存到 D:\frpc 目录下
下载地址: https://github.com/winsw/winsw/releases/download/v2.11.0/WinSW.NET4.exe

2、改名 WinSW.NET4.exe 为 frpc-server.exe

3、新建文件 frpc-server.xml(注意:因为description 中有汉字,所以该文件保存为 UTF-8 格式),内容如下
<service>
	<id>frpc</id>
	<name>frpc</name>
	<description>使用 frp 将本地端口映射到公网端口</description>
	<executable>frpc.exe</executable>
	<arguments>-c frpc.ini</arguments>
	<onfailure action="restart" delay="60 sec"/>
	<onfailure action="restart" delay="120 sec"/>
	<logmode>append</logmode>
	<logpath>logs</logpath>
</service>

4、管理员权限打开 CMD,cd 到 D:\frpc,执行 frpc-server.exe install

5、在 CMD 中启动/停止 frpc 命令
net start frpc
net stop frpc



二、安装 Open*** Server



1. 下载安装 Open***

1、下载 Open***-2.5.4-I602-amd64.msi 安装包

下载地址:

https://swupdate.open***.org/community/releases/Open***-2.5.4-I602-amd64.msi

2、安装 Open***

选择 Customize 后进入下图,所有 X 的全都选中,然后一直默认下一步(本文安装路径为 D:\open***)

在这里插入图片描述

在这里插入图片描述



2.配置 easy-rsa-3 及 Open***



2.1.生成证书

1、管理员权限打开 CMD,cd 到 D:\open***\easy-rsa

2、依次执行以下命令
EasyRSA-Start.bat

./easyrsa init-pki	# 创建 pki 目录
set KEY_COUNTRY=CN
set KEY_PROVINCE=PROVINCE
set KEY_CITY=CITY
set KEY_ORG=ORG
set KEY_EMAIL=mail@host.domain
set DH_KEY_SIZE=2048 # 设置 DH 大小
# 创建 ca 证书,不使用密码,默认回车(或者输入yes)
./easyrsa build-ca nopass	
# 创建 server 端证书
./easyrsa build-server-full server nopass	
# 创建 client 端证书
./easyrsa build-client-full client nopass	
# 生成 dh 验证文件
./easyrsa gen-dh	



2.2.生成 ta.key

1、管理员权限打开 CMD,cd 到 D:\open***\bin

2、执行以下命令,在同目录层级下会生成 ta.key
open*** --genkey tls-auth ta.key



2.3.整理证书

certificate location
ca.crt D:\open***\easy-rsa\pki
ta.key D:\open***\bin
dh.pem D:\open***\easy-rsa\pki
Client/Server key D:\open***\easy-rsa\pki\private
Client/Server crt D:\open***\easy-rsa\pki\issued
1. server 端所需证书
ca.crt
dh.pem
ta.key
server.crt
server.key
将证书放到 D:\open***\config\certs 下

2. client 端所需证书
ca.crt
ta.key
client.crt
client.key



2.4.编辑 server 端配置文件

编辑 D:\open***\config\server.o*** 文件如下
port 1194

proto tcp

dev tun

ca ./certs/ca.crt

cert ./certs/server.crt

key ./certs/server.key  # This file should be kept secret

dh ./certs/dh.pem

server 10.10.0.0 255.255.255.0

ifconfig-pool-persist ipp.txt

push "route 172.16.2.0 255.255.255.0"

;client-config-dir ccd

push "dhcp-option DNS 223.5.5.5"
push "dhcp-option DNS 223.6.6.6"

client-to-client

keepalive 10 120

tls-auth ./certs/ta.key 0 # This file is secret

cipher AES-256-GCM

;comp-lzo
compress lzo

max-clients 100

persist-key
persist-tun

status ../log/open***-status.log
log         ../log/open***.log
verb 3
# crl-verify 为注销 client 端证书时所需要,后面再详解,当前可不加
crl-verify ../easy-rsa/pki/crl.pem



2.5.编辑 client 端配置文件

编辑 client.o*** 内容如下
client

dev tun
proto tcp
remote 公网IP 9413
resolv-retry infinite
nobind

persist-key

persist-tun

ca ca.crt

cert client.crt

key client.key

remote-cert-tls server

tls-auth ta.key 1

cipher AES-256-GCM

;comp-lzo
compress lzo

auth-nocache

verb 4



3.配置路由转发及防火墙

1、修改

注册表编辑器


HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters

下的

IPEnableRouter



1

,修改后需重启电脑

2、启动

Routing and Remote Access

服务

3、在

网络和共享中心



更改适配器设置

中修改

本地连接

的属性,在

共享

中勾选

允许其他网络用户通过此计算机的 Internet 连接来连接(N)

,同时

家庭网络连接

中选择Open***的网卡

4、在防火墙的入站规则中开放 1194 TCP 端口



4.启动 Open*** Server

使用管理员权限运行桌面的 Open*** GUI,然后连接即可,Open*** Server 即为启动成功



三、连接测试

1、在外网的主机中安装 Open***,全程默认安装即可

2、将上面生成的 client 端所需的证书以及 client.o*** 一起保存到 Open*** 安装目录下 config/client

3、做完上述内容即可连接测试



四、注销用户

1、管理员权限打开 CMD,cd 到 D:\open***\easy-rsa

2、依次执行以下命令
EasyRSA-Start.bat

#./easyrsa revoke 证书名
./easyrsa revoke client # 本文为 client
# gen-crl 会生成吊销证书的名单保存在 D:\open***\easy-rsa\pki\crl.pem 文件中
./easyrsa gen-crl 

3、最后在 server 端配置文件中加上
crl-verify ../easy-rsa/pki/crl.pem
即可注销该用户


上一篇:Open*** + Frp 搭建本地局域网



版权声明:本文为qq_42599616原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。