内网穿透:公网 IPv4 缺失下的必备之选,多用户frps管理面板搭建
在如今的网络世界中,公网 IPv4 资源日益稀缺,这给我们的网络使用带来了诸多挑战。而在没有公网 IPv4 的情况下,内网穿透功能就宛如黑暗中的一束光,照亮了我们前行的道路。
想象一下,您精心打造的智能家居系统,却因为没有公网 IPv4 而无法在外远程控制,是不是感觉十分无奈?又或者您在办公室忙碌了一天,回到家却无法访问公司电脑里的重要文件,那种焦急是不是难以忍受?这时候,内网穿透功能就派上了用场。
比如说,当您想要通过手机随时随地查看家里监控摄像头的画面,却因没有公网 IPv4 而无法实现时,内网穿透能够打破这一僵局,让您轻松掌控家中的情况。再比如,您是一位自由职业者,经常需要在不同的地点工作,没有公网 IPv4 导致无法访问自己常用的工作软件和数据,这会极大地影响工作效率。而内网穿透功能则能为您搭建起一座跨越网络限制的桥梁,让您随时随地都能获取所需的资源。
总之,在公网 IPv4 缺失的情况下,内网穿透功能成为了我们解决网络访问难题的有力武器,为我们的生活和工作带来了极大的便利。
前期间准备,购买一台拥有独立ipv4的服务器。域名可有可无。
1、下载已构建完成的运行文件
frp
https://github.com/fatedier/frp
frps-panel
https://github.com/yhl452493373/frps-panel
选择对应的架构以及系统。
ps:我是下载到本地编辑后再上传到服务器的,如果是直接下载到服务器的可以使用nano编辑器直接编辑也行
2、编辑文件
frp文件编辑
frps.toml文件填写常规配置以及frps-panel插件的注册
[common]
# 常规配置
# TCP 端口
bindPort = 7000
# frp 仪表板信息,最好不要动。
# 仪表板
dashboard_addr = "127.0.0.1"
dashboard_port = 7500
dashboard_user = "admin"
dashboard_pwd = "admin"
#加载frps-panel插件
[[httpPlugins]]
name = "frps-panel"
addr = "127.0.0.1:7200"
path = "/handler"
ops = ["Login", "NewWorkConn", "NewUserConn", "NewProxy", "Ping"]
frps-panel配置,frps-panel.toml文件内容
[common]
# 常规配置
# 插件监听地址,改为127.0.0.1后外网无法访问面板。
plugin_addr = "0.0.0.0"
plugin_port = 7200
# 插件面板账户可以修改
admin_user = "admin"
admin_pwd = "admin"
admin_keep_time = 0
# 启用 https
tls_mode = false
# TLS 证书文件路径
# tls_cert_file = "cert.crt"
# TLS 密钥文件路径
# tls_key_file = "cert.key"
# frp 仪表板信息,对应frps.toml里面的一模一样,不然连接不上。
dashboard_addr = "127.0.0.1"
dashboard_port = 7500
dashboard_user = "admin"
dashboard_pwd = "admin"
3、配置好的文件上传到服务器
进入上传好的文件目录
例如
cd /root/frp
对文件进行权限授权
#frps文件授权
chmod +x frps
#frps.toml文件授权
chmod +x frps.toml
启动文件
./frps -c ./frps.toml
#必须进入frp文件夹,且frp文件夹必须有frps和frps.toml文件
#如果后台运行,请执行:./frps -c ./frps.toml &
4、开多一个ssh窗口
进入frps-panel文件夹
例如
cd /root/frp-panel
对文件进行运行授权
#frps文件授权
chmod +x frps-panel
#frps.toml文件授权
chmod +x frps-panel.toml
启动文件
./frps-panel -c ./frps-panel.toml
#必须进入frp文件夹,且frp文件夹必须有frps和frps.toml文件
#如果后台运行,请执行:./frps-panel -c ./frps-panle.toml &
5、测试frps运行
登陆面板你的服务器ip+7200端口
输入frps- panel配置文件里面的面板账户编辑用户
第一次打开后会有两个默认用户,可以删除。点击新增可以创建用户,设定用户名与token 可以限制使用的端口数量以及域名
用户名跟token是必要的。其他看个人需求,如果是共享,可限制端口使用范围6、客户端配置
serverAddr = "服务器ip或是域名"
serverPort = 7000
#不能删除, 否则连接不上会闪退
loginFailExit=false
user = "你的用户名"
metadatas.token = "用户token"
[[proxies]]
name = "tcpss" #连接的名称
type = "tcp" #连接的协议
localIP = "127.0.0.1" #本地ip
localPort = 你的客户想要穿透的端口
remotePort = 服务端的端口
配置完成后,直接访问你的服务器ip地址+你配置的服务器端口,确认可以正常访问后,再通过control+c 退出服务
7、程序进行服务的形式运行
创建 frps.service 文件
使用文本编辑器 (如 nano) 在 /etc/systemd/system 目录下创建一个 frps.service 文件,用于配置 frps 服务。
$ sudo nano /etc/systemd/system/frps.service
写入内容
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /path/to/frps -c /path/to/frps.toml
[Install]
WantedBy = multi-user.target
创建frps-panel.service文件
$ sudo nano /etc/systemd/system/frps-panel.service`
写入内容
[Unit]
Description = frp multiuser service
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps-panel的配置文件路径,需修改为您的frps-panel.toml的路径
Environment=FRPS_PANEL_OPTS="-c /root/frps-panel/frps-panel.toml"
# 启动frps-panel的命令,需修改为您的frps-panel的安装路径
ExecStart = /root/frps-panel/frps-panel $FRPS_PANEL_OPTS
[Install]
WantedBy = multi-user.target
使用 systemd 命令管理 frps与frps-panel 服务
# 启动frp
sudo systemctl start frps
# 停止frp
sudo systemctl stop frps
# 重启frp
sudo systemctl restart frps
# 查看frp状态
sudo systemctl status frps
# 启动frps-panel
sudo systemctl start frps-panel
# 停止frps-panel
sudo systemctl stop frps-panel
# 重启frps-panel
sudo systemctl restart frps-panel
# 查看frps-panel状态
sudo systemctl status frps-panel
设置 frps 开机自启动
sudo systemctl enable frps
sudo systemctl enable frps-panel
这是最简易的一个内网穿透服务搭建,后续可以通过反向代理对穿透的端口进行域名直接访问,不需要通过ip+端口或是域名+端口的形式进行访问。
如果大家有需求可以留言,后面再写一起关于反向代理的文章。

时光一过不再有
校验提示文案
值友2261005714
校验提示文案
洋葱头2021
校验提示文案
Fly爱DD
校验提示文案
糖果CCC
校验提示文案
你可以叫我可乐
校验提示文案
值友2261005714
校验提示文案
时光一过不再有
校验提示文案
你可以叫我可乐
校验提示文案
糖果CCC
校验提示文案
Fly爱DD
校验提示文案
洋葱头2021
校验提示文案