当前位置:   article > 正文

FRP实现内网穿透_frp内网穿透

frp内网穿透


前言

使用旧笔记本电脑安装Centos当作服务器使用,配置了网络后Centos可以访问外网了。当我想要在其他网络环境下连接我家里的服务器,怎么办呢,因为没有公网IP所以只能通过连接内网IP访问使用。如果在其他网络环境下显然是无法连接家里的内网IP的,以下提供2种解决方案:

  • 1.购买公网IP。偏贵,适合企业使用
  • 2.内网穿透。顾名思义就是将家里的内网IP、端口转发到公网IP/域名,然后再通过访问公网IP/域名访问到家里的Centos服务器。

内网穿透工具有很多种,这里就不多介绍了。市面上绝大部分工具免费功能都是通过转发到服务商的子域名,虽然是免费的,但是会不定时更换地址,而且由于是共用的地址有些难免被非法使用投诉导致在wx等等平台打不开,所以很不方便限制也比较多。


一、frp是什么?

FRP 是一种快速反向代理,可帮助您将 NAT 或防火墙后面的本地服务器暴露给互联网。截至目前,它支持TCP和UDP,以及HTTP和HTTPS协议,其中请求可以通过域名转发到内部服务。

二、使用步骤

  • 准备一台有公网IP的云服务器,这里我使用的腾讯云服务器(Centos7.9系统)
  • 准备一台可以访问公网但无公网IP的服务器(我这是用笔记本电脑安装Centos做服务器使用),系统也是使用的Centos系统
  • 使用ssh客户端连接两台电脑

1.安装frp

官网:https://github.com/fatedier/frp/releases

在这里插入图片描述

  • 创建frp安装目录(分别在有公网IP Centos和无公网IP Centos创建
mkdir -p /usr/local/frp
  • 1
  • 下载frp(分别在有公网IP Centos和无公网IP Centos下载
# 先进入安装目录
cd /usr/local/frp
# 下载frp压缩包
wget https://github.com/fatedier/frp/releases/download/v0.46.1/frp_0.46.1_linux_amd64.tar.gz
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

  • 解压frp(分别在有公网IP Centos和无公网IP Centos解压
tar -zxvf frp_0.46.1_linux_amd64.tar.gz
  • 1

在这里插入图片描述

2.有公网IP Centos

  • 公网服务器上保留只需保留frps相关文件:
rm -rf frpc*
  • 1

在这里插入图片描述

2.1.frps配置

  • 配置frps.ini
vim frps.ini
  • 1

添加以下配置:

# 服务端认证的token
token = asd123456
# 服务端管理界面的端口
dashboard_port = 7500
# 服务端管理界面的用户名
dashboard_user = xxx
# 服务端管理界面的密码
dashboard_pwd = xxx
enable_prometheus = true
# 日志存储
log_file = /usr/local/frp/frp_0.46.1_linux_amd64/frps.log
# 日志级别
log_level = info
# 日志记录时间
log_max_days = 3
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

在这里插入图片描述

  • 配置service启动
vim /lib/systemd/system/frps.service
  • 1

添加以下配置:

[Unit]
Description=frps
After=network.target

[Service]
# 中间ExecStart 后面的 /usr/local/frp/frp_0.46.1_linux_amd64/frps -c /usr/local/frp/frp_0.46.1_linux_amd64/frps.ini 中的路径需要设置成你存放frps文件的路径
ExecStart=/usr/local/frp/frp_0.46.1_linux_amd64/frps -c /usr/local/frp/frp_0.46.1_linux_amd64/frps.ini

[Install]
WantedBy=multi-user.target
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在这里插入图片描述

  • 启动frps服务
systemctl start frps.service
  • 1
  • 查看服务状态
systemctl status frps.service
  • 1
  • 设置为开机自启
systemctl enable frps.service
  • 1
  • 查看服务运行日志
journalctl -u frps.service
  • 1

2.2.防火墙配置(有坑)

  • 由于有公网IP Centos开了防火墙,需要放行相关端口(注意:我这里放行的6000端口是映射无公网IP Centos的22端口)
firewall-cmd --zone=public --add-port=7000/tcp --add-port=7500/tcp --add-port=6000/tcp --permanent
  • 1
  • 刷新防火墙规则
firewall-cmd --reload
  • 1

在这里插入图片描述

  • 由于我的公网服务器是腾讯云的,所以还要再去控制台配置一下,不然还是无法被访问的

在这里插入图片描述

  • 访问控制台:http://container-ip:7500

在这里插入图片描述

3.配置无公网IP Centos

  • 无公网服务器上保留只需保留frpc相关文件:
rm -rf frps*
  • 1

在这里插入图片描述

  • 配置frpc.ini
vim frpc.ini
  • 1

添加以下配置:

# 服务端配置的认证的token
token = asd123456
# 服务端的公网IP地址(填写你服务器的ip地址)
server_addr = xxx.xxx.xxx.xxx
# 服务端配置的通信端口
server_port = 7000
# 日志存储
log_file = /usr/local/frp/frp_0.46.1_linux_amd64/frpc.log
# 日志级别
log_level = info
# 日志记录时间
log_max_days = 3

[ssh]
type = tcp
# 访问的本地的地址
local_ip = 127.0.0.1
# 访问本地的端口
local_port = 22
# 远程访问的端口 即通过 服务器IP:6000 可以访问到内网的 127.0.0.1:22
remote_port = 6000

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

在这里插入图片描述

  • 配置service启动
vim /lib/systemd/system/frpc.service
  • 1

添加以下配置:

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

[Service]
Type=simple
# 中间ExecStart 后面的 /usr/local/frp/frp_0.46.1_linux_amd64/frpc -c /usr/local/frp/frp_0.46.1_linux_amd64/frpc.ini 中的路径需要设置成你存放frpc文件的路径
ExecStart=/usr/local/frp/frp_0.46.1_linux_amd64/frpc -c /usr/local/frp/frp_0.46.1_linux_amd64/frpc.ini

[Install]
WantedBy=multi-user.target
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

在这里插入图片描述

  • 启动frpc服务
systemctl start frpc.service
  • 1
  • 查看服务状态
systemctl status frpc.service
  • 1
  • 设置为开机自启
systemctl enable frpc.service
  • 1
  • 查看服务运行日志
journalctl -u frpc.service
  • 1

在这里插入图片描述

4.内网穿透测试

注意:主机填写有公网IP Centos的公网IP

在这里插入图片描述

在这里插入图片描述

  • 可以看到已经连接到无公网IP Centos

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/216937
推荐阅读
相关标签
  

闽ICP备14008679号