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.pswp.cn/news/35765.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/35765.shtml
英文地址,請注明出處:http://en.pswp.cn/news/35765.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

docker 鏡像的導出與導入 save 與 load

一、鏡像導出 docker save 導出 將系統中的鏡像保存為壓縮包,進行文件傳輸。使用 docker save --help 查看命令各參數,或者去docker官網查看.以 hello-world鏡像為例。 A:將鏡像保存為tar包 docker save image > package.tar docker sa…

day9 10-牛客67道劍指offer-JZ66、19、20、75、23、76、8、28、77、78

文章目錄 1. JZ66 構建乘積數組暴力解法雙向遍歷 2. JZ19 正則表達式匹配3. JZ20 表示數值的字符串有限狀態機遍歷 4. JZ75 字符流中第一個不重復的字符5. JZ23 鏈表中環的入口結點快慢指針哈希表 6. JZ76 刪除鏈表中重復的結點快慢指針三指針如果只保留一個重復結點 7. JZ8 二…

gitblit-使用

1.登入GitBlit服務器 默認用戶和密碼: admin/admin 2.創建一個新的版本庫 點擊圖中的“版本庫”,然后點擊圖中“創建版本庫” 填寫名稱和描述,注意名稱最后一定要加 .git選擇限制查看、克隆和推送勾選“加入README”和“加入.gitignore文件”在圖中的1處…

使用IIS服務器部署Flask python Web項目

參考文章 ""D:\Program Files (x86)\Python310\python310.exe"|"D:\Program Files (x86)\Python310\lib\site-packages\wfastcgi.py"" can now be used as a FastCGI script processor參考文章 請求路徑填寫*,模塊選擇FastCgiModule&…

一鍵部署 Umami 統計個人網站訪問數據

談到網站統計,大家第一時間想到的肯定是 Google Analytics。然而,我們都知道 Google Analytics 會收集所有用戶的信息,對數據沒有任何控制和隱私保護。 Google Analytics 收集的指標實在是太多了,有很多都是不必要的,…

Javascript 深入了解map

map() 是 JavaScript 數組提供的一個高階函數,它用于對數組中的每個元素執行指定的函數,并返回一個新的數組,新數組中的元素是原數組中的每個元素經過函數處理后的結果。 map() 函數的語法如下: javascript array.map(callback(…

Multi-object navigation in real environments using hybrid policies 論文閱讀

論文信息 題目:Multi-object navigation in real environments using hybrid policies 作者:Assem Sadek, Guillaume Bono 來源:CVPR 時間:2023 Abstract 機器人技術中的導航問題通常是通過 SLAM 和規劃的結合來解決的。 最近…

優化堆排序(Java 實例代碼)

目錄 優化堆排序 Java 實例代碼 src/runoob/heap/HeapSort.java 文件代碼: 優化堆排序 上一節的堆排序,我們開辟了額外的空間進行構造堆和對堆進行排序。這一小節,我們進行優化,使用原地堆排序。 對于一個最大堆,首…

【設計模式】-策略模式:優雅處理條件邏輯

Java 策略模式之優雅處理條件邏輯 前言 在軟件開發中,我們經常會遇到根據不同的條件執行不同邏輯的情況。這時,策略模式是一種常用的設計模式,能夠使代碼結構清晰、易于擴展和維護。 本文將詳細介紹策略模式的概念及其在Java中的應用&#x…

flume系列之:監控Systemctl托管的flume agent組

flume系列之:監控Systemctl托管的flume agent組 一、需求背景二、相關技術博客三、遠程登陸flume機器四、發送飛書告警五、監控flume agent組狀態一、需求背景 flume接kafka集群,一個kafka集群對應一個flume agent組,會把一組flume agent用systemctl托管每接一個kafka集群會…

pytest 編寫規范

一、pytest 編寫規范 1、介紹 pytest是一個非常成熟的全功能的Python測試框架,主要特點有以下幾點: 1、簡單靈活,容易上手,文檔豐富;2、支持參數化,可以細粒度地控制要測試的測試用例;3、能夠…

差分升級在物聯網水表上的實現與應用(學習)

摘要 當越來越多的物聯網水表加入抄表系統后,實現了水表數據的信息化,并且當水表終端需要技術更新時,通過網絡方式來升級產品可以高效修復設備面臨的問題,減少用戶損失,降低維護成本,但同時也對有限的網絡…

遍歷集合List的五種方法以及如何在遍歷集合過程中安全移除元素

一、遍歷集合List的五種方法 測試數據 List<String> list new ArrayList<>(); list.add("A");list.add("B");list.add("C");1. 普通for循環 普通for循環&#xff0c;通過索引遍歷 for (int i 0; i < list.size(); i) {Syst…

form中表單切換,導致 relus 中的事件無法觸發,原因:頁面切換不要一直切換DOM,會導致問題,需要都顯示出來

修改前&#xff0c;因為重復渲染DOM導致綁定rules失效 修改前代碼使用 computed 計算出渲染的DOM&#xff0c;影響rules事件<el-formref"form"inline:model"billDetailCopy":rules"rules"size"small"label-position"right&quo…

selenium官網文檔閱讀總結(day 4)

1.selenium的工作原理 selenium的工作原理涉及以下主要組件和步驟&#xff1a; &#xff08;1&#xff09;WebDriver:這是selenium的核心組件&#xff0c;它是一個用于控制瀏覽器的API。WebDriver提供了許多方法&#xff0c;用于在瀏覽器中模擬用戶操作。不同的瀏覽器需要相應…

掌握Python的X篇_39_繼承

本篇將會是本專欄關于python基本語法的最后一個知識點&#xff0c;后期將會談python&#xff0c;就會介紹使用python專題&#xff0c;例如&#xff1a;做爬蟲、有架構的網站。 文章目錄 1. 為什么需要繼承2. 繼承的基本概念3. python中繼承的基礎語法4. 總結 1. 為什么需要繼承…

NLP語言模型概覽

語言模型結構分類 Encoder-Decoder&#xff08;Transformer&#xff09;: Encoder 部分是 Masked Multi-Head Self-Attention&#xff0c;Decoder 部分是 Casual Multi-Head Cross-Attention 和 Casual Multi-Head Self-Attention 兼具。比如T5&#xff0c;BART&#xff0c;MA…

騰訊云輕量服務器和云服務器的CPU處理器有差別嗎?

騰訊云輕量應用服務器和CVM云服務器的CPU處理器性能有差別嗎&#xff1f;創建輕量應用服務器時不支持指定底層物理服務器的CPU型號&#xff0c;騰訊云將隨機分配滿足套餐規格的物理CPU型號&#xff0c;通常優先選擇較新代次的CPU型號。而云服務器CVM的CPU處理器型號、主頻都是有…

JAVA設計模式----原型設計模式

文章目錄 一、簡介二、實現方式三、原型模式的注意事項淺拷貝與深拷貝淺拷貝深拷貝一、簡介 定義:用原型實例指定創建對象的種類,并通過拷貝這些原型創建新的對象。 類型:創建類模式 類圖: 原型模式主要用于對象的復制,它的核心是就是類圖中的原型類Prototype。Protot…

下載程序到西門子PLC

更多關于西門子S7-200PLC內容請查看&#xff1a;西門子200系列PLC學習課程大綱 下載西門子200PLC程序分以下兩步&#xff1a; 一.編譯程序 1. 如下圖1-1所示&#xff0c;使用PPI電纜將PLC和電腦連接上&#xff0c;注意筆記本使用USB轉PPI電纜&#xff0c;連接保證給PLC單獨供…