frp内网穿透详细教程

前言

frp内网穿透是一个比较方便,快捷的配置,使用也是比较人性化
下面简单介绍下实现过程,配置分服务端和本地端

一、阿里服务端配置

1.1 获取frp的安装包

获取安装包,
提取链接:下载frp_0.44.0_linux_amd64.tar.gz 包 到本地
链接: https://pan.baidu.com/s/1H_9Opdaji1ZzRxnO8YSIZw 提取码: 3n3k

1.2 解压frp安装包并配置frps.ini

在usr/local下创建frps的目录,上传安装包并解压

#创建frps目录
mkdir /usr/local/frps
切换到目录下
cd /usr/local/frps
#将frp的压缩包放到frps目录下
rz
#解压压缩包
tar -zxvf frp_0.44.0_linux_amd64.tar.gz
#修改解压后的目录名称为frps,方便使用
mv frp_0.44.0_linux_amd64 frps
#进入frps的配置文件
cd /frps

1.3配置frps.ini文件数据

编辑frps.ini

编辑frps.ini 文件

vim frps.ini

添加如下数据

[common]
bind_addr = 0.0.0.0
bind_port = 7000
kcp_bind_port = 7000
vhost_https_port = 643

#设置frp服务的网页监控面板账号信息
dashboard_port = 6443
dashboard_user = gongji
dashboard_pwd = 123qwe...

#设置日志存放位置和清理日志时间
log_file = /usr/local/frps/frps/frps.log
log_level = info
log_max_days = 3

#设置服务端和客户端的唯一token
token = lsdfjiWEsdfl?/skd

#设置连接数
max_pool_count = 20
tcp_mux = true

下面是相关解释

bind_addr = 0.0.0.0
#一般填写服务器的内网IP,用于客户端程序的连接 。(0.0.0.0表示全部对外开放)
bind_port = 5443
#你希望此frp程序从哪个端口开放,用于客户端程序的连接
kcp_bind_port = 5443
#用于KCP协议UDP通讯端口,也可以和“bind_port”共用同一端口,如果没有设置,则kcp在frps中被禁用,可自定义。

dashboard_port = 6443
#填写端口号,用于连接frp服务运行监控面板的端口
dashboard_user = admin
#监控面板的管理账号
dashboard_pwd = 123qwe…
#监控面板的管理密码vhost_http_port = 800
#指定端口为http网页协议,可自定义。
vhost_https_port = 4430
#指定端口为https网页协议,可自定义。log_file = ./frps.log
#日志保存位置
log_level = info
#日志记录类别,可选:trace, debug, info, warn, error
log_max_days = 3
#日志最长清除时间,一般3天token = dfdoshfjksHJ
#访问密钥,服务端和客户端一定要保持一致(否则会导致连接失败)
max_pool_count = 50
#最大连接数
tcp_mux = true
#如果使用tcp流复用,默认值为true。不开启则,false

保存退出

wq

后台启动

nohup ./frps -c ./frps.ini

查看frps.service 的状态

systemctl status frps.service

重启frps
systemctl restart frps

二、客户端的frpc配置

2.1 存放frps包并解压

创建存放frpc的目录

#创建frpc目录
mkdir /usr/local/frpc
切换到目录下
cd /usr/local/frpc
#将frp的压缩包放到frpc目录下
rz
#解压压缩包
tar -zxvf frp_0.44.0_linux_amd64.tar.gz
#修改解压后的目录名称为frpc,方便使用
mv frp_0.44.0_linux_amd64 frpc

编辑frpc.service 的配置文件

vi /etc/systemd/system/frpc.service

在这里插入图片描述
如果初始进入无数据就自行添加,数据如下

[Unit]
Description=frpc service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
ExecStart=/usr/local/frpc/frpc/frpc -c /usr/local/frpc/frpc/frpc.ini

[Install]
WantedBy=multi-user.target

保存退出

wq

回到frpc的安装目录下继续操作

cd /usr/local/frpc/frpc

