使用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
谢谢观看
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?