当前位置:   article > 正文

【FRP】利用FRP实现与外部局域网通信_局域网对战frp联机

局域网对战frp联机

1 概述

1.1 什么是FRP
  • FRP是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。
  • 可以将内网服务以安全、便捷的方式通过具有公网IP节点的中转暴露到公网。
1.2 什么是OpenVPN

OpenVPN是一个用于创建虚拟私人网络加密通道的软件包,最早由James Yonan编写。OpenVPN允许创建的VPN使用公开密钥、电子证书、或者用户名/密码来进行身份验证。它大量使用了OpenSSL加密库中的SSL/TLS协议函数库。

1.3 应用场景

居家办公无疑是未来办公的一种趋势,疫情原因,很多居家办公的朋友们可能会通过向日葵、TV等工具进行远程服务连接,但总有那么些不尽人意,稳定性也差,当然不可否认的,可视化是其亮点,那么如何无缝的通过家里局域网直接访问公司内网呢,上述的OpenVPN上绝对的利器之一,相较于PPTP、L2TP的性能可自行查阅。为什么由需要FRP呢,因为OpenVPN上C/S模式,即所有客户端必须能连接一个具有公网的Server(可通过路由器配置支持),但一般公司的出口公网地址是不稳定的,为达到目的,需要对内网进行穿透,这里我们选择FRP(N2N也是不错的)。

2 环境

拓扑图

在这里插入图片描述

软件

操作系统:Ubuntu18.04 Server

OpenVPN Server:脚本安装

OpenVPN Client:Viscosity(MacOS),其他操作系统可自行下载相应客户端

FRP:frp_0.41.0_linux_amd64

3 配置FRP

3.1 FRP服务端配置

在FRP Server服务器上下载解压后免编译配置

frps.ini:

[common]
bind_port = 9070 						# 服务端口
dashboard_port = 7500 			# 面板ID
dashboard_user = admin			# 用户名
dashboard_pwd = '123@abcd'	# 密码
  • 1
  • 2
  • 3
  • 4
  • 5

配置完成后运行服务

$ nohup ./frps -c frps.ini > frps.log 
  • 1
3.2 FRP客户端配置

在控制服务器(FRP Client)上配置:

frpc.ini:

[common]
server_addr = 106.12.xx.xxx	# FRP Server公网地址
server_port = 9070					# FRP Server配置的bind_port

[tanwei-test] 							# 客户端唯一标识
type = tcp
local_ip = 127.0.0.1
local_port = 1194
remote_port = 10086					# 穿透端口,想访问内网服务,需要通过此端口转发,OpenVPN Client配置时需要使用
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

配置完成后运行服务

$ nohup ./frpc -c frpc.ini > frpc.log
  • 1

配置完成后,可打开http://106.12.xx.xxx:7500查看穿透是否成功

在这里插入图片描述

4 配置OpenVPN

4.1 OpenVPN服务端配置

在控制服务器(OpenVPN Server)上下载安装文件(上文有地址获取):

$ bash openvpn-install.sh
$ bash openvpn-install.sh 
Welcome to OpenVPN-install!
The git repository is available at: https://github.com/angristan/openvpn-install

It looks like OpenVPN is already installed.

What do you want to do?
   1) Add a new user
   2) Revoke existing user
   3) Remove OpenVPN
   4) Exit
Select an option [1-4]: 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

安装过程中,新增一个用户时,协议填写TCP,服务地址为FRP Server公网IP,端口为穿透端口,即上述的10086

4.2 OpenVPN客户端配置

在上文配置服务端时,同时会生成一个客户端文件,客户端端文件基本信息如下:

client
proto tcp-client
remote 106.12.xx.xxx 10086
dev tun
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
verify-x509-name server_XWxleL7XZuo6GCJu name
auth SHA256
auth-nocache
cipher AES-128-GCM
tls-client
tls-version-min 1.2
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256
ignore-unknown-option block-outside-dns
setenv opt block-outside-dns # Prevent Windows 10 DNS leak
verb 3
<ca>
-----BEGIN CERTIFICATE-----
....
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
4.3 客户端使用(MacOS下)

一切准备就绪后,打开Viscosity,导入客户端文件,如图所示:

在这里插入图片描述

右击文件项连接后,等待连接,连接过程中可查看是否有错误日志,连接成功后如下图:

在这里插入图片描述

至此,所有环境搭建已完成,可测试从OpenVPN客户端所在宿主机去访问所要访问的内网资源。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/147960
推荐阅读
相关标签
  

闽ICP备14008679号