内网穿透:公网 IPv4 缺失下的必备之选,多用户frps管理面板搭建

2025-04-21 18:23:31 7点赞 66收藏 13评论

在如今的网络世界中,公网 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配置文件里面的面板账户输入frps- panel配置文件里面的面板账户

编辑用户

第一次打开后会有两个默认用户,可以删除。第一次打开后会有两个默认用户,可以删除。

点击新增可以创建用户,设定用户名与token 可以限制使用的端口数量以及域名

用户名跟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+端口或是域名+端口的形式进行访问。

如果大家有需求可以留言,后面再写一起关于反向代理的文章。

展开 收起
13评论

  • 精彩
  • 最新
  • 我现在A地有ipv4 ipv6电信公网,B地有ipv6移动公网, 我怎么实现 B地 的双栈访问?

    校验提示文案

    提交
    使用openvpn A地作为服务端,B地作为客户端,加上静态路由就可以互相访问了。都有公网IpV4。

    校验提示文案

    提交
    收起所有回复
  • 怎么开启80和443端口啊@bettermsao

    校验提示文案

    提交
    家用宽带的都是封端口的

    校验提示文案

    提交
    我是安装到服务器了,就是80和443 怎么开启啊

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 还是不够“最简易”啊,全程没看懂。当年诺顿的PcEveywhere,应该就是这东西吧?

    校验提示文案

    提交
    github有个frp-panel这个就更简单,直接docker部署,但是好像跟frp兼容性不太好。

    校验提示文案

    提交
    收起所有回复
  • 关键是不好找便宜服务器,现在用的70多一年的不知道到期后还能否有

    校验提示文案

    提交
    续费不容重买新建

    校验提示文案

    提交
    收起所有回复
  • 这个面板项目已经归档了

    校验提示文案

    提交
  • 太费事了,我直接用 zeronews ,简单还稳得一批

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
66
扫一下,分享更方便,购买更轻松