欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker上部署?nps?和?npc?實現(xiàn)內(nèi)網(wǎng)穿透

 更新時間:2023年04月24日 08:42:50   作者:YEUNGCHIE  
本文介紹了如何使用Docker部署nps和npc實現(xiàn)內(nèi)網(wǎng)穿透。nps是一款高性能的內(nèi)網(wǎng)穿透代理服務器,npc是nps的客戶端,可以將內(nèi)網(wǎng)服務映射到公網(wǎng)上。通過Docker的容器化技術(shù),可以方便地部署和管理nps和npc,同時保證了應用的隔離性和安全性。

云主機上運行 nps

創(chuàng)建映射目錄

mkdir -p ~/docker/nps/config

拉取鏡像

docker pull oldiy/nps-server

運行容器 創(chuàng)建容器

docker run -d --name nps --net=host -v /root/docker/nps/config:/nps/conf oldiy/nps-server

現(xiàn)在 nps 已經(jīng)開始運行了。

停止運行容器

docker stop nps

為什么這里要停止運行呢?

因為這時候在 config 目錄下已經(jīng)生成了一些配置文件,考慮到安全性,我們需要做一些改動。

修改配置

vim /root/docker/nps/config/nps.conf

打開后重點關(guān)注下面這幾項:

...
bridge_port=8024    # 客戶端連接端口
...
web_username=admin  # 后臺管理用戶名
web_password=123    # 后臺管理密碼
web_port = 8080     # 后臺管理端口
...

以上是默認的配置,建議改掉。

啟動容器

docker start nps

現(xiàn)在可以在網(wǎng)頁端訪問 <ip_addr>:<web_port>,并通過用戶名 <web_username> 和密碼 <web_password> 登錄后臺管理界面了。
能夠成功訪問后,繼續(xù)下面的步驟。

添加客戶端

點擊左側(cè)菜單欄的 客戶端 選項,再點擊新增。

設(shè)置一個 客戶端驗證密鑰,這里可以隨便填。壓縮、加密愿意的話也可以選 yes。

設(shè)置好后點擊 新增 即可。

留意一下這里的 idvkey。

本地機上運行 npc

本地機建議選擇一臺 7*24 小時運行的設(shè)備,一般是路由器或者 NAS ,我這里就選擇群暉了,DSM 有很好用的 docker 圖形化管理套件,所以下面用圖形化界面演示如何部署 npc 。

拉取鏡像

點擊菜單欄中的注冊表,搜索 npc-client,下載第一個就行。

創(chuàng)建容器

點擊菜單欄中的映像,找到下載好的npc,啟動。

高級設(shè)置->網(wǎng)絡中注意勾選使用與 Docker Host 相同的網(wǎng)絡。

再到高級設(shè)置->環(huán)境中修改兩個環(huán)境變量:

SERVERIP

對應云主機的 <ip>:<bridge_port> VKEY

對應上面添加過的客戶端的 vkey

接著一路點擊 應用,啟動容器即可。

這時候在 nps 后臺可以看到客戶端已經(jīng)在線。

后臺配置 nps

前面部署 nps 時候已經(jīng)配置了一部分了,接下來要配置的就是具體需要穿透的端口了。

添加 tcp 隧道

這里舉例配置一下 Jellyfin 的 http 端口 8096。
進入 nps 后臺管理,點擊左側(cè)菜單欄的 客戶端 選項,再點擊新增。

類型
這里選 tcp 不用動它。 備注
隨便填,方便自己記就行。 服務器端口
指外放訪問端口,我這里跟 Jellyfin 內(nèi)網(wǎng)一致了,這里只是為了演示用默認,等下就會改掉。 目標
指內(nèi)網(wǎng)對應服務的地址和端口。 客戶端 id
就是上面我說了要留意一下的 id,我這里是 3。

然后點擊 新增

這樣一條隧道就添加好了。

至此內(nèi)網(wǎng)穿透算是部署好了。

嘗試訪問一下 Jellyfin。

容器?;?/h2>

有時候運行的容器會自己掛掉,雖然不經(jīng)常發(fā)生,但是偶爾來一次,遇上剛好要用的時候就很煩人。
下載演示我在服務端如何讓容器?;畹?,方法比較粗暴但有效。

創(chuàng)建目錄

創(chuàng)建目錄來存放腳本和日志文件。

mkdir -p /root/docker/nps/script
mkdir -p /root/docker/nps/log

獲取容器 ID

docker ps -q --no-trunc

會得到一長串 ID,記下來 <nps_id>

如果你返回了多個 ID,那你應該知道要怎么區(qū)分那個是 nps 的。

keepActive.sh

創(chuàng)建 bash 腳本,放到 /root/docker/nps/script/keepActive.sh

