自建簡單又實用的動態功能變數名稱管理系統

来源:https://www.cnblogs.com/osnosn/archive/2019/03/24/10591431.html
-Advertisement-
Play Games

個人動態功能變數名稱管理系統。Personal DDNS. 來源: "https://www.cnblogs.com/osnosn/p/10591431.html" 來自 "osnosn的博客" 簡單又實用的動態功能變數名稱管理系統, 自建動態功能變數名稱管理系統 使用 bind9 + php + mysql , 創建個人 ...


個人動態功能變數名稱管理系統. Personal-DDNS.

來源: https://www.cnblogs.com/osnosn/p/10591431.html 來自osnosn博客
寫於: 2019-03-24.

簡單又實用的動態功能變數名稱管理系統, 自建動態功能變數名稱管理系統
使用 bind9 + php + mysql , 創建個人的動態功能變數名稱系統。
Use bind9 + php + mysql , create a personal ddns server, update by an URL. Only support "A","AAAA","TXT" recorder.
項目地址 https://github.com/osnosn/personal-ddns/

條件

  • 首先,需要一個有管理權的功能變數名稱。
  • 其次,需要一個有固定IP的伺服器。

設置功能變數名稱 (需功能變數名稱管理權)

  • 在功能變數名稱商系統中增加一個二級功能變數名稱,和對應的IP。IP指向你的伺服器。
    • 比如你擁有的功能變數名稱是 "mydomain.net"
      • 設二級功能變數名稱 dns.mydomain.net
      • 你可以用類似 abc.ddns.mydoman.net , xxx.ddns.mydoman.net 作為你的動態功能變數名稱。
    • 比如你的伺服器IP是"1.1.1.1"
    • 在功能變數名稱商的解析系統中增加這兩條記錄。

       ddns.mydomain.net  A  1.1.1.1 
       ddns.mydomain.net  NS ddns.mydomain.net.  

設置bind9 (需伺服器root許可權)

  • 我用的是centos7
    裝 bind-chroot-9.4.4
    yum install bind-chroot bind-utils
    bind老是出漏洞,裝個chroot版感覺安全點。
  • 修改配置文件 /etc/named.conf

    options  {
    listen-on port 53 { 127.0.0.1; any; };
    listen-on-v6 port 53 { ::1; any; };
    allow-query { localhost; any; };
    recursion no;
    allow-recursion { localhost; };
    allow-transfer { localhost; };
    };
    include "/etc/named.rfc1912.zones";

    以上條目,原來有的保留。不相同的就修改。原來沒有的就添加。

  • 修改/etc/named.rfc1912.zones , 在最後加上:

    zone "ddns.mydomain.net" IN {
       type master;
       file "dynamic/named.ddns.mydomain.net";
       allow-update { localhost; };
    };
  • 創建文件 /var/named/dynamic/named.ddns.mydomain.net

    要求 named 對 dynamic/ 目錄有寫許可權
    nsupdate 時會生成 named.ddns.mydomain.net.jnl
    named.service stop 時會改寫 named.ddns.mydomain.net 文件
    如果 /var/named/dynamic目錄不存在,就先啟動一下 service named-chroot start

    $TTL 600        ; 10 minutes
    @   IN  SOA  ddns.mydomain.net.  email.invalid. (
          1096    ; serial
          86400   ; refresh (1 day)
          3600    ; retry (1 hour)
          604800  ; expire (1 week)
          10800   ; minimum (3 hours)
          )
    @     NS      ddns.mydomain.net.
  • service named-chroot stop;
    service named-chroot start;
    systemctl enable named-chroot;
  • 檢查防火牆開放了 udp/53 的訪問。
    iptables -A INPUT -p udp –dport 53 -j ACCEPT #一般查詢用
    iptables -A INPUT -p tcp –dport 53 -j ACCEPT # axfr 用

其他設置 (無需root許可權。但需要用戶許可權,設置crontab)

  • 看文件 ddns/readme.php
  • 大致步驟是,
    • ddns/ 目錄中的東西放到你的網站中。
    • 在MySQL中創建資料庫,創建一張表,
    • 修改配置文件 pdo_new.php, config.php
    • 創建一條 crontab 定時任務。2分鐘執行一次。
    • 測試一下,就能用了。

