實戰:FRP內網穿透部署-支持ssh、web訪問

目錄

    • 1 準備工作
      • 2 公網服務器部署server端
        • 2.1 frps.ini配置
      • 3 內網客戶端部署client端
        • 3.1 frpc.ini配置(內網服務器01)
        • 3.2 frpc.ini配置(內網服務器02)
      • 4 服務啟動腳本
        • 4.1 公網服務器 server
        • 4.2 內網服務器 client
    • 2 systemctl常見命令
    • 3 FRP監控頁面查看

1 準備工作

  • linux系統
  • frp 0.48版本,下載鏈接
  • 1臺具有公網IP訪問的服務器
  • 2臺內網服務器

2 公網服務器部署server端

  • 目錄 /opt/frp
    在這里插入圖片描述
2.1 frps.ini配置
[common]
# FRP 服務端監聽的端口,用于與客戶端通信
bind_port = 7070# 啟用狀態監控(可選)
dashboard_port = 7550
dashboard_user = admin
dashboard_pwd = admin

3 內網客戶端部署client端

  • 目錄 /opt/frp
  • 同一個frp壓縮包解壓后的東西,與server端一樣
    在這里插入圖片描述
3.1 frpc.ini配置(內網服務器01)
[common]
#server地址,公網地址
server_addr = xxx.xxx.xxx.xxx
#server端口
server_port = 7070[服務器01]
#一般tcp就行了
type = tcp
#綁定的ip,通常是本機,也可以是局域網的地址
local_ip = 127.0.0.1
#ssh的服務就22端口,也可以轉發到其他端口,實現遠程訪問mysql、web之類的
local_port = 22
#要綁定的遠程機器的端口,有防火墻的記得放行
remote_port = 21001[web01]
#一般tcp就行了
type = tcp
#綁定的ip,通常是本機,也可以是局域網的地址
local_ip = 127.0.0.1
#web
local_port = 7777
#要綁定的遠程機器的端口,有防火墻的記得放行
remote_port = 27777
3.2 frpc.ini配置(內網服務器02)
[common]
#server地址,公網地址
server_addr = xxx.xxx.xxx.xxx
#server端口
server_port = 7070[服務器01]
#一般tcp就行了
type = tcp
#綁定的ip,通常是本機,也可以是局域網的地址
local_ip = 127.0.0.1
#ssh的服務就22端口,也可以轉發到其他端口,實現遠程訪問mysql、web之類的
local_port = 22
#要綁定的遠程機器的端口,有防火墻的記得放行
remote_port = 21002

4 服務啟動腳本

  • 為了讓 FRP 服務端和客戶端在系統重啟后自動啟動,可以將其配置為系統服務。
4.1 公網服務器 server
  • 創建系統服務文件
sudo nano /etc/systemd/system/frps.service
  • 添加以下內容
[Unit]
# 服務名稱,可自定義
Description = frp server
After = network.target syslog.target
Wants = network.target[Service]
Type = simple
# 啟動frps的命令,需修改為您的frps的安裝路徑
ExecStart = /opt/frp/frps -c /opt/frps.ini
Restart=always
RestartSec=5
StartLimitInterval=0[Install]
WantedBy = multi-user.target
  • 啟動服務
sudo systemctl enable frps
sudo systemctl start frps
4.2 內網服務器 client
  • 兩臺服務器操作一樣
  • 創建系統服務文件
sudo nano /etc/systemd/system/frpc.service
  • 添加以下內容
[Unit]
# 服務名稱,可自定義
Description = frp server
After = network.target syslog.target
Wants = network.target[Service]
Type = simple
# 啟動frps的命令,需修改為您的frps的安裝路徑
ExecStart = /opt/frp/frpc -c /opt/frpc.ini
Restart=always
RestartSec=5
StartLimitInterval=0[Install]
WantedBy = multi-user.target
  • 啟動服務
sudo systemctl enable frpc
sudo systemctl start frpc

2 systemctl常見命令