#!/bin/bash
cur=$(cd $(dirname $0); pwd -P)
log="$cur/../log/log"
a=$(docker ps -q --no-trunc | grep '<nps_id>')  # 這里其實就是去匹配看看當前運行中的容器有沒有nps,<nps_id>改成上一步獲取到的。
if [[ "_$a" == "_" ]]; then
    docker restart nps  # 第一次重啟 nps
    if [[ $? == 0 ]]; then
        echo "Revive  $(date +'%F %T')" >> $log
    else
        echo "Failed  $(date +'%F %T')" >> $log
        systemctl restart docker.service  # 重啟失敗大概率是 docker 服務掛了,這里重啟服務
        docker restart nps
        echo "Restart $(date +'%F %T')" >> $log
    fi
else
    echo "Active  $(date +'%F %T')" >> $log
fi

如果是服務 docker 掛了,且重啟失敗,那就不是保不?;畹膯栴}了,登上服務器檢查吧。

crontab.set

創(chuàng)建一個 crontab.set,用來配置定時任務。這個文件就隨便放了,一次性的。

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

*  *  *  *  * /root/docker/nps/script/keepActive.sh

接著運行:

crontab crontab.set

這里是配置一分鐘運行一次 keepActive.sh 腳本,所以如果 nps 掛了,一分鐘內(nèi)它就會重啟了。

如果你還配置了其他的定時任務,那你應該知道怎么設(shè)置 crontab,別把以前配置的任務給覆蓋了。

Docker的容器化技術(shù)為應用的部署和管理帶來了很大的便利性,尤其是在內(nèi)網(wǎng)穿透這種需要部署多個應用的場景下。本文介紹了如何使用Docker部署nps和npc實現(xiàn)內(nèi)網(wǎng)穿透,通過容器的隔離性和安全性,可以有效地保護應用的安全性。同時,Docker的易用性和可擴展性也為應用的管理和維護帶來了很大的便利性。

到此這篇關(guān)于Docker上部署 nps 和 npc 實現(xiàn)內(nèi)網(wǎng)穿透的文章就介紹到這了,更多相關(guān)Docker上部署 nps 和 npc內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • docker-compose部署etcd集群的實現(xiàn)步驟

    docker-compose部署etcd集群的實現(xiàn)步驟

    本文主要介紹了docker-compose部署etcd集群的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • 詳解Docker Swarm服務發(fā)現(xiàn)和負載均衡原理

    詳解Docker Swarm服務發(fā)現(xiàn)和負載均衡原理

    這篇文章主要介紹了詳解Docker Swarm服務發(fā)現(xiàn)和負載均衡原理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • 如何在mac上用docker對Oracle進行部署使用

    如何在mac上用docker對Oracle進行部署使用

    這篇文章主要介紹了如何在mac上用docker對Oracle進行部署使用,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • supervisor下的Dockerfile的多服務鏡像封裝操作

    supervisor下的Dockerfile的多服務鏡像封裝操作

    這篇文章主要介紹了supervisor下的Dockerfile的多服務鏡像封裝操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • centos7更改docker倉庫的方法

    centos7更改docker倉庫的方法

    這篇文章主要介紹了centos7更改docker倉庫的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Docker基礎(chǔ)學習之數(shù)據(jù)管理

    Docker基礎(chǔ)學習之數(shù)據(jù)管理

    我們在使用Docker 的時候,會產(chǎn)生很多數(shù)據(jù),比如web服務器啊,數(shù)據(jù)庫之類的,有時我們還需要備份或復制這些數(shù)據(jù),這就需要涉及到Docker的數(shù)據(jù)管理了。這篇文章就給大家詳細的介紹Docker的數(shù)據(jù)管理,感興趣的朋友們可以參考借鑒,下面來一起看看吧。
    2016-10-10
  • 詳解Docker容器可視化監(jiān)控中心搭建

    詳解Docker容器可視化監(jiān)控中心搭建

    本篇文章主要介紹了詳解Docker容器可視化監(jiān)控中心搭建,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • docker中mysql開啟日志的實現(xiàn)步驟

    docker中mysql開啟日志的實現(xiàn)步驟

    本文主要介紹了docker中mysql開啟日志的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • docker-compose的安裝和使用詳解

    docker-compose的安裝和使用詳解

    這篇文章主要介紹了docker-compose的安裝和使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-11-11
  • Docker部署php運行環(huán)境(php-fpm+nginx)

    Docker部署php運行環(huán)境(php-fpm+nginx)

    Docker?是一種流行的容器化平臺,可以幫助開發(fā)人員快速創(chuàng)建、部署和管理容器化應用程序,本文將介紹如何使用?Docker?搭建?PHP?開發(fā)環(huán)境服務器,讓您能夠輕松地開始?PHP?開發(fā)工作,感興趣的可以了解一下
    2023-11-11

最新評論