使用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回车保存
[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
谢谢观看
标签:frps,ip,端口,穿透,frp,服务器,port,搭建 来源: https://www.cnblogs.com/MyExperience/p/16561348.html