一键穿越,私享互联,自建FRP内网穿透!

简介: 内网穿透对于多我们程序员来讲,应该是不陌生的。在对接某些第三方平台的时候,比如说:微信支付,经常会涉及到回调,在开发的时候就需要使用内网穿透来进行本地调试。那么今天给大家分享一下用 frp 搭建属于自己的内网穿透,方便在我们日常的开发中进行调试。同时是 frp 是开源并且是免费的,只需要一台云服务器即可搭建。

前言

  内网穿透对于多我们程序员来讲,应该是不陌生的。在对接某些第三方平台的时候,比如说:微信支付,经常会涉及到回调,在开发的时候就需要使用内网穿透来进行本地调试。那么今天给大家分享一下用 frp 搭建属于自己的内网穿透,方便在我们日常的开发中进行调试。同时是 frp 是开源并且是免费的,只需要一台云服务器即可搭建。

什么是 frp?

  Frp 是一种快速反向代理,可帮助您将 NAT 或防火墙后面的本地服务器公开到 Internet。 到目前为止,它支持 TCP 和 UDP 以及 HTTP 和 HTTPS 协议,在这些协议中,请求可以通过域名转发到内部服务。

  frp 还具有 P2P 连接模式。

服务端安装 frp

  Frp Github 地址

下载 frp

 以我自己的服务器 Centos 为例下载frp_linux_amd64

wget https://github.com/fatedier/frp/releases/download/v0.31.1/frp_0.31.1_linux_amd64.tar.gz

解压

tar -zxvf frp_0.31.1_linux_amd64.tar.gz

解压后得到的文件

[root@VM_10_197_centos frp_0.31.1_linux_amd64]
-rwxrwxr-x 1 1000 1000 10608640 1月   6 16:02 frpc
-rw-rw-r-- 1 1000 1000     7447 1月   6 16:04 frpc_full.ini
-rw-rw-r-- 1 1000 1000      126 1月   6 16:04 frpc.ini
-rwxrwxr-x 1 1000 1000 11333632 1月   6 16:02 frps
-rw-rw-r-- 1 1000 1000     2514 1月   6 16:04 frps_full.ini
-rw-rw-r-- 1 1000 1000       26 1月   6 16:04 frps.ini
-rw-rw-r-- 1 1000 1000    11358 1月   6 16:04 LICENSE
drwxrwxr-x 2 1000 1000     4096 1月   6 16:04 systemd

删除无用文件

rm -f frpc
rm -f frpc.ini
rm -f frpc_full.ini

rm -f systemd/frpc.service
rm -f systemd/frpc@.service

服务端配置

 修改 frps.ini 文件,设置 http 访问端口为 8080

# frps.ini
[common]
bind_port = 7000 #服务启动占用端口
vhost_http_port = 8080 #进行转发端口

启动服务端

./frps -c ./frps.ini

注册系统服务

vim systemd/frps.service

修改服务文件

