Frp内网穿透

一、Frp简介

frp是一个可用于内网穿透的高性能的反向代理应用,支持tcp、udp协议,为http和https应用协议提供了额外的能力,且尝试支持了点对点穿透。

二、环境准备

1、需要一台可以直接访问外网的服务器,比如腾讯云的云服务器(CVM)服务端

2、需要做内网穿透的服务器,比如公司内部的局域网测试服务器(客户端)

下载地址:
https://github.com/fatedier/frp/releases

选择最新的就行,一般都是Linux环境。

三、内网穿透案例

1、服务端(又公网IP的)

复制代码
# 创建frp存放目录
[root@VM-16-54-centos ~]# mkdir frp

# 下载压缩包
[root@VM-16-54-centos ~]# wget https://github.com/fatedier/frp/releases/download/v0.34.0/frp_0.34.3_linux_386.tar.gz

# 解压
[root@VM-16-54-centos ~]# tar -zxvf frp_0.34.3_linux_386.tar.gz -C ./frp

[root@VM-16-54-centos frp_0.34.3_linux_386]# pwd
/root/frp/frp_0.34.3_linux_386
[root@VM-16-54-centos frp_0.34.3_linux_386]# ll
total 19348
-rwxr-xr-x 1 1001  116  8392704 Nov 20  2020 frpc
-rw-r--r-- 1 1001  116     8328 Nov 20  2020 frpc_full.ini
-rw-r--r-- 1 root root      132 Jul 25 14:35 frpc.ini
-rwxr-xr-x 1 1001  116 11366400 Nov 20  2020 frps
-rw-r--r-- 1 1001  116     4928 Nov 20  2020 frps_full.ini
-rw-r--r-- 1 1001  116      250 Jul 25 12:48 frps.ini
-rw-r--r-- 1 root root      250 Jul 25 13:21 frps.ini.bak
-rw-r--r-- 1 1001  116    11358 Nov 20  2020 LICENSE
-rw------- 1 root root     2147 Jul 25 15:31 nohup.out
drwxr-xr-x 2 1001  116     4096 Nov 20  2020 systemd

说明:
frpc:客户端可执行程序
frpc_full.ini:客户端所有配置项(可以再此文件查看frp的所有的配置项)
frpc.ini:客户端配置项
frps:服务端可执行程序
frps_full.ini:服务端所有配置项(可以再此文件查看frp的所有的配置项)
frps.ini:服务端配置项
LICENSE:许可证

●服务端只需要编辑frps.ini文件
●客户端只需要编辑frpc.ini文件

# 服务端配置
[root@VM-16-54-centos frp_0.34.3_linux_386]# vim frps.ini
[common]
# 与客户端建立连接端口
bind_port = 7001
# 与客户端校验的token
token = my_token
# 提供web界面端口
dashboard_port = 7600
# web界面登录用户名
dashboard_user = admin
# web界面登录密码
dashboard_pwd = password

说明:默认的配置信息中只有一个绑定端口为7000,意思是我们在外网服务器中绑定7000端口和客户端进行通信。注:端口可以自定义,但是需要客户端和服务端进行统一,腾讯云cvm要在安全组开放7000端口

# 启动
[root@VM-16-54-centos frp_0.34.3_linux_386]# ./frps -c frps.ini


# 后台启动
[root@VM-16-54-centos frp_0.34.3_linux_386]# nohup ./frps -c frps.ini &

2、客户端(内网服务器)

1)客户端服务器可以访问外网

上传压缩包查看frpc.ini文件,修改为如下内容

复制代码
[common]
# 连接frps的IP地址
server_addr = 124.222.214.105     #公网ip
# 连接frps的端口
server_port = 7001                         #和bind_port要一直
# 和frps服务端校验的token
token = my_token
 
# 这里取名随意,一般有意义就行
[ssh1]
type = tcp
# 本地访问的IP地址
local_ip = 10.9.0.6                        # 转发到的内网ip地址
# 本地访问的端口
local_port = 36000                        
# 在frps服务器上对应的端口        # 通过公网的端口进行转发
remote_port = 6000
#也可以在开放一个端口,看需求
[ssh2]
type = tcp
# 本地访问的IP地址
local_ip = 10.9.0.6
# 本地访问的端口
local_port = 36000
# 在frps服务器上对应的端口
remote_port = 6002

# 启动就好了
nohup ./frpc -c ./frpc.ini > file.log 2>&1 &

2)客户端服务器不可以访问外网

首先自己的pc端需要链接内网服务器的交换机

在自己的pc端安装frp到指定文件夹

修改文件:

复制代码
# 修改frpc.ini文件
[common]
# 连接frps的IP地址
server_addr = 124.222.214.105
# 连接frps的端口
server_port = 7001
# 和frps服务端校验的token
token = my_token
 
# 这里取名随意,一般有意义就行
[ssh1]
type = tcp
# 本地访问的IP地址
local_ip = 10.9.0.6
# 本地访问的端口
local_port = 36000
# 在frps服务器上对应的端口
remote_port = 6000

[ssh2]
type = tcp
# 本地访问的IP地址
local_ip = 10.9.0.6
# 本地访问的端口
local_port = 36000
# 在frps服务器上对应的端口
remote_port = 6002

# 添加静态路由
C:\WINDOWS\system32>route add 10.9.0.0 mask 255.255.255.128 10.9.80.1
永久添加就是:route -p add 10.9.0.0 mask 255.255.255.128 10.9.80.1

# pc端启动服务
C:\Users\郭伟杰\Desktop\frp\frp_0.34.3_linux_386>./frpc -c frpc.ini


启动成功。别人就可以通过公网加指定端口链接穿透的服务器了,会直接跳转到内网服务器

复制代码
[c:\~]$ ssh -p6000 root@124.222.124.105
相关推荐
代码AI弗森1 小时前
一文理清楚“算力申请 / 成本测算 / 并发评估”
java·服务器·数据库
蜡台2 小时前
Python包管理工具pip完全指南-----2
linux·windows·python
^—app5668662 小时前
游戏运存小启动不起来临时解决方法
运维·服务器
Ujimatsu2 小时前
虚拟机安装Debian 13.x及其常用软件(2026.4)
linux·运维·ubuntu
千百元2 小时前
zookeeper启不来了
linux·zookeeper·debian
志栋智能3 小时前
超自动化安全:构建智能安全运营的核心引擎
大数据·运维·服务器·数据库·安全·自动化·产品运营
AnalogElectronic4 小时前
linux 测试网络和端口是否连通的命令详解
linux·网络·php
Edward111111115 小时前
4月28日防火墙问题
linux·运维·服务器
想学后端的前端工程师5 小时前
【补充内外网突然不通的情况】
运维·服务器
面汤放盐5 小时前
何时使用以及何时不应使用微服务:没有银弹
java·运维·云计算