使用frp搭建内网穿透环境

使用到的工具有 :一个公网IP或者一台云服务器 、 frp工具 、一台客户端主机

因为本人没有公网IP,所以这里用云服务器作演示,用的是centos 7.6系统

云服务器端口配置如下图 , 可自行修改

服务器端的配置

输入 arch   查看系统内核

 

选择对应内核的版本下载frp

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

wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_amd64.tar.gz

 

 

 下载好后解压

tar -zxvf frp_0.44.0_linux_amd64.tar.gz

使用-l命令查看情况

ll -l

 

 

 把frp_0.440._linux_amd64更改名字,方便后续目录切换

mv frp_0.44.0_linux_amd64 frp

 

 

 进入frp文件

cd frp 

查看frp下的文件目录

ll -l

 

 

 服务器端我们要用到frps 、frps_full.ini和frps.ini文件,其他的都可以删除

rm -f 文件名   例如 rm -f frpc

修改frps.ini文件,按i编辑,按ESC输入:wq回车保存

vim frps.ini
[common]
bind_port = 7000             #客户端和服务端连接的端口
dashboard_port = 7500        #仪表板端口
token = 123                  #连接服务器认证的令牌
dashboard_user = root        #仪表板用户名
dashboard_pwd = admin        #仪表板密码
vhost_http_port = 8081       #http反向代理端口如需代理https只需把http改成https即可

运行frps服务

./frps -c frps.ini

 

 

 上图就是运行成功,可按Ctrl + C终止

但是这样运行frps 关闭远程服务器连接或者重启都会关闭frps服务器

接下来我们就解决这个问题

配置systemctl 来控制frp

sudo vim /lib/systemd/system/frps.service

在frps.service添加以下内容,按i编辑,按ESC输入:wq回车保存

复制代码
[Unit]
Description=frps service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
#启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/root/frp/frps -c /root/frp/frps.ini

[Install]
WantedBy=multi-user.target
复制代码

启动 frps

sudo systemctl start frps

开机自动启动 frps

sudo systemctl enable frps

重启frps

sudo systemctl restart frps

停止frps

sudo systemctl stop frps

查看frps日志

sudo systemctl status frps

 

 

 上图即服务器frp搭建成功

接下来是客户端配置

下载frp,然后解压

 

 

 对frpc.ini内容进行编辑,(右键编辑)

 

 

 

复制代码
[common]
server_addr =        #你的服务器ip
server_port = 7000   #对应云服务器frps.ini的bind_port端口
token = 123          #你自己设置的服务器端token令牌


[RDP]                 #模块名可以随意命名,这个是我的win系统远程控制配置,  
type = tcp            #访问协议
local_ip = 127.0.0.1  #内网ip,
local_port = 3389     #内网服务端口3389是远程控制端口,linux的是22端口
remote_port = 7001    #自定义内部远程访问端口号

[web]                              #这是我的web服务配置,可自行修改命名        
type = http                        #走的是http协议,因为没买ssl证书用不了https,需要用到https的自行修改
local_ip = 127.0.0.1               #内网ip
local_port = 80                    #内网服务端口
custom_domains =114.132.78.204     #所绑定的公网服务器域名,一级、二级域名都可以或者公网ip

[static_file]                      #这是我的静态文件配置
type = tcp                         
local_ip = 127.0.0.1
remote_port = 7002
plugin = static_file               #开启插件static_file模式
plugin_local_path = D:/publicFile  #文件目录的绝对路径
plugin_http_user = admin           #设置访问文件夹用户名
plugin_http_passwd = admin         #设置访问文件夹密码
复制代码

用cmd或者power shell进入你解压frp的目录

cd D:\frp   进入你解压的frp文件夹

运行客户端的frp

./frpc -c frpc.ini

 

 

 上图就是启动成功

 接下来我们测试一下看看吧

 

 

 

 

 

 

 

 

 

 

 

 

 

 上图是win系统远程桌面,打码的是你云服务器的ip地址,7001是你客户端rempte_port设置的端口

 

 

 上图是静态文件访问

接下来是测试web服务80端口在内网主机上运行,然后通过云服务器访问,我自己写了一个图床api接口

 

 

 

 

 8081就是云服务器端配置的vhost_http_port 端口

所有配置都测试通过

cmd和power shell一直有个窗口在不太美观可以新建一个bat命令解决

@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
:begin

cd "/d D:\frp"  你的frp目录 ,不知道为什么我cmd的需要/d 才能进入目录
frpc.exe

谢谢观看

 

posted @   ordinfoxli  阅读(389)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示