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

news2024/12/23 18:34:25

一、服务器的选择

  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
setlocal

set appName=D:\FRP\frpc.exe

echo "Start %appName% ..."
D:\FRP\frpc.exe -c D:\FRP\frpc.ini

endlocal
Pause
exit
  1. win+r,输入gpedit.msc,打开本地组策略编辑器
  2. 选择用户配置–>双击 Windows 设置–>选择脚本(登录/注销)–>双击登录–>选择添加–>选择浏览–>找到刚刚编辑的 frp.bat -->选择打开–>选择确定–>选择确定
  3. 此时重启 Windows 电脑,FRP 客户端即可开机自启

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Axure RP移动端高保真CRM办公客户管理系统原型模板及元件库

Axure RP移动端高保真CRM办公客户管理系统原型模板及元件库,一套典型的移动端办公工具型APP Axure RP原型模板,可根据实际的产品需求进行扩展,也可以作为移动端原型设计的参考案例。为提升本作品参考价值,在模板设计过程中尽量追求…

Docker简介与安装步骤

Docker简介与安装步骤 一、Docker简介 1、是什么? 解决了运行环境和配置问题的软件容器, 方便做持续集成并有助于整体发布的容器虚拟化技术。 问题:为什么会有docker出现 假定您在开发一个项目,您使用的是一台笔记本电脑而且您…

Vue+ElementUI实现选择指定行导出Excel

这里记录一下,今天写项目时 的一个需求,就是通过复选框选中指定行然后导出表格中选中行的Excel表格 然后这里介绍一个工具箱(模板):vue-element-admin 将它拉取后,运行就可以看到如下界面: 这里面的很多功能都已经实现…

【NLP】训练LLM的不同方式

一、说明 在大型语言模型(LLM)领域,有各种各样的 训练机制,具有不同的手段,要求和目标。由于它们服务于不同的目的,因此重要的是不要将它们相互混淆,并了解它们适用的不同场景。 在本文中&#…

Docsify侧边栏多级子目录生成

自动生成 docsify 的 sidebar 和 每个子目录中的 sidebar Docsify 官网 网站的部署 Github Page: 国内访问太慢了. 子目录 - [Java](java/) - [设计模式](设计模式/) - [大数据](大数据/)- [presto](大数据/presto/)- [代码阅读](大数据/presto/代码阅读/)- [服务发现](大…

CSS练习

CSS练习 工具代码运行结果 工具 HBuilder X 代码 <!DOCTYPE html> <!-- 做一个表格&#xff0c;6行4列实现隔行换色&#xff08;背景色&#xff09;并且第3列文字红色第一个单元格文字大小30px。最后一个单元格文字加粗--> <html><head><meta ch…

【LeetCode每日一题】——454.四数相加II

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 哈希表 二【题目难度】 中等 三【题目编号】 454.四数相加II 四【题目描述】 给你四个整数…

深度学习笔记(kaggle课程《Intro to Deep Learning》)

一、什么是深度学习&#xff1f; 深度学习是一种机器学习方法&#xff0c;通过构建和训练深层神经网络来处理和理解数据。它模仿人脑神经系统的工作方式&#xff0c;通过多层次的神经网络结构来学习和提取数据的特征。深度学习在图像识别、语音识别、自然语言处理等领域取得了…

c++ qt(第一部分)

c qt&#xff08;第一部分&#xff09; 一.认识QT 1.什么是QT Qt&#xff08;官方发音 [kju:t]&#xff0c;音同 cute&#xff09;是一个跨平台的 C 开发库&#xff0c;主要用来开发图形用户界面&#xff08;Graphical User Interface&#xff0c;GUI&#xff09;程序&#…

PostgreSQL安装和使用教程

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

阿里云服务器地域怎么选?可以改吗?

阿里云服务器地域和可用区怎么选择&#xff1f;地域是指云服务器所在物理数据中心的位置&#xff0c;地域选择就近选择&#xff0c;访客距离地域所在城市越近网络延迟越低&#xff0c;速度就越快&#xff1b;可用区是指同一个地域下&#xff0c;网络和电力相互独立的区域&#…

基于Java+SpringBoot+vue前后端分离共享汽车管理系统设计实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

NPCon2023 AI模型技术与应用峰会(北京站)--------全链路搭建AI研发底座 参会感受

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

Streamlit项目: 轻松搭建部署个人博客网站

文章目录 1 前言1.1 探索 Streamlit&#xff1a;轻松创建交互式应用1.2 最全 Streamlit 教程专栏 2 我的个人博客网站已上线&#xff01;2.1 一个集成了智能中医舌诊-中e诊专栏的博客网站2.2 前期准备2.3 使用 Streamlit Cloud 运行 3 知识点讲解3.1 实现多页面&#xff1a;两种…

【编程二三事】ES究竟是个啥?

在最近的项目中&#xff0c;总是或多或少接触到了搜索的能力。而在这些项目之中&#xff0c;或多或少都离不开一个中间件 - ElasticSearch。 今天忙里偷闲&#xff0c;就来好好了解下这个中间件是用来干什么的。 ES是什么? ​ ES全称ElasticSearch&#xff0c;是个基于Lucen…

LAXCUS分布式操作系统:技术创新引领高性能计算与人工智能新时代

随着科技的飞速发展&#xff0c;高性能计算、并行计算、分布式计算、大数据、人工智能等技术在各个领域得到了广泛应用。在这个过程中&#xff0c;LAXCUS分布式操作系统以其卓越的技术创新和强大的性能表现&#xff0c;成为了业界的佼佼者。本文将围绕LAXCUS分布式操作系统的技…

j东h5st参数多局部ob加密(js_security_v3_0.1.4.js)加密分析

j东h5st参数多局部多次ob加密&#xff08;js_security_v3_0.1.4.js&#xff09; 大家好呀&#xff0c;我是你们的好兄弟&#xff0c;【星云horseAK】&#xff0c;今天的主题真的是千呼万唤始出来&#xff0c;某东东的h5st参数&#xff0c;这个加密的js文件使用了obfuscator进行…

四位共阴管从上手到搞定

这个图里的1,2,3,4就是公共端&#xff0c;也就是分别管着对应的第1-4位接低电势或者接高电势&#xff08;取决于你买了共阴还是共阳&#xff09;&#xff0c;剩下的a~h就是8个led小管子。 举个形象的例子&#xff0c;比如让第一个位数的b小灯泡亮&#xff0c;可以这么干&…

Unity C# 之 Http 获取网页的 html 数据,并去掉 html 格式等相关信息

Unity C# 之 Http 获取网页的 html 数据&#xff0c;并去掉 html 格式等相关信息 目录 Unity C# 之 Http 获取网页的 html 数据&#xff0c;并去掉 html 格式等相关信息 一、简单介绍 二、实现原理 三、注意事项 四、效果预览 五、关键代码 一、简单介绍 Unity中的一些知…

Streamlit 讲解专栏(八):图像、音频与视频魔法

文章目录 1 前言2 st.image&#xff1a;嵌入图像内容2.1 图像展示与描述2.2 调整图像尺寸2.3 使用本地文件或URL 3 st.audio&#xff1a;嵌入音频内容3.1 播放音频文件3.2 生成音频数据播放 4 st.video&#xff1a;嵌入视频内容4.1 播放视频文件4.2 嵌入在线视频 5 结语&#x…