在要求输入邮箱的文本域,请填写真实的邮件地址。非真实邮件地址,将收不到回复信息。

使用frp搭建内网穿透

IT相关 清风 75℃ 0评论
背景 由于某些原因需要临时处理一些问题,所以可能需要远程处理。最初使用的是TeamViewer远程控制软件,但是使用频繁会被限制。最后寻找了一个新的解决方案,就是使用内网穿透,而内网穿透的工具选择了FRP。本次内容最终目的是利用FRP可以使用微软系统自带的远程工具进行远程操作。

内网穿透

内网穿透,即NAT穿透,网络连接时术语,计算机是局域网内时,外网与内网的计算机节点需要连接通信,有时就会出现不支持内网穿透。就是说映射端口,能让外网的电脑找到处于内网的电脑,提高下载速度。不管是内网穿透还是其他类型的网络穿透,都是网络穿透的统一方法来研究和解决。

内网穿透应用场景

  • 提供内网穿透服务
  • 连接内网服务器,在外网演示内网web站点
  • 无需服务器部署,快速调试本地程序,方便快速开发微信公众号和微信小程序
  • 支持http、https协议站点,省去证书中间件复杂配置,http协议站点直接升级为https站点
  • 支持TCP,UDP协议端口转发。支持数据库、SSH、远程桌面、网络摄像头等等开放到外网

frp

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。

frp项目地址

frp开源项目

资源准备

  • 公网服务器一台
  • 个人电脑一台

Frp服务端安装

公网服务器使用的是Linux Centos 7.7,需要下载Frp的Linux版本。

下载地址:https://github.com/fatedier/frp/releases

FRP下载的版本,请根据系统架构类型来选择。

准备将frp放到Linux系统根目录下,所以我先创建一个名为frps的文件夹并下载文件。

cd / && mkdir frps && cd frps && wget  https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz

下载完成后,对文件进行解压操作。

tar -xzvf frp_0.33.0_linux_amd64.tar.gz

进入解压后的文件夹

cd frp_0.33.0_linux_amd64

因为使用Linux作为服务端,在这里我们使用的是frps这个文件,所以需要修改frps的配置文件frps.ini.

[common]
# 地址
bind_addr = ip
# frps 服务端端口
bind_port = 端口
# 仪表面板地址
dashboard_addr = ip
# 仪表面板端口
dashboard_port = 端口
# 仪表面板登录用户名
dashboard_user = 用户
# 仪表面板登录用户密码
dashboard_pwd = 密码
# 授权验证方式
authentication_method = token
#  授权验证密钥
token = 密钥
# 最大线程数量
max_pool_count = 5

示例如下:

[common]
bind_addr = 0.0.0.0
bind_port = 5443
dashboard_addr = 0.0.0.0
dashboard_port = 7500
dashboard_user = skyfinder
dashboard_pwd = skyfinderdotcc
authentication_method = token
token = 9ab8b258-8cef-4b12-89d7-2e0c38c2b543
max_pool_count = 5

前台运行frps

./frps -c frps.ini
此种方式运行终端断开,frps服务也同时终止。

设置开机启动和后台运行

在服务器端使用 Systemd 管理 frps。在解压后的目录下有一个名为systemd文件夹,此文件夹下frps.service文件就是我们需要编辑的文件。

cd /frps/frp_0.33.0_linux_amd64/systemd
[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/frps/frp_0.33.0_linux_amd64/frps -c /frps/frp_0.33.0_linux_amd64/frps.ini

[Install]
WantedBy=multi-user.target

ExecStart 是要执行文件的路径,调整为我们frps实际的路径。复制到/usr/lib/systemd/system目录。

cp frps.service /usr/lib/systemd/system

启动 frp 并设置开机启动

 
//  frps开机启动
systemctl enable frps
//  启动frps服务
systemctl start frps 
//  frps服务状态  
systemctl status frps 

在某些服务器上可能需要加 .service 后缀,如下


systemctl enable frps.service
systemctl start frps.service
systemctl status frps.service

FRP服务停止与取消开机启动


// 停止frps开机启动
systemctl disable  frps
 
// 停止frps服务
systemctl stop frps  

Windows客户端配置

首先,下载Windows版本的frp,下载完成之后解。

由于我们使用WIndows作为客户端,所以修改frpc.ini配置文件并保存。

[common]
# 服务端IP或域名
server_addr = bj.mlplus.net
# 服务端对应端口
server_port = 5443
# token 要与服务端一致
token =9ab8b258-8cef-4b12-89d7-2e0c38c2b543

# 添加一个远程链接节点 
[mstsc]
# 类型tcp
type = tcp
# 本地IP
local_ip = 127.0.0.1
# 远程链接端口
local_port = 3389
# 此端口和服务端IP或者域名来访问本地电脑
remote_port = 7000
# 是否使用加密
use_encryption = true

在当前目录下打开命令行cmd,输入frpc.exe来运行客户端。

使用远程桌面连接测试是否可用。

转载请注明:清风博客 » 使用frp搭建内网穿透

喜欢 (9)or分享 (0)
支付宝扫码打赏 微信打赏
发表我的评论
取消评论

CAPTCHA Image
Reload Image
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址