frp是什么?

frp是高性能反向代理应用,可以轻松实现内网穿透,frp支持多种协议,包括TCP、UDP、HTTP、HTTPS。

frp是个免费开发的软件,本人非常喜欢,更多关于frp的资料文档汇总如下:

最新版本下载:https://github.com/fatedier/frp/releases
frps服务器端配置文档:https://github.com/fatedier/frp/blob/master/conf/frps_full.ini#L1
frpc客户端配置文档:https://github.com/fatedier/frp/blob/master/conf/frpc_full.ini

frp内网穿透

frp有什么用?

盛龙网络站长,在运维网络项目过程中,有多种服务器部署考虑,这和与运行的网络项目相关,这也正体现了frp的价值。

现了解frp内网穿透原理:frp分为frps服务器端和frpc客户端两个部分(下载的frp里面包含了这两个文件)。frps服务端需要站在明处,所以frps我们把它部署在云服务器上,因为云服务器一班都是独立公网ip,所以实际上只要任意一个有公网ip的设备都可以用来部署frps,因为有公网ip就等于站在明处。
frpc作为客户端一般部署在没有公网ip的设备上,实际运营情况中,云服务器部署frps,nas部署客户端frpc,然后没有公网ip的nas通过frp和站在明处的服务器建立了连接通道,以后其他设备无论你是在明处还是暗处,只要和站在明处的服务器通道通信,服务器就能做一个第三方帮你们牵手连接。用户访问有公网ip的frps服务端,frps服务端再把请求转发给安装了frpc的客户端,最终就实现了任意用户访问没有公网ip的设备。

1、家里或者办公区域没有公网ip服务器或者电脑,通过frp内网映射后可以通过外网进行访问。如建立有一台服务器,安装了非常牛逼的家庭1000m宽带,那就要好好利用现有资源搞点事情了。或者想利用公网控制建立或者办公地的电脑,进行远程控制等。

2、国内服务器+港台等海外服务器的资源互补。海外服务器一般价格便宜,还有一个显著的特点是宽带高,动不动都是几十到几百m,但cpu、内存等配置又不高;而国内服务器宽带是很贵的,配置一个4核cpu和5m宽带费用还是很是在的,在这样的情况下,可以利用海外服务器作为frp服务器端(不吃服务器资源、但占宽带),利用国内服务器作为客户端运行程序,实现资源互补。这样可以做一些不备案的网站项目(这个站长都懂的)

配置frp服务器端frps

配置frp服务器端和客户端,本文的环境为cnetos7。

解压打开下载的frp软件包,进入cnetos7系统,这要是三个文件拷贝到系统的对应位置:

1、/etc/frp 在/etc目录下新建frp目录,把 “frps.ini” 服务器端配置文件拷贝进入
2、/usr/bin 在此目录下放置 “frps”服务器端主文件
3、/usr/lib/systemd/system/ 在此目录下放置“frps.service”服务启动文件 (#User=nobody 80、433问题)

配置服务器端的两大坑:

1、frps.service 文件里面把User=nobody这一句注释掉或者删除掉,否则80、433端口无法访问,别问为什么,可能是bug,也不清楚什么原因。

2、frps.ini (包括下面的frp.ini)配置文件不要有“#”注释语句,包括默认的#注释语句,否则运行会出错。

配置系统级启动,否则重启服务器frps会被关闭。输入如下语句(不要输入中文):

sudo systemctl enable frps    服务系统开启
sudo systemctl start frps     启动frps服务器端
sudo systemctl stop frps      停止frps服务器端
sudo systemctl restart frps   重启frps服务器端

frps服务器端配置成功,并在frp.ini设置好后台访问后,输入网址及端口,能正常访问如下页面内容:

frps后台管理
frps后台管理

配置frp客户端frpc

frpc客户端与frps服务器端配置大同小异。

解压打开下载的frp软件包,进入客户端cnetos7系统(其他系统也差不多),把如下三个文件拷贝到系统的对应位置:

1、/etc/frp 在/etc目录下新建frp目录,把 “frpc.ini” 客户端包含连接服务端的配置、映射本地服务地址及端口的配置文件放到此目录
2、/usr/bin 在此目录下放置 “frpc”客户端主文件
3、/usr/lib/systemd/system/ 在此目录下放置“frpc.service”服务启动文件

配置系统级启动,否则重启服务器frpc会被关闭。输入如下语句(不要输入中文):

sudo systemctl enable frpc    服务系统开启
sudo systemctl start frpc     启动frpc客户端
sudo systemctl stop frpc      停止frpc客户端
sudo systemctl restart frpc   重启frpc客户端

frpc和frps参考配置文件

为便于大家快速配置,提供配置文件供大家参考,至于配置文件里面每一条语句的意思,大家可以自行百度,网站有很多相关文件,或者参考如上提供的官方配置参考。

配置文件修改为自己服务端及客户端对应的参数可直接使用,已经过盛龙科技的实践论证。

***此处内容登录后可见***

温馨提示:此处为隐藏内容,需要登录后可见

发表回复

后才能评论