[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
# 这里需要根据frps的安装路径,进行更改
ExecStart=/home/frp/frps -c /home/frp/frps.ini

[Install]
WantedBy=multi-user.target

复制文件到系统

cp systemd/frps.service /etc/systemd/system/

注意:云服务器安全组以及防火墙需要开启对应的端口

操作命令

# 启动测试
systemctl start frps.service

# 查看启动状态
systemctl status frps.service

# 停止
systemctl stop frps.service

# 开机自启
systemctl enable frps.service

客户端安装 frp(mac)

 下载客户端并解压frp_darwin_amd64过程可以参考服务端安装过程。

curl -O --insecure https://github.com/fatedier/frp/releases/download/v0.31.1/frp_0.31.1_darwin_amd64.tar.gz

删除无用的文件

rm -f frps
rm -f frps.ini
rm -f frps_full.ini

rm -f systemd/frps.service
rm -f systemd/frps@.service

修改配置文件

vim frpc.ini
[common]
server_addr = xxx.xxx.xxx.xxx(服务器公网ip)
server_port = 7000

[web]
type = http
# 本地web服务端口
local_port = 9090
custom_domains = www.xxxxxx.com(自定义域名)

注意:自定义域名需要解析到对应的服务器 ip 否则无法正常使用

客户端启动

./frpc -c ./frpc.ini

启动成功信息

2020/02/02 12:26:14 [I] [proxy_manager.go:144] [fd88aa5c4087afc9] proxy added: [web]
2020/02/02 12:26:14 [I] [control.go:164] [fd88aa5c4087afc9] [web] start proxy success

访问本地服务

  看到启动成功信息,这里就已经完成本地 web 服务进行内网穿透了。
我们可以在任意位置访问我们的本地 web 服务,通过访问http://www.xxxxxx.com:8080就可以达到访问http://localhost:9090的目的了。

增加安全配置

  为了安全起见我们可以在进行连接时设置 token,当客户端和服务端 token 一致时才可以成功建立连接,添加方式只需要在服务端和客户端[common]下添加 token 配置即可:

# 认证token
token = 12345678

开启 DashBorad

 开启 dashboard 只需要在服务端[common]添加以下配置即可,同时不要忘记对安全组开放端口。

dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin

 访问地址:http://serverIp:7500

结尾

  如果觉得对你有帮助,可以多多评论,多多点赞哦,也可以到我的主页看看,说不定有你喜欢的文章,也可以随手点个关注哦,谢谢。

  我是不一样的科技宅,每天进步一点点,体验不一样的生活。我们下期见!

相关文章
|
2月前
|
运维 监控 数据可视化
贝锐蒲公英视频监控方案用户答疑:4G/5G入网,没有公网IP也能用
贝锐蒲公英提供创新的视频监控解决方案,适用于多种监控场景,无需依赖专网或公网IP,支持4G/5G网络,实现快速部署与高质量传输。其云端配置平台简化操作流程,具备二层组网与弱网优化功能,确保视频传输流畅。蒲公英还支持多品牌设备集中管理,提供专业级技术支持,适用于有无公网IP环境,确保远程监控高效稳定。
69 4
|
3月前
|
网络协议 网络安全 网络架构
移动宽带不借助软件和公网服务器实现基于IPV6的内网穿透
本教程指导如何设置路由器以支持IPv6访问:首先确保上网方式为自动获取IP,接着在路由器设置中开启IPv6功能,并关闭可能阻碍连接的防火墙。最后,在光猫管理界面同样关闭防火墙以确保无障碍的IPv6访问路径。操作时请注意网络安全。
移动宽带不借助软件和公网服务器实现基于IPV6的内网穿透
|
4月前
|
网络性能优化 定位技术 C++
跨地区远程访问如何更快、更稳、更可靠:贝锐蒲公英智能选路
贝锐蒲公英云智慧组网采用自研智能选路技术,可根据实时网络状况自动选择最优路径,大幅降低延迟并提升传输速率。相较于传统单线模式下数据必须经由单一服务器转发导致高延迟与无备份线路的问题,蒲公英通过全球分布式节点与SD-WAN技术实现了智能实时导航能力。实测显示,智能选路可使通讯延迟降低5倍、传输速率提升百倍。该技术基于多云服务商的主干网络与FullMesh架构,能自动避开拥堵路径并确保网络可用性,即使面对线路故障也能自动切换,提供更快速、稳定和可靠的跨地区远程访问体验。
108 3
跨地区远程访问如何更快、更稳、更可靠:贝锐蒲公英智能选路
|
网络协议 Linux 网络安全
如何用阿里云实现内网穿透?如何在外网访问家里内网设备?
使用NPS自建内网穿透服务器教程,带WEB管理
25018 10
|
4月前
|
弹性计算 网络协议 Linux
阿里云主机构建FRP内网穿透家用服务器避坑指南
详述了利用FRP工具搭建内网穿透的流程,包括阿里云ECS的配置、家用服务器的准备、FRP工具的下载与配置,以及通过SSH远程访问本地服务器的解决策略,确保了内外网间的稳定连接。
1031 1
阿里云主机构建FRP内网穿透家用服务器避坑指南
|
关系型数据库 MySQL 应用服务中间件
开源QianWei搭建音乐网站,并实现公网连接
开源QianWei搭建音乐网站,并实现公网连接
443 0
|
网络协议 安全 应用服务中间件
【内网安全-隧道搭建】内网穿透_Ngrok上线(美版、国版二开)
【内网安全-隧道搭建】内网穿透_Ngrok上线(美版、国版二开)
557 0
【内网安全-隧道搭建】内网穿透_Ngrok上线(美版、国版二开)
|
网络协议 网络安全 文件存储
【服务器】威联通NAS文件共享 - 搭建SFTP服务并内网穿透实现在外远程访问
【服务器】威联通NAS文件共享 - 搭建SFTP服务并内网穿透实现在外远程访问
572 0
|
Linux 数据安全/隐私保护 C语言
内网穿透实践(使用神卓互联实现内网穿透)
内网穿透实践(使用神卓互联实现内网穿透)
481 0
|
网络协议 安全 Linux
【内网安全-隧道搭建】内网穿透_Nps配置、上线
【内网安全-隧道搭建】内网穿透_Nps配置、上线
1656 0
【内网安全-隧道搭建】内网穿透_Nps配置、上线