用CentOS云服务器搭建frp内网穿透服务

frp介绍

frp是Github上的一个项目,是一种能够将内网ip映射到公网ip的内网穿透工具,启用frp服务之后,本来不具有公网ip的设备将因frp的映射获得一个公网ip,互联网上的设备可以通过访问这个公网ip的特定端口访问该设备。这就给仅拥有内网ip的设备的互联网通信难题带来了解决方案。

实验环境

  1. 云服务器——1台,操作系统:CentOS 7.3 64位
  2. 接入网络的PC——1台,操作系统:Windows 10 64位家庭版

实验步骤

1.申请云服务器

以[慈云数据](https://www.zovps.com/)服务器为例,如下图所示

如果是初次接触云服务器的读者,可以参考该博文:

教程以慈云数据为例,但不同的云服务器操作大同小异,稍作调整即可。

2.配置frp服务端
远程连接自己的服务器,进入终端。进入终端后注意当前的用户是否为root,用户名可从启动服务器后的第一行文字获知:


获取用户名信息
图中红线处显示的字符串为"admin",说明我现在正处于admin账户下,需要切换到root账户,在终端中输入:

sudo su root
当看到红线最新弹出的命令行中"@"前的字符串变成"root"时,说明已经成功切换至root用户,此时,我们在终端中输入命令将路径切换至root目录下:

cd /root
接下来,我们访问github,查看frp的最新版本。

https://github.com/fatedier/frp/releases
?github.com/fatedier/frp/releases
本文使用的frp版本为v0.31.1,以下均用v0.31.1作为示例,frp版本如有不同,只需要将下面指令中的所有"v0.31.1"字段更换成目前的版本号即可。

从github上获取并且安装frp:

wget https://github.com/fatedier/frp/releases/download/v0.31.1/frp_0.31.1_linux_amd64.tar.gz
tar zxf frp_0.31.1_linux_amd64.tar.gz
frp安装之后,进入目录并修改frp服务器端配置:

cd frp_0.31.1_linux_amd64/
vi frps.ini
修改frps.ini内容如下:

#修改frps.ini内容如下:
[common]
​
# frp server的工作端口,默认7000,可以更改
bind_port = 7000
​
# http和https的端口定义
vhost_http_port = 80
vhost_https_port = 443
​
# 连接时需要的认证token,类似于密码,可选填
#token = 000000
​
# 子域名,可选填
# subdomain_host = frps.com
​
# 404 页面
custom_404_page = /root/frp_0.31.1_linux_amd64/404.html
​
# dashboard图形管理页面使用端口
dashboard_port = 7500

# dashboard帐号
dashboard_user = admin
# dashboard登陆密码,可以自己修改,这里用admin
dashboard_pwd = admin


修改完成,保存(修改时用到vi编辑器,对vi操作不熟悉的读者可以参考该博客:CentOS常用命令之:VI)

在终端中通过以下命令启动frp:

./frps -c frps.ini
每次需要使用frp服务时,都必须在/root/frp_0.31.1_linux_amd64/目录下输入该命令启动frp服务端,如果觉得每次要用时都要打开比较麻烦,可以通过编写自启动模板使该服务开机自启动,具体的设置可以参考该博客:

CentOS下搭建Frp内网穿透服务_centos6.5开机启动 frps-CSDN博客
?blog.csdn.net/kxwinxp/article/details/88428053

3.在客户端下载并配置frp
在https://github.com/fatedier/frp/releases下载对应版本的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,编辑内容如下:

[common]
server_addr = x.x.x.x    # 填写自己的云服务器公网IP地址,有域名的读者也可以填写域名
server_port = 7000       # 云服务器设置的端口为7000,所以这里填7000
# token = 000000         # 与frps.ini设置的token一致,没设置则删去
?
[test1]                  # []内可以自己起一个拉风的名字^_^
type = tcp               # 传输协议,可以是tcp或者udp
local_ip = 127.0.0.1     # 计算机网络中,127.0.0.1代表本地地址
local_port = 80          # 需要映射出去的端口号,80为http默认端口号,此端口号必须被本机放行
remote_port = 10000      # 映射到云服务器上面的端口号,必须被云服务器的防火墙放行


PS:

最好将frpc.ini中"#“以及”#"后面的注释都删掉,否则frpc可能无法正常运行。
2. remote_port和server_port所用端口号不能被云服务器的其他进程占用,而且必须被云服务器的防火墙放行(我的印象中,慈云数据默认放行,需要在安全组中设置允许该端口的tcp/udp通信;)

3. 保存时确认frpc.ini编码类型为UTF-8。

大功告成,可以运行了。在打开CMD或者Windows Terminal用cd命令进入frpc.ini所在目录,输入:

frpc.exe -c frpc.ini


当出现类似下图的输出时,说明frpc.ini正常启动,已经可以通过公网ip对你的设备进行访问:


frp正常运行
4.创建一键运行脚本(可选)
再做一个小小的优化,每次运行frp服务都要在cmd进入该目录输入指令,略显麻烦,因此,在该目录下创建一个runfrp.txt文档,在文档的第一行输入:

frpc.exe -c frpc.ini
保存文件,修改文件名为runfrp.bat,以后只要双击这个.bat文件,就可以一键启动frp客户端服务了。

至此,frp配置完成。

  • 27
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值