實現阿里雲DDNS解析

2021-10-16 05:04:29 字數 1954 閱讀 9601

我有三種裝置,synology openwrt raspberry

2, 使用自定義的指令碼也行, 

先安裝python庫

pip3installaliyunsdkcore

pip3installaliyun-python-sdk-alidns

ddns.py

修改自己的id  key,主機名。

執行 python3 ddns.py &

sh aliyun.sh 《主網域名稱》 《主機記錄》

sh /var/services/homes/wandersky/aliddns/aliyun.sh l******************74 v0********************cmi **********.com www

指令碼命令格式如上。

#!/bin/sh

set -e

if [ $1 ]; then

apiid=$1

fiif [ $2 ]; then

apikey=$2

fiif [ $3 ]; then

domain=$3

fiif [ -z "$apiid" -o -z "$apikey" -o -z "$domain" ]; then

echo "引數缺失"

exit 1

fiif [ $4 ]; then

subdomain=$4

fiif [ -z "$subdomain" ]; then

subdomain="@"

finonce=$(date -u "+%n")    # 有bug?

timestamp=$(date -u "+%y-%m-%dt%h%%3a%m%%3a%sz")    # sb 阿里雲, 什麼鬼時間格式

nonce=$timestamp

urlencode() "

local encoded=""

for i in `seq 1 $len`; do

local j=$((i+1))

local c=$(echo $raw | cut -c$i-$i)

case $c in [a-za-z0-9.~_-]) ;;

*)c=$(printf '%%%02x' "'$c") ;;

esac

encoded="$encoded$c"

done

echo $encoded

}# $1 = query string

getsignature()

sendrequest()

getrecordid()

# $1 = record id, $2 = new ip

updaterecord()

# $1 = new ip

addrecord()

# get new ip address

echo "獲取當前 ip..."

newip=$(wget -qo- --no-check-certificate "")

echo "當前 ip 為 $newip."

# get record id of sub domain

recordid=$(getrecordid)

if [ ! "$recordid" = "quit" ]; then

if [ "$recordid" = "null" ]; then

echo "網域名稱記錄不存在, 新增 $subdomain.$domain 至 $newip..."

addrecord $newip

else

echo "網域名稱記錄已存在, 更新 $subdomain.$domain 至 $newip..."

updaterecord $recordid $newip

fifi

使用阿里雲DNS實現自己的DDNS服務

最近家裡牽了寬頻 之前家裡沒網,因為窮,作為一名嵌入式程式設計師,這是得有多慘 換了乙個華為ax3pro路由器,開啟橋接模式,發現家中的pc和手機均有ipv6的位址,而且用ipv6test測試,屬於公網的ipv6位址。於是乎,家中有了公網。立馬把之前的破電腦裝上ubuntu16.04系統 為什麼不裝...

DDNS動態網域名稱解析設定 針對阿里雲環境配置說明

1 你得先申請個網域名稱 2 進入網域名稱解析 3 獲取使用者的accesskey 和 accesskeysecret 4 呼叫乙個ip查詢 正則解析當前主機ip 5 呼叫阿里雲api介面設定對應的網域名稱與第4步中獲取的ip進行繫結 php 方案 樹莓派方案 到這裡ddns的解析繫結介紹完畢 下面...

DDNS 騰訊雲設定網域名稱解析服務 網域名稱繫結動態ip

北京聯通寬頻打 跟聯通申請了公網ip,想跟自己的網域名稱進行繫結,但是公網ip在重新撥號後會變化,所以寫了如下指令碼自動更改公網ip 感謝dragon2k的部落格,新增到crontab中即可 bin bash domain 你的網域名稱,例如qq.com sid 你的雲api秘鑰secretid s...