# 重新加載 systemd 管理的服務配置文件
sudo systemctl daemon-reload
# 啟動 FRP 客戶端服務
sudo systemctl start frpc
# 啟用 FRP 客戶端的開機自啟動。
sudo systemctl enable frpc
# 停止 FRP 客戶端服務。
sudo systemctl stop frpc
# 重啟 FRP 客戶端服務。
sudo systemctl restart frpc
# 查看 FRP 客戶端狀態
sudo systemctl status frpc
# 查看 FRP 客戶端日志
sudo journalctl -u frpc

3 FRP監控頁面查看

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/66173.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/66173.shtml
英文地址,請注明出處:http://en.pswp.cn/web/66173.shtml

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

相關文章

Uniapp中實現加載更多、下拉刷新、返回頂部功能

一、加載更多: 在到達底部時,將新請求過來的數據追加到原來的數組即可: import {onReachBottom } from "dcloudio/uni-app";const pets ref([]); // 顯示數據function network() {uni.request({url: "https://api.thecatap…

C# 多線程 Task TPL任務并行

先總結一下 之前發展過程的要點 1: 為了保證多線程正確順序執行 線程同步 2: 為了節省操作系統線程資源 線程池 異步 方式管理 正常來講 使用這倆個要點 進行使用 多線程可以滿足開發使用需求 但是 新的問題產生了 那就是 多個異步操作 需要編寫大量的代…

C++單例模式的設計

單例模式(Singleton Pattern)是一種設計模式,用于確保一個類只有一個實例,并提供一個全局訪問點來訪問該實例。在C中,單例模式通常用于管理全局資源或共享狀態。 以下是C中實現單例模式的幾種常見方式: 懶…

HBASE學習(一)

1.HBASE基礎架構, 1.1 參考: HBase集群架構與讀寫優化:理解核心機制與性能提升-CSDN博客 1.2問題: 1.FLUSH對hbase的影響 2. HLog和memstore的區別 hlog中存儲的是操作記錄,比如寫、刪除。而memstor中存儲的是寫入…

Flutter:封裝ActionSheet 操作菜單

