centos启动frp,centos7下载地址
CentOS+宝塔面板+frp踩坑折腾笔记
本文详细记录了作者在安装和配置CentOS、宝塔面板以及frp的过程中遇到的各种问题和解决办法,旨在为后来者提供参考和避坑指南。
首先,作者面临的是在新居使用移动宽带时无法使用DDNS访问的问题,以及http连接安全性不足的问题。为了解决这些问题,作者决定分步进行,先解决frp内网穿透,再处理ssl证书。
在配置frp的过程中,作者发现frp最新的版本使用了toml文件进行配置,而非以往教程中提到的ini文件,这是第一个小坑。
接着,作者尝试使用宝塔面板自带的frp管理器,但在配置和测试过程中遇到了一系列问题。尽管宝塔面板提供了可视化配置界面,但在使用过程中发现无法直接验证配置是否生效,导致了两天的折腾。
为了找到问题所在,作者卸载了宝塔面板自带的frp管理器,转而按照frp官网文档进行手动配置。经过多次尝试,作者最终发现了问题所在:防火墙问题。在关闭公网服务器的防火墙后,连接成功;而开启防火墙后,连接会在短时间内断开。经过一系列尝试,作者最终发现是宝塔面板没有卸载干净自带的frp管理文件,导致了服务无法正常运行。
为了解决这个问题,作者首先使用whereis命令查找frp文件,发现存在多个frps.service文件。通过将这些文件重命名或删除,最终解决了服务无法启动的问题。
最后,作者在系统自启动目录下创建了frps.service服务单元文件,并按照步骤添加了frps服务的自启动配置。通过这一系列操作,frp服务成功添加到了系统启动时自动运行的列表中,保证了服务的稳定运行。
经过一系列的折腾和解决,作者成功解决了使用frp进行内网穿透的问题,并确保了服务的稳定运行。这次经历不仅为后来者提供了宝贵的参考,也体现了解决问题时的耐心和细致。
用CentOS云服务器搭建frp内网穿透服务
frp是Github上的一个项目,它是一种可以将内网IP映射到公网IP的内网穿透工具。一旦启用frp服务,原本没有公网IP的设备将因为frp的映射功能而获得一个公网IP。这样一来,互联网上的设备就可以通过访问这个公网IP的特定端口来访问该设备,从而解决了仅拥有内网IP的设备在互联网通信中遇到的难题。
实验环境
首先在腾讯云、阿里云等云服务器供应商处购买云服务器,如果是在校大学生,可以享受便宜的学生特惠服务器。
如果是初次接触云服务器的读者,可以参考以下博文:教程以阿里云为例,但不同的云服务器操作大同小异,稍作调整即可。
实验步骤
1.申请云服务器
2.配置frp服务端
远程连接自己的服务器,进入终端。进入终端后注意当前的用户是否为root,用户名可从启动服务器后的第一行文字获知:
图中红线处显示的字符串为"admin",说明我现在正处于admin账户下,需要切换到root账户,在终端中输入:
当看到红线最新弹出的命令行中"@"前的字符串变成"root"时,说明已经成功切换至root用户,此时,我们在终端中输入命令将路径切换至root目录下:
接下来,我们访问github,查看frp的最新版本。
本文使用的frp版本为v0.31.1,以下均用v0.31.1作为示例,frp版本如有不同,只需要将下面指令中的所有"v0.31.1"字段更换成目前的版本号即可。
从github上获取并且安装frp:
frp安装之后,进入目录并修改frp服务器端配置:
修改frps.ini内容如下:
修改完成,保存(修改时用到vi编辑器,对vi操作不熟悉的读者可以参考该博客: CentOS常用命令之:VI)
在终端中通过以下命令启动frp:
每次需要使用frp服务时,都必须在/root/frp_0.31.1_linux_amd64/目录下输入该命令启动frp服务端,如果觉得每次要用时都要打开比较麻烦,可以通过编写自启动模板使该服务开机自启动,具体的设置可以参考该博客:
3.在客户端下载并配置frp
在 github.com/fatedier/frp...下载对应版本的Windows版frp,由于本推文中,服务器端使用了frp_v0.31.1_linux_amd64.tar.gz,相应的,在Windows上应该下载frp_v0.31.1_windows_amd64.zip
将下载好的.zip文件解压到自己喜欢的目录,进入该文件夹,可以看到很多文件名中带有"frps"的文件以及文件名中带有"frpc"的文件,分别对应frp的服务器端和客户端,我们正在配置的是客户端,因此文件名中带有"frps"的文件均无需保留,可以删除。
删除后应具有以下文件/文件夹。
用记事本打开frpc.ini,编辑内容如下:
PS:
2. remote_port和server_port所用端口号不能被云服务器的其他进程占用,而且必须被云服务器的防火墙放行(我的印象中,阿里云默认不放行,需要在安全组中设置允许该端口的tcp/udp通信;腾讯云默认全放行,不用设置。)
3.保存时确认frpc.ini编码类型为UTF-8。
大功告成,可以运行了。在打开CMD或者Windows Terminal用cd命令进入frpc.ini所在目录,输入:
当出现类似下图的输出时,说明frpc.ini正常启动,已经可以通过公网IP对你的设备进行访问:
4.创建一键运行脚本(可选)
再做一个小小的优化,每次运行frp服务都要在cmd进入该目录输入指令,略显麻烦,因此,在该目录下创建一个runfrp.txt文档,在文档的第一行输入:
保存文件,修改文件名为runfrp.bat,以后只要双击这个.bat文件,就可以一键启动frp客户端服务了。
至此,frp配置完成。
利用Docker部署FRP内网穿透
部署FRP内网穿透,需要以下条件:一台拥有公网IP的服务器,与内网机器皆运行CentOS 7操作系统,且确保服务器正常接入互联网。操作步骤默认以root用户执行。
服务端配置(公网服务器)
首先,安装Docker及Docker-Compose在服务端。其次,创建FRP目录,生成Docker-compose.yml和frps.ini文件。
配置Docker-compose.yml文件,以定义服务所需容器。同时,编辑frps.ini以设置FRP服务的运行参数。
在/root/docker-compose-data/frp目录下启动容器。在此步骤中,切记要打开服务端防火墙的指定端口,以确保FRP服务能正常运行。
客户端配置(内网服务器)
内网服务器在安装Docker和Docker-compose时参考服务端指引,并创建FRP目录。关键在于配置docker-compose.yml(注意,此处为frpc而非frps)和frpc.ini文件。
在docker-compose.yml文件中,根据具体需求调整配置,确保与服务端协调一致。在frpc.ini文件中,详细定义客户端与服务器的连接参数。
启动容器,在/root/docker-compose-data/frp目录下执行相应命令。
完成部署后,通过测试访问验证内网穿透是否成功。如遇问题,查阅相关文档以找到解决方法。