【Frp】内网穿透安装教程

1. Frp介绍

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。
可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。frp 项目官网为https://github.com/fatedier/frp

2. Frp工作原理

2024-03-12T03:17:52-wimrvswl.png

服务端运行,监听一个主端口,等待客户端的连接;

客户端连接到服务端的主端口,同时告诉服务端要监听的端口和转发类型;

服务端fork新的进程监听客户端指定的端口;

外网用户连接到客户端指定的端口,服务端通过和客户端的连接将数据转发到客户端;

客户端进程再将数据转发到本地服务,从而实现内网对外暴露服务的能力。

3. Frp配置

想要配置frp内网穿透,首先必须先要有一台具有外网ip(即:可以外网访问)的服务器(作为服务端)。如果没有,接下来的教程就不用看了。配置教程主要分为两个部分,一是服务器端(外网服务器)的配置;二是客户端(内网服务器)配置。

3.1 服务端配置

3.1.1 下载frp包

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

架构分类:

  • amd64 :一般指X86-64处理器,intel及amd产品基本上均为该架构
  • 386:早起X86架构,目前基本上看不到了
  • arm及arm64:均为使用arm指令集的CPU
  • mips及mips64:均为RISC处理器

系统分类:

  • drawin:为mac使用的包
  • freebsd:为一种类unix系统,freebsd系统专用
  • linux:linux系统均可使用该包
  • windows:windows系统使用的包

选择方法:先确认系统,根据系统再去确认CPU架构,按需下载适合自己的安装包。

3.1.2 解压

tar -xvzf frp_0.54.0_linux_amd64.tar.gz

3.1.3 配置

进入frp目录,编写 frps.toml 文件

[common]
bind_port = 7000

3.1.4 设置和启动frps服务

/etc/systemd/system 目录下创建一个 frps.service 文件,用于配置 frps 服务。

[Unit]
# 服务名称,可自定义
Description = frp server
After=network-online.target
Wants=network-online.target

[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /home/ziggszhao/app/frp/frps -c /home/ziggszhao/app/frp/frps.toml

[Install]
WantedBy = multi-user.target

输入下方命令设置开机启动以及启动服务

# 开机启动frp
sudo systemctl enable frps
# 启动frp
sudo systemctl start frps
# 停止frp
sudo systemctl stop frps
# 重启frp
sudo systemctl restart frps
# 查看frp状态
sudo systemctl status frps

3.2 客户端配置

3.2.1 下载和解压

步骤同服务端

3.2.2 配置

进入frp目录,编写 frpc.toml 文件

下面以ssh服务的22端口为例:

[common]
server_addr = $服务端公网地址      #此处为服务端的公网IP  
server_port = 7000 #此处和服务端统一

[ssh1]                     #此处名称可自定义
type = tcp                 #此处为协议,还有tcp、udp、http、https、stcp
local_ip = 127.0.0.1
local_port = 22            #此处为本端开放的端口
remote_port = 6001         #此处为公网地址转换的端口,此端口可任意调换

更多实例可参考官方教程:https://gofrp.org/zh-cn/docs/examples/

3.2.3 设置和启动frpc服务

/etc/systemd/system 目录下创建一个 frpc.service 文件,用于配置 frpc 服务。

[Unit]
# 服务名称,可自定义
Description = frp client
After=network-online.target
Wants=network-online.target

[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /home/ziggszhao/app/frp/frpc -c /home/ziggszhao/app/frp/frpc.toml

[Install]
WantedBy = multi-user.target

输入下方命令设置开机启动以及启动服务

# 开机启动frp
sudo systemctl enable frpc
# 启动frp
sudo systemctl start frpc
# 停止frp
sudo systemctl stop frpc
# 重启frp
sudo systemctl restart frpc
# 查看frp状态
sudo systemctl status frpc

到这里,恭喜你,你已经成功了。赶紧去试试吧~

消息盒子

# 暂无消息 #

只显示最新10条未读和已读信息