最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

云主機(jī)上運(yùn)行 nps

創(chuàng)建映射目錄

mkdir -p ~/docker/nps/config

拉取鏡像

docker pull oldiy/nps-server

運(yùn)行容器 創(chuàng)建容器

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

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

停止運(yùn)行容器

docker stop nps

為什么這里要停止運(yùn)行呢?

因?yàn)檫@時(shí)候在 config 目錄下已經(jīng)生成了一些配置文件,考慮到安全性,我們需要做一些改動(dòng)。

修改配置

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

打開后重點(diǎn)關(guān)注下面這幾項(xiàng):

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

以上是默認(rèn)的配置,建議改掉。

啟動(dòng)容器

docker start nps

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

添加客戶端

點(diǎn)擊左側(cè)菜單欄的 客戶端 選項(xiàng),再點(diǎn)擊新增。

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

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

留意一下這里的 idvkey。

本地機(jī)上運(yùn)行 npc

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

拉取鏡像

點(diǎn)擊菜單欄中的注冊(cè)表,搜索 npc-client,下載第一個(gè)就行。

創(chuàng)建容器

點(diǎn)擊菜單欄中的映像,找到下載好的npc,啟動(dòng)。

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

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

SERVERIP

對(duì)應(yīng)云主機(jī)的 <ip>:<bridge_port> VKEY

對(duì)應(yīng)上面添加過的客戶端的 vkey

接著一路點(diǎn)擊 應(yīng)用,啟動(dòng)容器即可。

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

后臺(tái)配置 nps

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

添加 tcp 隧道

這里舉例配置一下 Jellyfin 的 http 端口 8096。
進(jìn)入 nps 后臺(tái)管理,點(diǎn)擊左側(cè)菜單欄的 客戶端 選項(xiàng),再點(diǎn)擊新增。

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

然后點(diǎn)擊 新增。

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

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

嘗試訪問一下 Jellyfin。

容器?;?/h2>

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

創(chuàng)建目錄

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

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

獲取容器 ID

docker ps -q --no-trunc

會(huì)得到一長串 ID,記下來 <nps_id>。

如果你返回了多個(gè) ID,那你應(yīng)該知道要怎么區(qū)分那個(gè)是 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>')  # 這里其實(shí)就是去匹配看看當(dāng)前運(yùn)行中的容器有沒有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 服務(wù)掛了,這里重啟服務(wù)
        docker restart nps
        echo "Restart $(date +'%F %T')" >> $log
    fi
else
    echo "Active  $(date +'%F %T')" >> $log
fi

如果是服務(wù) docker 掛了,且重啟失敗,那就不是保不保活的問題了,登上服務(wù)器檢查吧。

crontab.set

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

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

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

接著運(yùn)行:

crontab crontab.set

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

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

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

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

相關(guān)文章

  • dockerfile中ENTRYPOINT與CMD的結(jié)合使用及區(qū)別

    dockerfile中ENTRYPOINT與CMD的結(jié)合使用及區(qū)別

    這篇文章主要介紹了dockerfile中ENTRYPOINT與CMD的結(jié)合使用,大家都知道CMD 與 ENTRYPOINT都是用于指定啟動(dòng)容器執(zhí)行的命令,那么他們倆有什么區(qū)別呢,本文給大家詳細(xì)介紹,需要的朋友可以參考下
    2021-08-08
  • 如何使用 Docker 部署 Spark 集群

    如何使用 Docker 部署 Spark 集群

    本文介紹了如何通過DockerCompose部署一個(gè)Spark集群,包括一個(gè)Master節(jié)點(diǎn)和多個(gè)Worker節(jié)點(diǎn),環(huán)境要求包括DockerEngine、DockerCompose和網(wǎng)絡(luò)環(huán)境,通過配置docker-compose.yml文件,可以定義和運(yùn)行多容器應(yīng)用,感興趣的朋友一起看看吧
    2025-02-02
  • 如何下載docker鏡像包

    如何下載docker鏡像包

    這篇文章主要介紹了如何下載docker鏡像包問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Docker Machine深入學(xué)習(xí)

    Docker Machine深入學(xué)習(xí)

    Docker與Docker Machine 的區(qū)別?又如當(dāng)我們執(zhí)行docker-machine create命令時(shí),Docker Machine都做了些什么?這篇文章都會(huì)告訴大家,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Docker綁定端口后仍無法遠(yuǎn)程直接訪問的解決方法

    Docker綁定端口后仍無法遠(yuǎn)程直接訪問的解決方法

    在Docker中,如果容器的端口綁定錯(cuò)誤或只綁定到了容器的內(nèi)部IP地址,將導(dǎo)致外部主機(jī)無法訪問該端口,所以本文小編給大家介紹了Docker綁定端口后仍無法遠(yuǎn)程直接訪問的解決方法,需要的朋友可以參考下
    2024-09-09
  • Docker部署XXL-JOB的示例代碼

    Docker部署XXL-JOB的示例代碼

    XXL-JOB是一個(gè)分布式任務(wù)調(diào)度平臺(tái),可通過MySQL用戶創(chuàng)建和Docker容器化快速部署,本文詳細(xì)介紹了從環(huán)境準(zhǔn)備到驗(yàn)證部署的全過程,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-10-10
  • docker部署mysql問題

    docker部署mysql問題

    這篇文章主要介紹了docker部署mysql問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • 教你使用Docker?Compose一鍵部署前后端分離項(xiàng)目

    教你使用Docker?Compose一鍵部署前后端分離項(xiàng)目

    Compose是一個(gè)定義和管理多容器的工具,使用Python語言編寫,下面這篇文章主要給大家介紹了關(guān)于如何使用Docker?Compose一鍵部署前后端分離項(xiàng)目的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • 詳解基于docker搭建lanproxy內(nèi)網(wǎng)穿透服務(wù)

    詳解基于docker搭建lanproxy內(nèi)網(wǎng)穿透服務(wù)

    這篇文章主要介紹了詳解基于docker搭建lanproxy內(nèi)網(wǎng)穿透服務(wù),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-04-04
  • docker save和docker load的具體使用

    docker save和docker load的具體使用

    本文詳細(xì)介紹了docker save和docker load命令的使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11

最新評(píng)論

历史| 淮滨县| 衡山县| 威海市| 阜康市| 朝阳区| 南部县| 乌恰县| 独山县| 内黄县| 库伦旗| 和静县| 黎川县| 比如县| 屯门区| 精河县| 阆中市| 富平县| 汉沽区| 保定市| 武清区| 沭阳县| 治县。| 治多县| 鄂尔多斯市| 嫩江县| 三原县| 江安县| 子长县| 大英县| 泾川县| 西和县| 阳信县| 咸丰县| 阜平县| 尚义县| 平果县| 武隆县| 信丰县| 临夏县| 奈曼旗|