NAS搭建指南一——服务器的选择与搭建

一、服务器的选择

  1. 有自己的本地的公网 IP 的请跳过此篇文章
  2. 按需求选择一个云服务器,目的就是为了进行 frp 的搭建,完成内网穿透
  3. 我选择的是腾讯云服务器,我的配置如下,仅供参考:
    在这里插入图片描述
    4. 腾讯云服务器官网地址

二、服务器的一些配置

1. 使用 root 权限登录

  1. 根据服务器提供的方式,在网页上登录服务器,进入命令终端
  2. 终端输入sudo passwd root,设置 root 密码
  3. 输入 root 的密码,按 Enter
  4. 重复输入 root 的密码,按 Enter
  5. 返回如下信息,即表示 root 密码设置成功
    passwd: password updated successfully
  6. 终端输入sudo vi /etc/ssh/sshd_config ,打开 sshd_config 配置文件
  7. /切换搜索模式,输入Authentication,并按 Enter 查找下文:
# Authentication:#LoginGraceTime 2m
#PermitRootLogin prohibit-password
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
  1. i切换至编辑模式,将PermitRootLogin参数修改为yes,并删除#注释符,修改后如下所示:
#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
  1. Esc,输入:wq,保存文件并返回
  2. 执行命令sudo service ssh restart,重启 ssh 服务

2. PuTTY

  1. PuTTY 是一款Windows的一个免费的 SSH 和 Telnet 客户端,用于远程登录和管理远程计算机
  2. PuTTY 官网地址
  3. 下载安装过程:略
  4. 根据服务器提供的方式,在网页上登录服务器,进入命令终端(root账户登录)
  5. 服务器中生成 SSH KEY:执行命令ssh-keygen,一路回车即可
  6. 生成的 SSH KEY 保存在 /root/.ssh
  7. 安装 putty 工具:执行命令apt-get install putty-tools
  8. 将 SSH KEY 转化成 PUTTY KEY:执行命令puttygen ~/.ssh/id_rsa -o ~/.ssh/id.ppk
  9. 修改 authorized_keys:执行命令cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  10. 执行命令sudo service ssh restart,重启 ssh 服务
  11. 下载 id.ppk 到本地 Windows 电脑
  12. Windows 电脑上打开 PuTTY,点击 Connection --> Seconds between keepalives 填写 10
  13. 点击 Data --> Auto-login username 填写 root -->双击 SSH -->双击 Auth -->点击 Credentials --> private key file for authentication 选择刚刚生成的id.ppk
  14. 点击 Session --> Host Name 填写服务器的 IP 地址–> Port 填写 22 --> Connection type 选择 SSH -->其他配置默认即可 -->点击 Save,保存配置(下一次直接选择保存的配置,点击 load,就可以调出前面设置的所有配置)–>点击 Open -->这样就通过 SSH 连接了服务器

3. WinSCP

  1. WinSCP 是一个免费的开源 SFTP、SCP 和 FTP 客户端,用于在 Windows 操作系统上进行文件传输和管理
  2. WinSCP官网地址
  3. 下载安装过程:略
  4. Windows 电脑上打开 WinSCP,主机名填写服务器地址,用户名填写 root,密码为上面设置的 root 的密码
  5. 点击保存
  6. 点击登录,即可自由使自己的 Windows 电脑与服务器自由传输文件

4. VSCODE

  1. VSCODE 安装步骤:略
  2. 安装插件 Remote - SSH
  3. 点击侧边栏图标如下
    在这里插入图片描述
  4. 点击侧边栏中的“+”
  5. 输入ssh root@服务器地址
  6. 根据弹出的提示,即可连接到云服务器,在本地的电脑上,打开并方便的编辑云服务器上的文件

三、frp的搭建

