X黑手网
X黑手网
X黑手网

服务器搭建属于自己的内网穿透服务

前言

服务器搭建属于自己的内网穿透服务-随时随地访问自己的桌面、文件、数据库等

最近刚好需要远访问远程主机的桌面和文件,但远程主机没有固定ip,不能直接访问。此时就想到用FRP。

FRP是一种内网穿透技术,能够让外网用户访问内网服务器,而不需要对外网做任何端口映射和转发。支持 TCP , UDP , HTTP , HTTPS 协议。目前国内已经有许多软件能够提供内网穿透,不过大部分软件提供服务类型有限,且会限速或者强制更换ip。

今天教大家用服务器部署属于自己的内网穿透服务,随时随地访问自己的服务。

注意:如果在没有做好安全措施的情况下将内网服务器暴露在外网,会将自己的个人信息置于不安全的环境,特别是一些NAS,采用的系统被暴出有较多的漏洞,所以在做内网穿透前,一定要做好足够的安全评估。

相关地址

官方文档地址:https://gofrp.org/docs/concepts/

GitHub官方仓库:https://github.com/fatedier/frp

搭建环境

  • 服务器:搭建用的是微软云的新加坡机器(如果自己搭建建议服务器延迟不要太高),不建议用国内的服务器

  • 系统:Debian 11

  • 【非必需】一个域名,并做好解析到服务器上

5 搭建过程

5.1 公网服务端设置

  1. 确定服务器位数

getconf LONG_BIT

image

       Linux返回的结果如果是64,说明linux系统属于64位;返回32,系统属于32位。

  1. 下载相匹配FRP版本并解压

FRP 项目软件包下载地址:https://github.com/fatedier/frp/releases

image

 

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_* # 删除不必要文件

image

 

3.编辑公网服务端配置文件 frps.ini

在配置之前确定自己的服务器防火墙打开对应端口,且检查端口是否被占用

lsof -i:7000  #查看 7000 端口是否被占用,如果被占用,重新自定义一个端口

image

 

如果啥也没出现,表示端口未被占用,我们可以继续下面的操作了~

如果出现:

-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

image

 

运行frps的服务端

./frps -c frps.ini

image

 

出现【Start frps success】代表运行成功。此时访问 x.x.x.x:7500 (域名加端口)并使用自己设置的用户名密码登录,即可看到仪表板界面

image

 

如果出现错误提示,请检查上面的步骤。

4.服务端后台运行

上面服务端仅运行在前台,如果Ctrl+C停止或者关闭SSH窗口后,frps 均会停止运行,因而我们使用 nohup命令 将其运行在后台。

nohup ./frps -c frps.ini &

image

 

显示【nohup: ignoring input and appending output to ‘nohup.out’】内容即表示正常运行。

此时可先使用 Ctrl+C 关闭nohup,frps依然会在后台运行,使用 jobs 命令查看后台运行的程序

5.停止 frps

ps -ef |grep frps
kill -9 117586 #改成你查询到的uid

image

 

5.2 客户端设置(windows)

  1. 确定系统版本,下载相匹配FRP版本并解压

    本地如果不能访问github,可以从链接进行下载https://wwlz.lanzoue.com/b0487rl1e密码:exed

  2. 编辑客户端配置文件 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配置可以自行练习(是在不会的可以私信我)

image

 

   3.启动服务

按住win+R输入cmd,跳转到下载解压的文件夹(也可以直接在文件夹上方输入cmd)

cd E:\frp_0.48.0_windows_386 # 路径改成自己的
./frpc.exe -c frpc.ini

image

 

     4.设置系统自动启动

  • 第一种方式:通过系统自带的任务计划程序

    在搜索中输入计算机管理,找到任务计划程序,创建任务,然后按照视频所操作那样创建自己的启动程序。

image

第二种方式:通过脚本启动

复制以下内容到记事本,保存后,修改文件后缀名为bat文件(注意需要按照自己的路径进行)

@echo off
cd /E
cd "E:\frp_0.48.0_windows_386"
frpc -c frpc.ini

然后在搜索中输入编辑组策略,找到计算机配置—Windows设置—脚本(启动/关机)—启动,将编写好的脚本添加进去

image

© 版权声明
THE END
喜欢就支持一下吧
点赞10赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容