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
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.mfbz.cn/a/73550.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

工具推荐:Wireshark网络协议分析工具(对比tcpdump)

文章首发地址 Wireshark是一款开源的网络协议分析工具,可以捕获网络数据包并对其进行详细的分析和解释。下面是Wireshark的详细介绍: Wireshark 工作原理 Wireshark通过捕获网络接口上的数据包,将其转换为可读的格式,并在界面…

React入门 jsx学习笔记

一、JSX介绍 概念:JSX是 JavaScript XML(HTML)的缩写,表示在 JS 代码中书写 HTML 结构 作用:在React中创建HTML结构(页面UI结构) 优势: 采用类似于HTML的语法,降低学…

java中右移>>和无符号右移>>>的区别

public static void main(String[] args) {byte[] dest new byte[2];dest[0] 0x15; //0001 0101dest[1] (byte) 0xfb;//1111 1011System.out.println((dest[0] >> 4) & 0xff);//右移 应该是0000 0001 十进制结果显示1 结果也是1,正确System.out.printl…

【Linux命令详解 | chown命令】 chown命令用于修改文件或目录的所有者,常与chmod一起使用

文章标题 简介一,参数列表二,使用介绍1. 更改文件的所有者2. 递归地更改目录及其内容的所有者3. 使用--from参数改变所有者4. 使用--reference参数参考其他文件或目录的所有者5. 获取帮助信息和版本信息 总结 简介 在Linux系统中,chown命令被…

【AI作画】使用Stable Diffusion的艺术二维码完全生成攻略

文章目录 前言Stable Diffusion 简介 什么是云端平台?优势灵活性和可扩展性成本效益高可用性和容错性管理简便性 选择适合的云端平台 平台优势平台操作购买算力并创建工作空间启动工作空间应用市场一键安装 使用Stable-Diffusion作图使用控制网络将文本转图像二维码…

03-基础入门-搭建安全拓展

基础入门-搭建安全拓展 1、涉及的知识点2、常见的问题3、web权限的设置4、演示案例-环境搭建(1)PHPinfo(2)wordpress(3)win7虚拟机上使用iis搭建网站(4)Windows Server 2003配置WEB站…

Tomcat 部署及优化

Tomcat概述 Tomcat 是 Java 语言开发的,Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,是 Apache 软件基金会的 Jakarta 项目中的一个核心项目,由 Apache、Sun 和其他一些公司及个人共同开发而成。在中小型系统和并发访问用户不是很…

深入了解Linux运维的重要性与最佳实践

Linux作为开源操作系统的代表,在企业级环境中的应用越来越广泛。而在保障Linux系统的正常运行和管理方面,Linux运维显得尤为关键。本文将介绍Linux运维的重要性以及一些最佳实践,帮助读者更好地了解和掌握Linux系统的运维技巧。 首先&#xf…

实验二十八、三角波发生电路参数的确认

一、题目 利用 Multisim 确定图1所示电路中各元件的参数,使输出电压的频率为 500 Hz 500\,\textrm{Hz} 500Hz、幅值为 6 V 6\,\textrm{V} 6V 的三角波。 图 1 三角波发生电路 图1\,\,三角波发生电路 图1三角波发生电路 2、仿真电路 A 1 \textrm A_1 A1​ 采用…

三维模型OSGB格式轻量化在三维展示效果上的重要性探讨

三维模型OSGB格式轻量化在三维展示效果上的重要性探讨 三维模型在展示中的效果是十分关键的,因为它直接影响用户对模型的理解和体验。而OSGB格式轻量化是实现优质三维展示效果的关键技术之一。下面将详细介绍轻量化OSGB格式的三维模型在三维展示效果上的重要性。 首…

什么是抖音SEO,如何做好抖音短视频的SEO优化?

抖音SEO,全称是抖音搜索引擎优化,指的是在了解抖音搜索引擎自然排名机制及算法的基础上,对视频内容进行调整优化,让其排名靠前,从而增加用户点击的概率,达到排名和营销目的。 1、了解算法规则 每个平台都…

mclust学习总结

mclust example1 import numpy as np import pandas as pd from matplotlib import pyplot as plt from sklearn.datasets import make_blobs X, y make_blobs(n_samples300, centers4, cluster_std0.60, random_state0) # n_features2是默认的 plt.scatter(X[:,0], X[:,1]) …

微信小程序实现双向滑动快捷选择价格(价格区间)

实现样子 提示:效果可以自己自定义,自己将文字样式更改为自己项目属性即可 实现达到方法 1、左边为最低价,右边为最高价格,可以拖动左边最低价选择价格。拖动右边为最高价。 2、当两个价格重合时,继续拖动&#xff0…

leetcode 面试题 02.05 链表求和

⭐️ 题目描述 🌟 leetcode链接:面试题 02.05 链表求和 ps: 首先定义一个头尾指针 head 、tail,这里的 tail 是方便我们尾插,每次不需要遍历找尾,由于这些数是反向存在的,所以我们直接加起来若…

15个免费的图标素材网站推荐

想象力没有限制。你在寻找下载免费矢量图标网站吗?本文为需要使用各种图标美化网页布局和界面设计,简单提升更好用户体验的设计师提供了15个矢量图标网站。 1.即时设计资源社区 即时设计是国内一款专业级的 UI 设计工具,像 PC 端的网页&…

打造数字化营销闭环,破解精准获客难题

现阶段,企业需要进行数字化营销闭环,以实现更精确的客户获取。随着数字技术的迅猛发展,企业需要将在线广告、社交媒体营销和数据分析等工具相互结合,建立一个完整的数字化营销流程。通过使用客户细分、精准定位和个性化广告等手段…

SpringBoot中间件使用之EventBus、Metric、CommandLineRunner

1、EventBus 使用EventBus 事件总线的方式可以实现消息的发布/订阅功能,EventBus是一个轻量级的消息服务组件,适用于Android和Java。 // 1.注册事件通过 EventBus.getDefault().register(); // 2.发布事件 EventBus.getDefault().post(“事件内容”); …

Leetcode-每日一题【剑指 Offer 24. 反转链表】

题目 定义一个函数&#xff0c;输入一个链表的头节点&#xff0c;反转该链表并输出反转后链表的头节点。 示例: 输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL 限制&#xff1a; 0 < 节点个数 < 5000 解题思路 1.题目要求我们反转…

【MAC】 M2 brew安装 docker 运行失败 解决

MAC 安装 brew install --cask docker 之后一直显示docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?. 网上看了一些文章 发现 这个不适用于M2 所以要从官网上下载 docker 安装成功

软考:中级软件设计师:文件管理,索引文件结构,树型文件结构,位示图,数据传输方式,微内核

软考&#xff1a;中级软件设计师: 提示&#xff1a;系列被面试官问的问题&#xff0c;我自己当时不会&#xff0c;所以下来自己复盘一下&#xff0c;认真学习和总结&#xff0c;以应对未来更多的可能性 关于互联网大厂的笔试面试&#xff0c;都是需要细心准备的 &#xff08;1…