1. Linux 服务器中服务端的搭建

  1. FRP 官网地址
  2. FRP 的安装及使用文档
  3. FRP 的 GitHub 地址
  4. 服务端我选择搭建在云服务器上(因为它有公网 IP)
  5. 在 GitHub 的下载地址中下载相应的 FTP 安装包
  6. 我选择的是 frp_0.51.2_linux_amd64.tar.gz 与 frp_0.51.2_windows_amd64.zip
  7. 将 frp_0.51.2_linux_amd64.tar.gz 解压,并通过 WinSCP 上传到服务器中
  8. 通过 PuTTY 登录服务器
  9. 将服务器中的 frp_0.51.2_linux_amd64 移动到 frp 文件夹中:执行命令mv /root/frp_0.51.2_linux_amd64 /root/frp
  10. 执行命令rm -rf /root/frp/frpc*,删除客户端内容
  11. 执行命令chmod u+x /root/frp/*,为 FRP 增加可执行权限
  12. 通过 VSCODE 编辑 /root/frp/frps.ini,内容如下:
[common]
# 常用配置
# 服务端监听地址
bind_addr = 0.0.0.0
# 服务端监听端口:接收 frpc 的连接
bind_port = 7000
# 日志文件地址 & 日志等级 & 日志文件保留天数
log_file = ./frps.log
log_level = info
log_max_days = 7
# 服务端和客户端心跳连接的超时时间
heartbeat_timeout = 90
# 鉴权方式
authentication_method = token
# 鉴权使用的 token 值
token = 123456789
# 最大连接池大小
max_pool_count = 5
# 启用 Dashboard 监听的本地地址
dashboard_addr = 0.0.0.0
# 启用 Dashboard 监听的本地端口
dashboard_port = 7500
# HTTP BasicAuth 用户名
dashboard_user = root
# HTTP BasicAuth 密码
dashboard_pwd = 123456# 基础配置
# 服务端监听 KCP 协议端口
kcp_bind_port = 0
# 服务端监听 QUIC 协议端口
quic_bind_port = 0
# quic 协议 keepalive 间隔,单位: 秒
quic_keepalive_period = 10
# quic 协议的最大空闲超时时间,单位: 秒
quic_max_idle_timeout = 30
# quic 协议最大并发 stream 数
quic_max_incoming_streams = 100000
# 代理监听地址
# proxy_bind_addr = 0.0.0.0
# 禁用标准输出中的日志颜色
disable_log_color = false
# 服务端返回详细错误信息给客户端
detailed_errors_to_client = true
# tcp_mux 的心跳检查间隔时间
tcp_mux_keepalive_interval = 60
# 和客户端底层 TCP 连接的 keepalive 间隔时间,单位秒
tcp_keepalive = 7200
# 用户建立连接后等待客户端响应的超时时间
user_conn_timeout = 10
# 代理 UDP 服务时支持的最大包长度
udp_packet_size = 1500
# TLS 服务端证书文件路径
# tls_cert_file = 
# TLS 服务端密钥文件路径
# tls_key_file = 
# TLS CA 证书路径
# tls_trusted_ca_file = 
# 打洞策略数据的保留时间
nat_hole_analysis_data_reserve_hours = 168# 权限验证
# 开启心跳消息鉴权
authenticate_heartbeats = false
# 开启建立工作连接的鉴权
authenticate_new_work_conns = false# 管理配置
# 允许代理绑定的服务端端口
# allow_ports = 1000-2000,2001,3000-4000
# 限制单个客户端最大同时存在的代理数   0 表示没有限制
max_ports_per_client = 0
# 只接受启用了 TLS 的客户端连接
tls_only = false# Dashboard, 监控
# 是否启用 TLS 模式
dashboard_tls_mode = false
# TLS 证书文件路径
# dashboard_tls_cert_file = 
# TLS 密钥文件路径
# dashboard_tls_key_file = 
# 是否提供 Prometheus 监控接口   需要同时启用了 Dashboard 才会生效
enable_prometheus = false
# 静态资源目录   Dashboard 使用的资源默认打包在二进制文件中,通过指定此参数使用自定义的静态资源
# asserts_dir = 
# 启动 Go HTTP pprof   用于应用调试
pprof_enable = false# HTTP & HTTPS
# 为 HTTP 类型代理监听的端口   启用后才支持 HTTP 类型的代理,默认不启用
vhost_http_port = 0
# 为 HTTPS 类型代理监听的端口   启用后才支持 HTTPS 类型的代理,默认不启用
vhost_https_port = 0
# HTTP 类型代理在服务端的 ResponseHeader 超时时间
vhost_http_timeout = 60
# 二级域名后缀
# subdomain_host = 
# 自定义 404 错误页面地址
# custom_404_page = # TCPMUX
# 为 TCPMUX 类型代理监听的端口   启用后才支持 TCPMUX 类型的代理,默认不启用
tcpmux_httpconnect_port = 0
# 是否透传 CONNECT 请求   通常在本地服务是 HTTP Proxy 时使用
tcpmux_passthrough = false
  1. 执行命令./frps -c ./frps.ini,启动 FRP 服务端

  2. 登录腾讯云服务器官网–>点击控制台–>点击我的资源中的云服务器–>进入已有实例

  3. 点击安全组–>点击出站规则–>点击编辑规则

  4. 点击入站规则–>点击添加规则

  5. 类型选择自定义–>目标0.0.0.0/0 -->协议端口填写TCP:7000,7500–>策略选择允许–>备注填写FRP–>点击确定完成 FRP 监控面板端口开放,配置如下所示
    在这里插入图片描述

  6. 打开服务器地址:7500,内容如下所示,FRP 服务端配置成功
    在这里插入图片描述

2. 服务端的 FRP 开机自启动

  1. 通过 VSCODE 创建/etc/systemd/system/frps.service,内容如下:
[Unit]
# 服务名称
Description = frp_server
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
  1. 使用 systemd 命令,管理 frps,具体命令如下:
# 启动frp
systemctl start frps
# 停止frp
systemctl stop frps
# 重启frp
systemctl restart frps
# 查看frp状态
systemctl status frps
  1. 配置 frps 开机自启,具体命令如下:
systemctl enable frps

3. Windows 电脑中客户端的搭建

  1. 解压 Windows 版本 FRP 安装包 frp_0.51.2_windows_amd64.zip
  2. 我将所有解压得到的内容移动到目录 D:\FRP
  3. 打开 CMD
  4. 输入以下命令,删除服务端内容:
cd D:\FRP
rm frps*
  1. 通过 VSCODE,编辑D:\FRP\frpc.ini,内容如下:
[common]
# 常用配置
# 服务器 IP 地址
server_addr = xxx.xxx.xxx.xxx
# 连接服务端的端口
server_port = 7000
# 日志文件地址 & 日志等级 & 日志文件保留天数
log_file = ./frpc.log
log_level = info
log_max_days = 7
# tcp_mux 的心跳检查间隔时间,单位:秒
tcp_mux_keepalive_interval = 60
# 向服务端发送心跳包的间隔时间   建议启用 tcp_mux_keepalive_interval,将此值设置为 -1
heartbeat_interval = -1
# 和服务端心跳的超时时间
heartbeat_timeout = 90
# 鉴权方式   需要和服务端一致
authentication_method = token
# 鉴权使用的 token 值   需要和服务端设置一样的值才能鉴权通过
token = 123456789
# 启用 AdminUI 监听的本地地址
admin_addr = 0.0.0.0
# 启用 AdminUI 监听的本地端口
admin_port = 7500
# HTTP BasicAuth 用户名
admin_user = root
# HTTP BasicAuth 密码
admin_pwd = 123456# 基础配置
# xtcp 打洞所需的 stun 服务器地址   stun.easyvoip.com:3478	
# nat_hole_stun_server = 
# 连接服务端时所绑定的本地 IP
# connect_server_local_ip = 
# 连接服务端的超时时间
dial_server_timeout = 10
# 和服务端底层 TCP 连接的 keepalive 间隔时间,单位秒   负数不启用
dial_server_keepalive = 7200
# 连接服务端使用的代理地址   格式为 {protocol}://user:passwd@192.168.1.128:8080 protocol 目前支持 http、socks5、ntlm
# http_proxy = 
# 禁用标准输出中的日志颜色
disable_log_color = false
# 连接池大小
pool_count = 0
# 用户名   设置此参数后,代理名称会被修改为 {user}.{proxyName},避免代理名称和其他用户冲突
# user = Vaciller
# 使用 DNS 服务器地址   默认使用系统配置的 DNS 服务器,指定此参数可以强制替换为自定义的 DNS 服务器地址
# dns_server = 
# 第一次登陆失败后是否退出
login_fail_exit = true
# 连接服务端的通信协议
protocol = tcp
# 协议 keepalive 间隔,单位: 秒
quic_keepalive_period = 10
# quic 协议的最大空闲超时时间,单位: 秒
quic_max_idle_timeout = 30
# quic 协议最大并发 stream 数
quic_max_incoming_streams = 100000
# 启用 TLS 协议加密连接
tls_enable = tool
# TLS 客户端证书文件路径
# tls_cert_file = 
# TLS 客户端密钥文件路径
# tls_key_file = 
# TLS CA 证书路径
# tls_trusted_ca_file = 
# TLS Server 名称   为空则使用 server_addr
# tls_server_name = 
# TLS 不发送 0x17   当为 true 时,不能端口复用
disable_custom_tls_first_byte = true
# 服务时支持的最大包长度   服务端和客户端的值需要一致
udp_packet_size = 1500
# 指定启用部分代理   当配置了较多代理,但是只希望启用其中部分时可以通过此参数指定,默认为全部启用
# start = 
# 附加元数据   会传递给服务端插件,提供附加能力
# meta_xxx = # 权限验证
# 开启心跳消息鉴权   需要和服务端一致
authenticate_heartbeats = false
# 开启建立工作连接的鉴权   需要和服务端一致
authenticate_new_work_conns = false# UI
# 静态资源目录   AdminUI 使用的资源默认打包在二进制文件中,通过指定此参数使用自定义的静态资源
# asserts_dir = 
# 启动 Go HTTP pprof   用于应用调试
pprof_enable = false
  1. 在 CMD 中执行命令./frpc -c ./frpc.ini,启动客户端
  2. 打开Windows IP:7500/,内容如下所示,FRP 客户端配置成功
    在这里插入图片描述
  3. 具体需要详细进行内网穿透的内容与配置,会在后文中进行详细说明

4. 客户端的 FRP 开机自启动

  1. 通过 VSCODE,编辑D:\FRP\frp.bat,内容如下:
@echo off
setlocalset appName=D:\FRP\frpc.exeecho "Start %appName% ..."
D:\FRP\frpc.exe -c D:\FRP\frpc.iniendlocal
Pause
exit
  1. win+r,输入gpedit.msc,打开本地组策略编辑器
  2. 选择用户配置–>双击 Windows 设置–>选择脚本(登录/注销)–>双击登录–>选择添加–>选择浏览–>找到刚刚编辑的 frp.bat -->选择打开–>选择确定–>选择确定
  3. 此时重启 Windows 电脑,FRP 客户端即可开机自启

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/89415.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络实验4:HTTP、DNS协议分析

文章目录 1. 主要教学内容2. HTTP协议3. HTTP分析实验【实验目的】【实验原理】【实验内容】【实验思考】 4. HTTP分析实验可能遇到的问题4.1 捕捉不到http报文4.2 百度是使用HTTPS协议进行传输4.3 Wireshark获得数据太多如何筛选4.4 http报文字段含义不清楚General&#xff08…

Oracle-如何判断字符串包含中文字符串(汉字),删除中文内容及保留中文内容

今天遇见一个问题需要将字段中包含中文字符串的筛选出来 --建表 CREATE TABLE HADOOP1.AAA ( ID VARCHAR2(255) ); --添加字段INSERT INTO HADOOP1.AAA(ID)VALUES(理解);....--查询表内容SELECT * FROM HADOOP1.AAA;在网上查找了一下有以下三种方式: 第一种&#…

安全远控如何设置?揭秘ToDesk、TeamViewer 、向日葵安全远程防御大招

写在前面一、远程控制:安全性不可忽略二、远控软件安全设置实测◉ ToDesk◉ TeamViewer◉ 向日葵 三、远控安全的亮点功能四、个人总结与建议 写在前面 说到远程办公,相信大家都不陌生。远程工作是员工在家中或者其他非办公场所上班的一种工作模式&…

每天一道leetcode:712. 两个字符串的最小ASCII删除和(动态规划中等)

今日份题目: 给定两个字符串s1 和 s2,返回 使两个字符串相等所需删除字符的 ASCII 值的最小和 。 示例1 输入: s1 "sea", s2 "eat" 输出: 231 解释: 在 "sea" 中删除 "s" 并将 "s" 的值(115)加入…

【Quarkus技术系列】打造基于Quarkus的云原生微服务框架实践(1)

前提介绍 本系列文章主要讲解如何基于Quarkus技术搭建和开发"专为Kubernetes而优化的Java微服务框架"的入门和实践,你将会学习到如何搭建Quarkus微服务脚环境及脚手架,开发Quarkus的端点服务,系统和应用层级的配置介绍与Quarkus的…

【MongoDB】数据库、集合、文档常用CRUD命令

目录 一、数据库操作 1、创建数据库操作 2、查看当前有哪些数据库 3、查看当前在使用哪个数据库 4、删除数据库 二、集合操作 1、查看有哪些集合 2、删除集合 3、创建集合 三、文档基本操作 1、插入数据 2、查询数据 3、删除数据 4、修改数据 四、文档分页查询 …

三维可视化平台有哪些?Sovit3D可视化平台怎么样?

随着社会经济的发展和数字技术的进步,互联网行业发展迅速。为了适应新时代社会发展的需要,大数据在这个社会经济发展过程中随着技术的进步而显得尤为重要。同时,大数据技术的快速发展进程也推动了可视化技术的飞速发展,国内外各类…

【Sklearn】基于随机森林算法的数据分类预测(Excel可直接替换数据)

【Sklearn】基于随机森林算法的数据分类预测(Excel可直接替换数据) 1.模型原理1.1 模型原理1.2 数学模型 2.模型参数3.文件结构4.Excel数据5.下载地址6.完整代码7.运行结果 1.模型原理 随机森林(Random Forest)是一种集成学习方法…

flutter开发实战-实现左右来回移动的按钮引导动画效果

flutter开发实战-实现左右来回移动的按钮引导动画效果 最近开发过程中需要实现左右来回移动的按钮引导动画效果 一、动画 AnimationController用来控制一个或者多个动画的正向、反向、停止等相关动画操作。在默认情况下AnimationController是按照线性进行动画播放的。Animati…

五个独特且有趣的ChatGPT指令

今天分享5个很实用的指令,这几个指令很多时候对我们输出内容的连贯性、文章风格、创意性等方面有着决定性的作用。 目录 第一个:Max tokens(最大令牌) 第二个:Top_p(控制采样) 第三个:Presence_penalty …

draw.io画图时,用一个箭头(线段)连结一个矩形和直线时,发现,无论怎么调节,都无法使其无缝连接。

问题描述:draw.io画图时,用一个箭头(线段)连结一个矩形和直线时,发现,无论怎么调节,都无法使其无缝连接。要么少一段,如图1所示。要么多一段,如图2所示。 图1&#xff0c…

卫星--夏令营

几何问题:就是用几何数学知识解题即可 但是越是数学编程题,越容易忽略数学题中的细节 1.地球半径你算进去了吗? 2.sin三角函数,M_PI标准圆周率在cmath文件里 3.有可能给出的夹角超过180呢,没给数据要求,就要自己考…

在生产环境中部署Elasticsearch:最佳实践和故障排除技巧———索引与数据上传(二)

前言 「作者主页」:雪碧有白泡泡 「个人网站」:雪碧的个人网站 「推荐专栏」: ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄,vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff…

使用阿里云服务器搭建Discuz论坛网站教程基于CentOS系统

阿里云百科分享使用阿里云服务器建站教程,本文是搭建Discuz论坛,Discuz!是一款通用的社区论坛软件系统,它采用PHP和MySQL组合的基础架构,为您提供高效的论坛解决方案。本文介绍如何在CentOS 7操作系统的ECS实例上搭建Discuz! X3.4…

JAVA宝典----输入输出流(理解记忆)

目录 一、 Java IO流的实现机制是什么? 二、Java中有几种类型的流? 三、管理文件和目录的类是什么? 四、Java Socket是什么? 五、什么是 JAVA NIO? 六、 什么是Java序列化? (1)序…

连续两年增收不增利,比亚迪电子靠新能源汽车业务再次起飞?

在净利润连续两年下挫之后,比亚迪电子(00285.HK)终于迎来了好消息。 不久前比亚迪电子发布2023年中期盈利预告显示,上半年净利润同比增加115%-146%(2022年上半年的净利润显示6.34亿元)。 这主要受益于大客…

tomcat多实例与动静分离

实验:在一台虚拟机上配置多台tomcat 1.配置 tomcat 环境变量 vim /etc/profile.d/tomcat.sh source /etc/profile.d/tomcat.sh 2.修改 tomcat2 中的 server.xml 文件,要求各 tomcat 实例配置不能有重复的端口号 vim /usr/local/tomcat/tomcat2/conf/…

山东布谷科技直播平台搭建游戏开发技术分享:数据存储的重要意义

在市场上的热门的直播平台中,有很多小程序为用户提供各种各样的功能,这其中就有很多游戏小程序,当今社会独生子女众多,很多作为独生子女的用户都会去选择一个能够社交互动的APP来填补内心的空虚,而直播平台的实时互动的…

Node.js学习笔记-04

这第九章也是个大重点 九、玩转进程 Node在选型时决定在V8引擎之上构建,也就意味着它的模型与浏览器类似。 本章关于进程的介绍和讨论将会解决如下两个问题: 单进程单线程并非完美,如今CPU基本均是多核的,真正的服务器&#xf…

MySQL 8 group by 报错 this is incompatible with sql_mode=only_full_group_by

文章目录 sql_mode配置ONLY_FULL_GROUP_BYSTRICT_TRANS_TABLESNO_ZERO_IN_DATENO_ZERO_DATEERROR_FOR_DIVISION_BY_ZERONO_AUTO_CREATE_USERNO_ENGINE_SUBSTITUTION 局部修改配置windows修改配置Linux修改配置 sql_mode配置 ONLY_FULL_GROUP_BY 用于控制是否允许对查询结果进…