21
2019
01
13:36:06

DDNS/动态域名解析服务



推荐点击下面图片,通过本站淘宝优惠价购买:

image.png

相信大多数的天朝上网用户,使用网络的方式都是ADSL拨号上网,这样上网每次拨号获取的公网IP一般都是不同的。但是,如果你需要在动态公网IP下搭建一个可以随时随地访问的服务器(比如:建立WEB服务、FTP服务、Email服务、游戏服务器、视频服务、VPN、远程控制、网上电台、 数据动态传输等等 ),那么你就需要使用动态域名解析服务了。


动态域名解析服务


动态域名解析服务,简称DDNS(Dynamic Domain Name Server),是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候,客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务程序负责提供DNS服务并实现动态域名解析。就是说DDNS捕获用户每次变化的IP地址,然后将其与域名相对应,这样域名就可以始终解析到非固定IP的服务器上,互联网用户通过本地的域名服务器获得网站域名的IP地址,从而可以访问网站的服务。百度百科:动态域名解析。

动态域名解析过程


动态域名解析系统将用户的动态 IP 地址映射到一个固定的域名解析服务上(DDNS)。动态域名解析系统一般由两部分构成:第一部分是服务器 端程序,位于服务商的主机上;另一部分是客户端程序,就运行在广大用户的主机上。在每次连接网络的时候,客户端程序就会通过信息传递,把该客户主机的动态 IP 地址传送给位于服务商主机上的服务器程序,服务器程序负责提供 DNS 服务并实现动态域名解析服务,在收到客户端通知后服务器端程序立即更新数据,将新的 IP 地址与原有的固定域名绑定,这样就完成了动态域名解析的服务。

DDNS – Free Dynamic DNS Providers: http://dnslookup.me/dynamic-dns/


Update API:

点击(此处)折叠或打开

#!/bin/sh


if [ $1 = "f3322" ] ; then

    USERNAME=cywdns

    PASSWORD=caiyunwei000000

    HOST=cywddns.f3322.net

    if [ ! -e /tmp/dnsip.txt ] ; then

        ping $HOST -c1 | grep PING | awk '{ print $3 }' | sed 's/[()]//g' > /tmp/dnsip.txt

    fi


    mydnsip=$(head -1 /tmp/dnsip.txt)


    curl -s http://icanhazip.com > /tmp/ip.txt

    #`curl http://ddns.oray.com/checkip | cut -d' ' -f 6 | cut -d'<' -f 1` #http://checkip.dyndns.com/

    myip=$(head -1 /tmp/ip.txt)

    echo "current IP:"$myip


    if [ "$mydnsip" = "$myip" ] ; then

        echo 'IP is not change'

    else

        #lynx -mime_header -auth=用户名:密码 "http://members.3322.net/dyndns/update?system=dyndns&hostname=域名"

        http_code=`curl -o /dev/null -s -w %{http_code} --basic -u $USERNAME:$PASSWORD \

            "http://members.3322.net/dyndns/update?myip=$myip&hostname=$HOST"`

        if [ $http_code -eq 200 ] ; then

            echo 'update DDNS success'

            echo $myip > /tmp/dnsip.txt

        else

            echo 'update DDNS fail:$http_code'

        fi

    fi

elif [ $1 = "noip" ] ; then

    USERNAME=cywdns

    PASSWORD=caiyunwei000000

    HOST=cywddns.ddns.net


    realip=`curl -s http://icanhazip.com` #当前IP

    echo "current IP:"$realip


    noipDdns=`nslookup $HOST | tail -1 | cut -d ' ' -f 3` #服务器中的公网IP

    echo "noipDdns IP:"$noipDdns


    if [ "$realip" = "$noipDdns" ]; then #当二者一样时不更新DNS

        echo "IP is not change"

        exit 0

    else

        curl "http://$USERNAME:$PASSWORD@dynupdate.no-ip.com/nic/update?hostname=$HOST&myip=$realip"

        echo 'update DDNS success'


    fi

elif [ $1 = "dyndns" ] ; then

    USERNAME=leicaseteam

    PASSWORD=swx_viva

    HOST=geomax.servebbs.net

    PORT=5800


    realip=`curl -s http://icanhazip.com` #当前IP

    echo "current IP:"$realip


    dynDdns=`nslookup $HOST | tail -1 | cut -d ' ' -f 3` #服务器中的公网IP

    echo "dynDdns IP:"$dynDdns


    if [ "$realip" = "$dynDdns" ]; then #当二者一样时不更新DNS

        echo "IP is not change"

        exit 0

    else

        curl "http://$USERNAME:$PASSWORD@members.dyndns.org/nic/update?hostname=$HOST&myip=$realip&wildcard=NOCHG&mx=NOCHG&backmx=NOCHG"

        echo 'update DDNS success'

    fi


fi


本文链接:https://hqyman.cn/post/121.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:





休息一下,本站随机推荐观看栏目:


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

您的IP地址是: