前言
服务器搭建属于自己的内网穿透服务-随时随地访问自己的桌面、文件、数据库等
最近刚好需要远访问远程主机的桌面和文件,但远程主机没有固定ip,不能直接访问。此时就想到用FRP。
FRP是一种内网穿透技术,能够让外网用户访问内网服务器,而不需要对外网做任何端口映射和转发。支持 TCP , UDP , HTTP , HTTPS 协议。目前国内已经有许多软件能够提供内网穿透,不过大部分软件提供服务类型有限,且会限速或者强制更换ip。
今天教大家用服务器部署属于自己的内网穿透服务,随时随地访问自己的服务。
注意
:如果在没有做好安全措施的情况下将内网服务器暴露在外网,会将自己的个人信息置于不安全的环境,特别是一些NAS,采用的系统被暴出有较多的漏洞,所以在做内网穿透前,一定要做好足够的安全评估。
相关地址
GitHub官方仓库:https://github.com/fatedier/frp
搭建环境
-
服务器:搭建用的是微软云的新加坡机器(如果自己搭建建议服务器延迟不要太高),不建议用国内的服务器
-
系统:Debian 11
-
【非必需】一个域名,并做好解析到服务器上
5 搭建过程
5.1 公网服务端设置
-
确定服务器位数
getconf LONG_BIT
Linux返回的结果如果是64,说明linux系统属于64位;返回32,系统属于32位。
-
下载相匹配FRP版本并解压
FRP 项目软件包下载地址:https://github.com/fatedier/frp/releases
apt-get update && apt-get install -y wget vim # 安装常用组件
mkdir frp #创建frp文件夹
cd ./frp
wget https://github.com/fatedier/frp/releases/download/v0.47.0/frp_0.47.0_linux_amd64.tar.gz #下载安装包命令
tar xzvf frp_0.47.0_linux_amd64.tar.gz # 进行解压
mv -fb ./frp_*/* ./ # 移动文件
rm -rf ./frp_* # 删除不必要文件
3.编辑公网服务端配置文件 frps.ini
在配置之前确定自己的服务器防火墙打开对应端口,且检查端口是否被占用
lsof -i:7000 #查看 7000 端口是否被占用,如果被占用,重新自定义一个端口
如果啥也没出现,表示端口未被占用,我们可以继续下面的操作了~
如果出现:
-bash: lsof: command not found
运行:
sudo apt install lsof #安装 lsof
重新检查没有占用后,我们可以继续下面的操作了
nano frps.ini# 编辑 frps.ini 配置文件
frps.ini具体配置如下:复制以下内容粘贴到自己的服务器
[common]
bind_port = 7000
#FRP 身份验证 避免别人用你的服务
token = xxxxxx
#指定 Dashboard 的监听的 IP 地址 0.0.0.0
dashboard_addr = 0.0.0.0
#FRPS 服务端网页登陆管理端口
dashboard_port = 7500
#FRPS 服务端网页管理登陆用户名、密码
dashboard_user = admin
dashboard_pwd = admin123
#设置日志显示级别{debug, info, warn, error)
log_level = info
#设置日志最大天数
log_max_days = 999
运行frps的服务端
./frps -c frps.ini
出现【Start frps success】代表运行成功。此时访问 x.x.x.x:7500 (域名加端口)并使用自己设置的用户名密码登录,即可看到仪表板界面
如果出现错误提示,请检查上面的步骤。
4.服务端后台运行
上面服务端仅运行在前台,如果Ctrl+C停止或者关闭SSH窗口后,frps 均会停止运行,因而我们使用 nohup命令 将其运行在后台。
nohup ./frps -c frps.ini &
显示【nohup: ignoring input and appending output to ‘nohup.out’】内容即表示正常运行。
此时可先使用 Ctrl+C 关闭nohup,frps依然会在后台运行,使用 jobs 命令查看后台运行的程序
5.停止 frps
ps -ef |grep frps
kill -9 117586 #改成你查询到的uid
5.2 客户端设置(windows)
-
确定系统版本,下载相匹配FRP版本并解压
本地如果不能访问github,可以从链接进行下载https://wwlz.lanzoue.com/b0487rl1e密码:exed
-
编辑客户端配置文件 frpc.ini
[common]
#公网服务端 ip 或 域名 ,这里需要换成自己的ip
server_addr = frp.nasge.com
#公网服务端 设置的端口
server_port = 7000
#FRP 身份验证 与 服务端一致
token = xxx
#frpc.ini 管理界面 //127.0.0.1 地址为仅限本地,0.0.0.0为不限。
admin_addr = 127.0.0.1
admin_port = 7400
admin_user = admin
admin_pwd = admin123
##------------------- 以下为内网端口穿透应用 -------------------#
#[rmote] 远程桌面
[rmote]type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 6090
#[sqlserver]数据库
[sqlserver]type = tcp
local_ip = 127.0.0.1
local_port = 1433
remote_port = 6091
#[file]文件
[file]type = tcp
local_ip = 127.0.0.1
local_port = 445
remote_port = 6092
注意:
使用远程桌面需要开启windows远程控制功能,且保证3389端口开放;文件功能需要启用windows的smb服务,并开放445端口,sqlserver配置可以自行练习(是在不会的可以私信我)
3.启动服务
按住win+R输入cmd,跳转到下载解压的文件夹(也可以直接在文件夹上方输入cmd)
cd E:\frp_0.48.0_windows_386 # 路径改成自己的
./frpc.exe -c frpc.ini
4.设置系统自动启动
-
第一种方式:通过系统自带的任务计划程序
在搜索中输入计算机管理,找到任务计划程序,创建任务,然后按照视频所操作那样创建自己的启动程序。
第二种方式:通过脚本启动
复制以下内容到记事本,保存后,修改文件后缀名为bat文件(注意需要按照自己的路径进行)
@echo off
cd /E
cd "E:\frp_0.48.0_windows_386"
frpc -c frpc.ini
然后在搜索中输入编辑组策略,找到计算机配置—Windows设置—脚本(启动/关机)—启动,将编写好的脚本添加进去
2、本站永久网址:https://www.xheishou.com
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
暂无评论内容