FRP内网穿透搭建
FRP介绍:FRP是位于GitHub上进行内网穿透的项目,由国外网友进行制作,可用于针对目前IPV4公网地址较少的情况进行内网穿透,在外时连接家里的网络设备,如NAS
、软路由
、ESXI
等,同类型的软件还有ZeroTier等,可根据实际的情况进行选择。
FRP跟ZeroTier的优势劣势
FRP优势:FRP
是基于一台已经有公网IP的服务器或其他设备进行转发,从而完成内网穿透功能的实现,配置简单,无需太多调整
FRP劣势:
内网网络或暴露在公网IP上,存在一定安全风险!
Zerptier优势:ZeroTier
同样是国外软件公司开发,不同的是他可以使用P2P方式直连,在官网注册各账号创建网络即可使用,同时有网络设置接入管理,相对FRP
来说安全性更高。
Zerptier劣势:
由于国内的网络环境问题,P2P方式并不一定能访问上,所以就需要使用的中转服务器moom
,moon
基本都在国外所有国内要用还是自行搭建,跟FRP
方式差不多也是需要一台公网IP服务器,所以不担心安全问题的小伙伴直接使用FRP
即可
一、下载FRPserver
的服务器跟客户端
该项目位于GitHub
上,Releases · fatedier/frp · GitHub
根据服务器操作系统下载对应的版本
二、服务端安装
# 1.将下载好的安装报上传到服务器上,上传前新建一个frp文件夹
mkdir /frp
# 2.解压tar包 我的版本为 frp_0.48.0_linux_amd64.tar.gz
tar -zxvf frp_0.48.0_linux_amd64.tar.gz
ls #查看解压的文件
frp_0.48.0_linux_amd64 frp_0.48.0_linux_amd64.tar.gz
# 修改配置文件
cd frp_0.48.0_linux_amd64
#删除客户端的文件
rm -rf frpc*
#配置服务器端配置文件
vim frps.ini
#添加以下配置
[common]
# 监听端口
bind_port = 7000
# 服务端认证的token 可自定义
token = asd123456
# 服务端管理界面的端口
dashboard_port = 7500
# 服务端管理界面的用户名
dashboard_user = admin
# 服务端管理界面的密码
dashboard_pwd = admin123.com
# 日志存储
log_file = /frp/frp_0.48.0_linux_amd64/frps.log
# 日志级别
log_level = info
# 日志记录时间
log_max_days = 3
三、配置FRP自启动
vim /lib/systemd/system/frps.service
#添加以下配置
[Unit]
Description=frps
After=network.target
[Service]
# 中间ExecStart 后面的 /frp/frp_0.48.0_linux_amd64/frps -c /frp/frp_0.48.0_linux_amd64/frps.ini 中的路径需要设置成你存放frps文件的路径
ExecStart=/frp/frp_0.48.0_linux_amd64/frps -c /frp/frp_0.48.0_linux_amd64/frps.ini
[Install]
WantedBy=multi-user.target
# 启动FRP服务
systemctl start frps.service
# 查看服务状态
systemctl status frps.service
# 添加自启动
systemctl enable frps.service
四、客户端配置
将下载好的Windows客户端解压到任意路径(可自行创建一个文件夹存放)
# 同样删除服务端所有文件 frps 开头的都是服务端文件
修改客户端配置文件 frpc.ini
# 按以下方式添加
[common]
# server_addr为FRPS服务器IP地址
server_addr = 124.223.55.x
# server_port为服务端监听端口,bind_port
server_port = 7000
# 身份验证 配置服务器端时的token值
token = abc123456
[ssh] #应用名称 举例,例如你使用的ssh连接则命名为ssh或其他自定义,但是不能重复
#连接协议 根据应用自行设置,多数应用都为tcp协议
type = tcp
#客户端ip
local_ip = 127.0.0.1
# 客户端端口
local_port = 22
# 映射公网服务器ip端口 需要在公网服务器的防火墙开启该端口才能访问
remote_port = 2288
[MySQL] #应用名称 举例,例如你使用的ssh连接则命名为ssh或其他自定义,但是不能重复
#连接协议 根据应用自行设置,多数应用都为tcp协议
type = tcp
#客户端ip
local_ip = 127.0.0.1
# 客户端端口
local_port = 3306
# 映射公网服务器ip端口 需要在公网服务器的防火墙开启该端口才能访问
remote_port = 6000
#应用可重复设置
评论