演示效果圖 action_sheet_util.dart import package:ducafe_ui_core/ducafe_ui_core.dart; import package:flutter/material.dart; import package:demo/common/index.dart;class ActionSheetUtil {/// 底部操作表/// [context] 上下文/// [title] 標題/// [items] 選項列表 …

【Rust練習】28.use and pub

練習題來自:https://practice-zh.course.rs/crate-module/use-pub.html 1 使用 use 可以將兩個同名類型引入到當前作用域中,但是別忘了 as 關鍵字. use std::fmt::Result; use std::io::Result;fn main() {}利用as可以將重名的內容取別名:…

Nginx 可觀測性最佳實踐

Nginx 介紹 Nginx 是一個開源、輕量級、高性能的 HTTP 和反向代理服務器,也可以用于 IMAP/POP3 代理服務器。Nginx 因其采用的異步非阻塞工作模型,使其具備高并發、低資源消耗的特性。高度模塊化設計也使得 Nginx 具備很好的擴展性,在處理靜…

《汽車維護與修理》是什么級別的期刊?是正規期刊嗎?能評職稱嗎?

?問題解答: 問:《汽車維護與修理》是不是核心期刊? 答:不是,是知網收錄的正規學術期刊。 問:《汽車維護與修理》級別? 答:國家級。主管單位:中國汽車維修行業協會 …

PHP智慧小區物業管理小程序

🌟智慧小區物業管理小程序:重塑社區生活,開啟便捷高效新篇章 🌟 智慧小區物業管理小程序是一款基于PHPUniApp精心雕琢的智慧小區物業管理小程序,它猶如一股清新的科技之風,吹進了現代智慧小區的每一個角落…

洛谷P4868 Preprefix sum

洛谷傳送門 題目描述 前綴和(prefix sum)𝑆𝑖。 前前綴和(preprefix sum)則把 𝑆𝑖 作為原序列再進行前綴和。記再次求得前綴和第 𝑖 個是 𝑆&#x1d446…

機器學習中的凸函數和梯度下降法

一、凸函數 在機器學習中,凸函數 和 凸優化 是優化問題中的重要概念,許多機器學習算法的目標是優化一個凸函數。這些概念的核心思想圍繞著優化問題的簡化和求解效率。下面從簡單直觀的角度來解釋。 1. 什么是凸函數? 數學定義 一個函數 f…

vue3使用vue-native-websocket-vue3通訊

vue3使用vue-native-websocket-vue3通訊 插件使用一、啟用Vuex集成1.在mian.js中2.store/index.js文件中3.要websocket使用的頁面 二、啟用Piain集成1.在mian.js中2.根目錄下創建store文件夾,分別創建PiniaType.ts,store.ts,useSocketStore.t…

Windows圖形界面(GUI)-QT-C/C++ - Qt控件與布局系統詳解

公開視頻 -> 鏈接點擊跳轉公開課程博客首頁 -> ???鏈接點擊跳轉博客主頁 目錄 Qt布局系統(Layouts) 布局管理器基礎 高級布局技巧 嵌套布局 設置間距和邊距 常用控件詳解 按鈕類控件 QPushButton (標準按鈕) QRadioButton (單選按鈕) QCheckBox (復選框) …

深入理解 ECMAScript 2024 新特性:字符串 isWellFormed 方法

ECMAScript 2024 引入了一個新的字符串實例方法:String.prototype.isWellFormed。這一新增功能是為了幫助開發者更容易地驗證字符串是否為有效的 Unicode 文本。本文將詳細介紹這一方法的使用場景、實現原理及其在實際應用中的價值。 String.prototype.isWellFormed…

[Linux]Docker快速上手操作教程

前言 以下命令并不是docker的所有,僅涉及日常使用時最最常用的命令。 目的之一時給入門的朋友熟悉學習,其二時我自己偶爾使用時備忘。 一、概念 簡單介紹下docker的相關概念: 鏡像:Docker 鏡像是一個輕量級、可執行的獨立軟件…

【算法學習筆記】32:篩法求解歐拉函數

上節學習的是求一個數 n n n的歐拉函數,因為用的試除法,所以時間復雜度是 O ( n ) O(\sqrt{n}) O(n ?),如果要求 m m m個數的歐拉函數,那么就會花 O ( m n ) O(m \sqrt{n}) O(mn ?)的時間。如果是求連續一批數的歐拉函數&#x…

生產管理看板助力節能科技公司實現數據自動化管理

在節能科技公司的生產過程中,數據管理的自動化是提高生產效率和產品質量的關鍵。然而,許多公司在數據記錄、展示、對比和存檔方面仍面臨諸多痛點,如產品檢測數據無法自動記錄、缺乏直觀的產線狀態展示、檢測數據對比繁瑣耗時,以及…

leetcode 115. 不同的子序列

題目:115. 不同的子序列 - 力扣(LeetCode) 動態規劃問題,f[i][j]表示s的第i個元素匹配到t的第j個元素,有多少種結果 f[i][j] f[i - 1][j] (s[i] t[j] ? f[i - 1][j - 1] : 0) 答案就是 f[s.length() - 1][t.len…

【C++】B2112 石頭剪子布

博客主頁: [小????????] 本文專欄: C 文章目錄 💯前言💯題目描述游戲規則:輸入格式:輸出格式:輸入輸出樣例:解題分析與實現 💯我的做法實現邏輯優點與不足 &#x1f4af…

內存快照:宕機后Redis如何實現快速恢復?

文章目錄 給哪些內存數據做快照?快照時數據能修改嗎?可以每秒做一次快照嗎?小結每課一問 更多redis相關知識 上節課,我們學習了 Redis 避免數據丟失的 AOF 方法。這個方法的好處,是每次執行只需要記錄操作命令,需要持…