【实用工具】frp实现内网穿透

frp实现内网穿透

目录

frp实现内网穿透

首先,什么是内网穿透?

内网,顾名思义局部网络、不对外开放的网络,比如你的个人PC电脑、局域网内某台电脑或服务器,由于没有固定IP地址,互联网没法访问到这台电脑上的服务(比如你的springboot服务接口、python服务接口、php服务接口等、或者其他的比如UDP、SH等)。这时候我们就需要内网穿透,代理到互联网进行访问。

使用场景:开发过程中远程对外调试、微信支付宝等第三方平台开发调试、外网远程访问内网shell主机等。

常用内网穿透工具有花生壳、NATAPP等等,但是这些使用免费版本都有一些限制,并且这些限制就是故意的,这些限制的原因就是要你付费。

首先我使用过NATAPP,这个有免费的通道,但是免费的存在一个问题,域名地址会随机变换,并且是不定时变换,而且频率很快,当你在调试一个接口的时候几秒、或者几分钟就变动了一次,防不胜防,直接弃用。

再说花生壳,这个软件算是商用内网穿透做的最好的,但是收费,并且我被他的收费模式恶心到了!3年前我首次使用花生壳,那时候估计是为了打开市场,免费使用,没有限制。过了半年后,需要绑定域名使用,使用域名需要实名认证,实名认证收费5元。再到上个月(此文章编写于2022.08.30),公告说http服务不安全,需要使用https服务,https服务80多元一年。就是每次变着法的收费,还要找个理由收费,典型的做了xx还立牌坊!

由于以上原因,急需挖掘一款免费、好用的内网穿透服务器,于是乎被我找到了frp这款内网穿透工具,这东西是开源软件,源代码程序包都给你了,也没法后期收费,完全放心使用。

1、下载获取

官网地址:https://gofrp.org/

Tips:本文只演示http内网穿透,其他的比如udp、shell、socket等协议需要穿透请看官网文档,官网文档十分简单明了,结合本文http示例,不用担心看不懂。

安装包下载地址:https://github.com/fatedier/frp/releases

我是centos7系统,下载页面选择的_linux_amd64.tar.gz后缀压缩包。根据你的需求来选择

frp下载页面

2、frp简介

摘自frp官网的介绍

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

通俗易懂的讲就是:使用frp可以通过一个固定的外网IP或域名访问到你的内网服务。

3、配置文件说明

如图:

frp文件目录结构

frps前缀的文件是服务端使用的,也就是有固定IP的互联网主机。.ini后缀文件是配置文件。

frpc前缀的文件是客户端使用的,也就是你内网需要被穿透访问到的主机。.ini后缀文件是配置文件。

基本上只需要关注.ini配置文件即可。

4、frp服务端配置

只需简单配置frps.ini文件,即可启动frp服务端

[common]
bind_port = 7000
vhost_http_port = 7001

Tips:bind_port配置表示服务端与客户端绑定端口,客户端直接连接此端口;vhost_http_port配置表示对外(互联网)访问端口,即内网穿透出去后提供访问的端口。

然后执行命令启动服务端

chmod 777 ./frps
./frps -c ./frps.ini

如果想后台运行程序可以执行

nohup ./frps -c ./frps.ini &

5、frp客户端配置

同样的,客户端配置frpc.ini文件即可。

[common]
server_addr = 114.114.114.114
server_port = 7000
[web]
type = http
local_ip = 192.168.0.200
local_port = 4001
custom_domains = www.xxxxxxx.cn

参数说明:

  • server_addr:服务端IP地址
  • server_port:服务端绑定端口,对应服务端bind_port配置
  • type:类型,这里是http,还有udp、socket等
  • local_ip:本地内网ip
  • local_port:本地内网服务端口
  • custom_domains:访问域名,只有访问此域名的http请求才能访问到内网服务上(这里除了域名应该也能配置IP地址,我没试过,可以试试)

执行命令启动客户端

chmod 777 ./frpc
./frpc -c ./frpc.ini

启动好服务端、客户端后,即可通过http://www.xxxxxxx.cn:7001访问到内网192.168.0.200的4001端口服务了。

6、设置frp开机启动

安装systemd服务(如已安装,请忽略)

yum install systemd

编辑frps.service文件(同理编辑frpc.service文件)

vi /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.ini

[Install]
WantedBy = multi-user.target

启动服务

# 启动frp
systemctl start frps
# 开机启动
systemctl enable frps

th/to/frps.ini

[Install]
WantedBy = multi-user.target


启动服务

```bash
# 启动frp
systemctl start frps
# 开机启动
systemctl enable frps
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值