编辑frpc的配置文件(frpc.ini)

vim frpc.ini

编辑并添加配置文件

[common]
server_addr = 47.102.183.179   #这里设置你公网的ip
server_port = 7000  #服务端开放的端口
token = lsdfjiWEsdfl?/skd  #服务端frps设置的token 这里一定要对应一致

[83-web_connect]  # 设置穿透端口的名称,可自定义,不同端口不同名称不可重复
type = tcp  #设置连接类型,有的是https
local_ip = 192.168.3.59  # 设置本地被穿透出去的ip
local_port = 5000   #设置本地需要被穿透的端口
remote_port = 12383  #设置映射到服务端的端口

[83-mysql_connect]
type = tcp
local_ip = 192.168.3.59
local_port = 3306
remote_port = 12380

下面是解释说明

[web] :表示名称,[ ]里面的名称必须唯一,比如这里写了[web],那么后面所有的,端口映射名称都不能填写[web]了,不单是本台虚拟机,其他虚拟机也不能写[web] 因为可能一台阿里服务器,可以映射多台虚拟机或者服务器;
Type:表示连接的类型,一般是tcp 连接
Local_ip:也就是本机的ip地址,可以用默认的127.0.0.1,也可以填写完整ip地址:192.168.3.199
Local_port: 本地开放的端口,如数据库就写3306 ,ssh连接就写22 ,等等…
Remote_port: 这个是本地端口映射到阿里云的端口,比如我要映射数据库端口local_port:3306 remote_port: 12380 那么就相当于 访问12380就是访问我们数据库;同时,remote_port 的端口也不能重复,必须唯一,在本机或其他虚拟机一样的;因为一台阿里服务器可能映射多台虚拟机或服务器;

保存退出

wq

启动frpc服务

systemctl start frpc.service
#查看状态
systemctl status frpc.service

三、阿里服务端映射本地端口

阿里服务器映射端口分两种情况,一种是阿里服务开启了系统的防火墙systemctl status firewalld
还有一种就是没有开启系统的防火墙,而是使用阿里服务的防护,下面介绍两种的映射方法

方式1防火墙映射端口

添加新增的本地映射到阿里的端口

firewall-cmd --permanent --add-port=12380/tcp

在阿里服务器新增开放端口,这个端口也就是你在客户端配置的remote_port 端口
客户端加一个端口,阿里服务器这边就需要新增一个开放端口;端口不能重复;

新增端口后需要重启防火墙

firewall-cmd --reload

查看阿里云已经开放的端口

firewall-cmd --zone=public --list-ports

防火墙的其他相关操作
firewall-cmd --list-ports 查看已打开的端口
firewall-cmd --list-all 查看已所有规则
firewall-cmd --query-port=8080/tcp 是否开启
firewall-cmd --permanent --add-port=8080/tcp 开启80端口
firewall-cmd --permanent --remove-port=8080/tcp 移除端口
添加端口后,必须用命令firewall-cmd --reload重新加载一遍才会生效

方式2 云服务器安全组开放端口

进入阿里云服务器官网,进入安全组进行添加
在这里插入图片描述

四、配置完成查看效果

先看本地的访问
在这里插入图片描述

下面看下通过公网ip映射的端口进行访问
在这里插入图片描述

五、其他,frp的监控平台查看

在frps服务的frps.ini 文件中我们配置了frp服务的监控面板,可以通过ip+端口在浏览器中打开查看
在这里插入图片描述
访问如下
在这里插入图片描述

查看frp面板监控面板

在这里插入图片描述
到此frp配置结束

5.1 frp配置失败的情况

配置失败的情况
1.客户端的frpc.service 的文件配置错误, 所有frps改frpc, 路径没匹配
2.客户端的frpc.service 服务没有运行;
3.映射的端口重复了,需排查阿里云开放的端口列表;
4.客户端在frpc.ini 中新的映射名称重复了, [ ] 里面的名字不能重复;

猜你喜欢

转载自blog.csdn.net/weixin_55944621/article/details/130267636