安裝好之後,創建了對應的動態功能變數名稱後,客戶端的使用

  • 如果是 A 記錄 或 AAAA 記錄
    • 自動獲取客戶端IP(根據來源IP. A需通過ipv4,AAAA需通過ipv6訪問)
      wget http://www.mydomain.net/ddns/ddns.php?key=xxxxxxxxx&domain=dddd
    • 強制指定IP(無所謂ipv4,ipv6網路)
      wget http://www.mydomain.net/ddns/ddns.php?key=xxxxxxxxx&domain=dddd&ip=1.1.1.1
      wget http://www.mydomain.net/ddns/ddns.php?key=xxxxxxxxx&domain=dddd&ip=FC00:0:130F::9C0:876A:130B
      建議每10-15分鐘訪問一次更新鏈接。超過60分鐘未更新,對應功能變數名稱重置為"127.0.0.1" 或 "::1"

      比如動態功能變數名稱為 abc.ddns.mydomain.net 其中 domain=dddd 可以寫為:

      domain=abc or domain=abc.ddns.mydomain.net

    其中 key=xxxxxxxxx 是創建動態功能變數名稱時,生成的對應key。

  • 如果是 TXT 記錄
    • 強制指定TXT內容
      wget http://www.mydomain.net/ddns/ddns.php?key=xxxxxxxxx&domain=dddd&ip=20181015abcdefg

轉載請註明來源。
來源: https://www.cnblogs.com/osnosn/p/10591431.html 來自osnosn博客
---------------end---------------


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 寫在前面 前面一篇文章介紹了非同步編程的基本內容,同時也簡要說明瞭async和await的一些用法。本篇文章將對async和await這兩個關鍵字進行深入探討,研究其中的運行機制,實現編碼效率與運行效率的提升。 非同步方法描述:使用async修飾符來標識一個方法或Lambda表達式的,被稱之為非同步方法。 ...
  • 在控制臺中繪製圖像是一件非常有趣的事,不知情的人看到了會感覺很驚訝,如果你有GDI+繪製基礎,那麼繼續往下看。 運行效果 代碼中用到的素材圖片 ...
  • 常用控制項樣式: <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> ...
  • 看了老師的教程後,自己一點感悟記錄下來: 1.在頁面提交後,動態生成的控制項會丟失, 但如果生成控制項的代碼在pageload中,就可以,原理是每次生成頁面都執行生成. 2.動態按件或頁面原來控制項, 在頁面往返重新生成時, 都有一個特點.就是控制項裡面的值和狀態會保留下來. 如: 在DorpDownLis ...
  • 項目發佈後 在本地發佈可以運行 在伺服器就會出現這種錯誤 在網上也查找了各種資料 解決方案 都沒有解決 因為我用的C# 首先在 Webconfig配置文件中的 system.web中加入 <customErrors mode="Off"/> 當你在出錯的時候再刷新一下頁面 就會出現 具體的錯誤信息 ...
  • 首先打開vs軟體新建項目創建web中的mvc項目再右擊解決方案創建類庫項目分別創建DAL層和BLL層再把DAL層和BLL層的類重命名在mvc項目中的Models文件夾創建model類在DAL創建ADO.NET實體數據模型後把DAL層中App.Config文件中的鏈接字元串複製到mvc項目的Web.c ...
  • 首先打開vs軟體新建項目創建web中的mvc項目再右擊解決方案創建類庫項目分別創建DAL層和BLL層再把DAL層和BLL層的類重命名在mvc項目中的Models文件夾創建model類在DAL創建ADO.NET實體數據模型後把DAL層中App.Config文件中的鏈接字元串複製到mvc項目的Web.c ...
  • 之前因為學習TensorFlow,所以在自己的Ubuntu上安裝了cuda,cudnn以及Nvidia驅動。但可能是由於自己經常不註重正常關閉自己的Ubuntu,這就導致了一個問題: 某天在查看自己的顯卡信息時,輸入 結果報錯 黑人問好臉???自己之前明明安裝好了Nvidia驅動的呀,怎麼現在就報錯 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...