狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

一篇文章帶你了解一款強大的內網穿透工具---NPS

freeflydom
2025年4月9日 15:11 本文熱度 303

在實際開發和運維工作中,我們經常需要訪問內網資源卻苦于沒有公網IP。今天我向大家推薦一款國產開源的內網穿透利器——NPS,它比frp更簡單易用,比Ngrok更穩定高效,是遠程辦公、物聯網開發、本地調試的完美解決方案!

?? NPS是什么?

NPS(Network Penetration System)是一款輕量級、高性能的內網穿透代理服務器,采用Golang開發。它可以幫助你將內網服務安全地暴露到公網,支持TCP/UDP/HTTP/HTTPS等多種協議。

?? 核心優勢

  1. ? 高性能:基于Golang開發,低資源消耗
  2. ?? 安全性:支持TLS加密傳輸
  3. ?? 多協議:TCP/UDP/HTTP(S)/SOCKS5全支持
  4. ??? 多用戶:完善的客戶端權限管理
  5. ?? 可視化:內置Web管理面板
  6. ?? 跨平臺:Windows/Linux/macOS/ARM全兼容

?? 與主流穿透工具對比

特性NPSFRPNgrokZerotier
部署難度????????????????
管理界面?? 內置? 需第三方?? 專業版?? 云管理
協議支持TCP/UDP/HTTP(S)/SOCKS5TCP/UDP/HTTP(S)HTTP(S)P2P虛擬網絡
身份驗證客戶端ID+密鑰Token認證Token認證證書認證
性能表現??????????????

??? 安裝部署指南

1. 服務端安裝(公網服務器)

環境要求

  • 公網服務器1臺(CentOS/Ubuntu)
  • 開放至少80、443、8024端口

步驟1:下載安裝

# 獲取最新版本(以0.26.10為例)
wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz
tar -zxvf linux_amd64_server.tar.gz
cd nps
# 安裝服務
sudo ./nps install

步驟2:配置服務器

# 編輯conf/nps.conf
appname = nps
# 修改以下關鍵配置
http_proxy_ip=0.0.0.0
http_proxy_port=80
https_proxy_port=443
bridge_port=8024
public_vkey=your_public_key_here

步驟3:啟動服務

# 啟動
sudo nps start
# 查看狀態
sudo nps status
# 設置開機自啟
sudo systemctl enable nps

2. 客戶端安裝(內網機器)

Windows客戶端

  1. 下載windows_amd64_client.tar.gz
  2. 解壓后編輯conf/npc.conf:
    [common]
    server_addr=your_server_ip:8024
    conn_type=tcp
    vkey=your_private_key
    auto_reconnection=true
    
  3. 運行npc.exe

Linux客戶端

wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_client.tar.gz
tar -zxvf linux_amd64_client.tar.gz
cd npc
# 注冊為systemd服務
sudo ./npc install -server=your_server_ip:8024 -vkey=your_private_key
# 啟動
sudo npc start

?? 管理面板使用

訪問 http://your_server_ip:8080 (默認用戶名密碼admin/123)

核心功能模塊:

  1. 客戶端管理 - 查看/添加/刪除客戶端
  2. 隧道配置 - 端口映射規則設置
  3. 域名解析 - 自定義域名綁定
  4. 靜態文件 - 文件分享功能
  5. 系統設置 - 服務端參數調整

?? 六大典型應用場景

1. 遠程桌面訪問(RDP/VNC)

# 隧道配置示例
[rdp]
mode = tcp
server_port = 33389
target_addr = 192.168.1.100
target_port = 3389

訪問方式:your_server_ip:33389

2. SSH穿透

[ssh]
mode = tcp
server_port = 2222
target_addr = 192.168.1.101
target_port = 22

連接命令:ssh -p 2222 username@your_server_ip

3. HTTP/HTTPS網站發布

[web]
mode = http
server_port = 80
target_addr = 192.168.1.102
target_port = 8080
host = demo.yourdomain.com

訪問:demo.yourdomain.com

4. 數據庫遠程訪問

[mysql]
mode = tcp
server_port = 3306
target_addr = 192.168.1.103
target_port = 3306

連接:mysql -h your_server_ip -u root -p

5. 本地開發調試

[dev-api]
mode = http
server_port = 8899
target_addr = 127.0.0.1
target_port = 3000

