目录

FRP介绍

环境准备

Windows通过frp实现Rdp连接内网远程桌面

服务端

客户端

尝试连接:

Linux通过frp实现ssh远程登录内网主机

服务端

客户端

尝试连接:

windows/Linux通过frp实现访问内网web服务


最近突然想起在工作中会遇到FRP代理,虽然wo知道FRP是用来实现内网穿透的,但是自己还没具体使用,因此这里参考几篇好文章,学习一下FRP实现内网穿透。

FRP介绍

frp是一个快速的反向代理,它允许您将位于NAT或防火墙后面的本地服务器暴露到互联网。它目前支持TCP和UDP,以及HTTP和HTTPS协议,使请求能够通过域名转发到内部服务。

环境准备

一台云服务器

一台内网主机

一个公网域名(但是我没有)

 FRP官网下载:

GitHub - fatedier/frp: A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.

我原本是在github官网下载的,但是官网的版本不适用我的VPS系统,因此我就找了一个旧版本的

v0.37.1 - fatedier/frp - MyGit

Windows通过frp实现Rdp连接内网远程桌面

服务端

首先我们在VPS上下载frp,下载完成后可以看到下列文件:

frpc:客户端使用的;frpc.ini:客户端的配置文件

frps:服务端使用的;frps.ini:服务端的配置文件

然后这里编辑服务端的配置文件frps.ini:

[common]
bind_port = 7000         # 服务端与客户端通信端口
dashboard_port = 7500    # 后台管理端口
dashboard_user = admin   # 后台登录用户名
dashboard_pwd = admin    # 后台登录密码

vhost_http_port = 7002   # http穿透端口
vhost_https_port = 7003  # https穿透端口
max_pool_count = 50

token = abc			# 身份验证令牌,frpc要与frps一致

配置完成后我们需要对frps授权:

然后可以运行一下,在浏览器访问VPS地址:7500就可以看到后台登录面板,输入账号密码可以看到后台管理面板

客户端

下面配置客户端,还是一样先下载一个frp,windows版本的

下载完成后会有一下几个文件,内容和服务端是一样的,不过这里要使用的是frpc,而不是frps

打开frpc.ini编辑以下内容到里面:

[common]
server_addr = vps地址
server_port = 7000   #服务器的端口

token =abc 	#token值,与服务端一致
tcp_mux = true

[rdp]
type = tcp
local_ip = 0.0.0.0
local_port = 3389   #本地端口
remote_port = 7089  #远程连接的端口

这里还可以写一个bat文件来运行:

内容:

@echo off
:home
frpc.exe -c frpc.ini
goto home

 然后我们运行服务端和客户端bat脚本:

尝试连接:

 

可以看到,成功的通过DRP访问到了我的VPS 45.196.222.235的7089端口,也就是我本地的3389的远程桌面,成功的实现了内网穿透,访问到了内网主机的RDP服务

Linux通过frp实现ssh远程登录内网主机

我们在VPS上下载frp,下载完成后可以看到下列文件:

subdomain_host = test.xyz   # 注册的域名

frpc:客户端使用的;frpc.ini:客户端的配置文件

frps:服务端使用的;frps.ini:服务端的配置文件

服务端

配置如下:

[common]
bind_port = 7000         # 服务端与客户端通信端口
dashboard_port = 7500    # 后台管理端口
dashboard_user = admin   # 后台登录用户名
dashboard_pwd = admin    # 后台登录密码

vhost_http_port = 7002   # http穿透端口
vhost_https_port = 7003  # https穿透端口
max_pool_count = 50

token = abc			# 身份验证令牌,frpc要与frps一致

客户端

配置如下:

[common]
server_addr = 45.196.222.235  #VPS地址
server_port = 7000   		

token = abc		
tcp_mux = true
		
[ssh]							
type = tcp
local_ip = 192.168.159.200  #内网主机地址
local_port = 22 #本地端口
remote_port = 7001	#远程端口

服务端和客户端均运行:

尝试连接:

可以看到,成功的通过访问45.196.222.235:7001,ssh远程连接到了内网主机192,168.159.200,成功实现了内网穿透。

windows/Linux通过frp实现访问内网web服务

frp是可以实现内网穿透访问内网的web服务的,但是需要有公网的域名,我这里没有,没办法演示,这里引用其他文章中的的配置文件,如果有公网域名可以试一下,等我后面注册了域名再复现吧。

服务端:

subdomain_host = test.xyz   # 注册的域名

客户端:

[web01]							# 添加web节点
type = http
local_ip = 192.168.xxx.xxx
local_port = 8080				# 本地8080端口可以通公网服务器7002端口访问,这里我的8080跑着tomcat
subdomain = web01				# 自定义子域名

结束,纳斯,又学到一个知识点。(^▽^)

参考文章:

内网穿透frp安装使用详细教程-软路由,x86系统,openwrt(x86),Router OS 等-恩山无线论坛 (right.com.cn)

FRP搭建内网穿透(亲测有效)_locyanfrp-CSDN博客

windows 使用frp进行内网穿透【版本0.61.0】 - Carver-大脸猫 - 博客园

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