frp内网穿透,centos7+frp成功样例

准备工作:

阿里云服务器一台,备案域名一个,本地服务器一台(本人用的虚拟机centos7)

frp文件:frp_0.22.0_linux_amd64.tar.gz

链接:https://pan.baidu.com/s/1lcJ3_OsK7I5HSoF1lKvf0Q 

提取码:5ak6 

 本文只介绍安装过程,原理自行百度。

1.下载frp_0.22.0_linux_amd64.tar.gz文件,放置服务器的任意目录下(自己方便找到的),本人放在: cd /var/

解压:tar -zxvf frp_0.22.0_linux_amd64.tar.gz

进入解压的文件夹:cd frp_0.8.1_linux_amd64

进去之后注意这四个文件,其他不用管,也不用动:

frps.ini: 服务端配置文件

frps: 服务端软件

frpc.ini: 客户端配置文件

frpc: 客户端软件

步骤一在阿里云服务器与本地服务器同时安装,方法一致,不同的是上面的四个文件的配置不同

2.配置说明

阿里云服务器配置即服务器端的配置文件在:frps.ini 

[common]
bind_port = 3389    frps提供的端口
vhost_http_port = 8080   域名访问的端口

[web]
type = http  本地服务器访问理性
local_port = 80  本地服务器访问端口
custom_domains = s.lzh.cn阿里云服务器访问域名
auth_token = ntflzhcn  验证token,随便写,最好是字母加数字

本地服务器配置文件在:frpc.ini

[common]
server_addr = 47.92.22.110 阿里云服务器ip地址
server_port = 3389 阿里云服务器frps提供的端口
auth_token = ntflzhcn 验证token,同阿里云服务器
[web]
type = http  本地服务器的访问类型
local_port = 80  本地服务器访问的端口
custom_domains = s.lzh.cn  同阿里云服务器

阿里云服务器(配置frps.ini )和本地服务器(配置frpc.ini)仅配置这两个文件,其他的都不用动,切记配置对应的文件名。

3.测试是否开通

首先必须在frp文件夹内操作才有效:cd /var/frp_0.22.0_linux_amd64/

启动阿里云服务器端frps:./frps -c ./frps.ini

出现如图所示内容表示启动成功:

frp内网穿透,centos7+frp成功样例

同理,本地服务器进入相应的目录:cd /var/frp_0.22.0_linux_amd64/

启动本地服务器端frpc:./frpc -c ./frpc.ini

出现如图所示内容表示启动成功:

 frp内网穿透,centos7+frp成功样例

4.设置开启自启动(很重要,不然连接无法保持)

本地服务器路径:/usr/lib/systemd/system,创建frpc.service文件,内容如下:

[Unit]
Description=frpc
After=network.target

[Service]
TimeoutStartSec=30
ExecStart=/var/frp_0.22.0_linux_amd64/frpc -c /var/frp_0.22.0_linux_amd64/frpc.ini
ExecStop=/bin/kill $MAINPID

[Install]
WantedBy=multi-user.target

 

上述步骤完成后,可能会用到的命令:

启动 frp 并设置开机启动

systemctl enable frps

systemctl start frps

systemctl status frps

 

阿里云服务器路径如下:/usr/lib/systemd/system,创建frps.service文件,内容如下:

[Unit]
Description=frps
After=network.target

[Service]
TimeoutStartSec=30
ExecStart=/var/frp_0.22.0_linux_amd64/frps -c /var/frp_0.22.0_linux_amd64/frps.ini
ExecStop=/bin/kill $MAINPID

[Install]
WantedBy=multi-user.target

 

启动 frp 并设置开机启动

systemctl enable frpc

systemctl start frpc

systemctl status frpc

刚刚配置的服务需要让systemctl能识别,就必须刷新配置

sudo systemctl daemon-reload

 

5测试:

 s.lzh.cn:8080 直接访问即可

过程中遇到的问题:

1.本地服务器提示:custom_domains and subdomain should set at least one of them 

解决办法即在本地服务器frpc.ini中,添加custom_domains = s.lzh.cn 即可解决

2.提示未找到站点。

本地服务器添加解析: vi /etc/hosts   

补充说明:

1.我用的是备案好的案例云服务器,当然也可以用香港的服务器不用备案,只要你的服务器可以用域名解析并且可以正常访问,都可以做到。

2.我的本地服务器有多个网站,如果只放一个网站问题2应该不会遇到

3. 本地服务器和阿里云服务器我没有做开机自启动,重启后需要再次开启

4.阿里云服务器所涉及到的端口,不仅要在服务器上开启,阿里云控制台安全组也要开启

5过程中可能会重启frp

查看frp的进程号:ps -aux | grep frp,如下图所示:

frp内网穿透,centos7+frp成功样例

杀死该进程:kill -9 17210,接下来按照步骤3启动即可

6.如果要访问多个网站可以参考下图:

阿里云服务端frps.ini

frp内网穿透,centos7+frp成功样例

 本地服务器端

frp内网穿透,centos7+frp成功样例