前端可直接對接:http://your_server_ip:8899/api

6. 物聯網設備穿透(MQTT)

[mqtt]
mode = udp
server_port = 1883
target_addr = 192.168.1.104
target_port = 1883

?? 安全保障措施

1. 身份驗證機制

  • 每個客戶端需要唯一驗證密鑰(vkey)
  • 支持IP白名單限制
  • Web管理面板可設二次驗證

2. 傳輸加密配置

# 生成自簽名證書
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
  -keyout nps.key -out nps.crt
# 配置conf/nps.conf
https_just_proxy=true
https_default_cert_file=conf/nps.crt
https_default_key_file=conf/nps.key

3. 防火墻建議規則

# 僅開放必要端口
iptables -A INPUT -p tcp --dport 8024 -j ACCEPT  # 主連接端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT    # HTTP
iptables -A INPUT -p tcp --dport 443 -j ACCEPT   # HTTPS
iptables -A INPUT -j DROP

?? 高階配置技巧

1. 負載均衡配置

[web-cluster]
mode = tcp
server_port = 8080
locations = 192.168.1.100:8080,192.168.1.101:8080

2. 流量壓縮與加密

[secure-tunnel]
mode = tcp
server_port = 5432
target_addr = 192.168.1.105
target_port = 5432
compress = true
crypt = true

3. 帶寬限制

[limited-tunnel]
mode = tcp
server_port = 22222
target_addr = 192.168.1.106
target_port = 22
flow_limit = 1024  # KB/s

??? 性能調優建議

  1. 連接池配置

    # conf/nps.conf
    [server]
    p2p_ip=your_server_ip
    p2p_port=6000
    task_chan_num=100
    
  2. 日志輪轉

    # 使用logrotate
    /var/log/nps/*.log {
        daily
        missingok
        rotate 7
        compress
        delaycompress
        notifempty
        create 640 root root
    }
    
  3. 監控指標

    # Prometheus監控配置
    - job_name: 'nps'
      static_configs:
        - targets: ['your_server_ip:8081']
    

?? 與常見工具集成

1. 結合Docker使用

# Dockerfile示例
FROM alpine:latest
RUN wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_client.tar.gz \
    && tar -zxvf linux_amd64_client.tar.gz \
    && mv npc /usr/local/bin/
CMD ["npc", "-server=your_server_ip:8024", "-vkey=your_vkey"]

2. 與Kubernetes集成

# deployment.yaml示例
apiVersion: apps/v1
kind: Deployment
metadata:
  name: npc-client
spec:
  replicas: 1
  template:
    spec:
      containers:
      - name: npc
        image: your-registry/npc-client:latest
        env:
        - name: NPC_SERVER
          value: "your_server_ip:8024"
        - name: NPC_VKEY
          valueFrom:
            secretKeyRef:
              name: npc-secrets
              key: vkey

?? 常見問題排查

Q1: 客戶端連接失敗

  • ? 檢查服務端8024端口是否開放
  • ? 驗證vkey是否正確
  • ? 查看服務端日志:tail -f /var/log/nps/log.log

Q2: 隧道已連接但無法訪問

  • ?? 確認目標服務在內網可訪問
  • ?? 檢查防火墻規則
  • ?? 測試本地telnet:telnet 目標IP 目標端口

Q3: 管理面板無法登錄

  • ?? 默認密碼admin/123
  • ?? 重置密碼:nps stop && nps reset

?? 性能測試數據

測試環境:1核1G云服務器 + 100M帶寬

并發連接數平均延遲吞吐量CPU使用率
10028ms12MB/s15%
50045ms48MB/s42%
100083ms85MB/s78%

?? 適用場景推薦

  1. 遠程辦公:安全訪問公司內網OA/ERP
  2. 物聯網開發:調試遠程設備
  3. 微信開發:本地調試公眾號/小程序
  4. 演示環境:臨時展示本地項目
  5. 混合云架構:打通公有云與私有云

?? 總結

NPS作為一款國產開源內網穿透工具,具有以下突出優勢:

  • 部署簡單:5分鐘即可完成基礎配置
  • 功能全面:覆蓋各類穿透需求
  • 管理便捷:可視化Web面板操作
  • 資源友好:1核1G服務器可支持500+并發

延伸資源

轉自https://juejin.cn/post/7490977437674373155


該文章在 2025/4/9 15:26:49 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved