Chinaunix首页 | 论坛 | 博客
  • 博客访问: 505696
  • 博文数量: 77
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 689
  • 用 户 组: 普通用户
  • 注册时间: 2013-08-12 08:40
文章分类

全部博文(77)

文章存档

2018年(1)

2016年(3)

2015年(24)

2014年(49)

我的朋友

分类: 网络与安全

2015-02-03 13:51:39


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

解析服务

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

动态域名解析过程

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

DDNS – Free Dynamic DNS Providers: 

Update API:

点击(此处)折叠或打开

  1. #!/bin/sh

  2. if [ $1 = "f3322" ] ; then
  3.     USERNAME=cywdns
  4.     PASSWORD=caiyunwei000000
  5.     HOST=cywddns.f3322.net
  6.     if [ ! -e /tmp/dnsip.txt ] ; then
  7.         ping $HOST -c1 | grep PING | awk '{ print $3 }' | sed 's/[()]//g' > /tmp/dnsip.txt
  8.     fi

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

  10.     curl -s http://icanhazip.com > /tmp/ip.txt
  11.     #`curl http://ddns.oray.com/checkip | cut -d' ' -f 6 | cut -d'<' -f 1` #http://checkip.dyndns.com/
  12.     myip=$(head -1 /tmp/ip.txt)
  13.     echo "current IP:"$myip

  14.     if [ "$mydnsip" = "$myip" ] ; then
  15.         echo 'IP is not change'
  16.     else
  17.         #lynx -mime_header -auth=用户名:密码 "域名"
  18.         http_code=`curl -o /dev/null -s -w %{http_code} --basic -u $USERNAME:$PASSWORD \
  19.             ""`
  20.         if [ $http_code -eq 200 ] ; then
  21.             echo 'update DDNS success'
  22.             echo $myip > /tmp/dnsip.txt
  23.         else
  24.             echo 'update DDNS fail:$http_code'
  25.         fi
  26.     fi
  27. elif [ $1 = "noip" ] ; then
  28.     USERNAME=cywdns
  29.     PASSWORD=caiyunwei000000
  30.     HOST=cywddns.ddns.net

  31.     realip=`curl -s http://icanhazip.com` #当前IP
  32.     echo "current IP:"$realip

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

  35.     if [ "$realip" = "$noipDdns" ]; then #当二者一样时不更新DNS
  36.         echo "IP is not change"
  37.         exit 0
  38.     else
  39.         curl ""
  40.         echo 'update DDNS success'

  41.     fi
  42. elif [ $1 = "dyndns" ] ; then
  43.     USERNAME=leicaseteam
  44.     PASSWORD=swx_viva
  45.     HOST=geomax.servebbs.net
  46.     PORT=5800

  47.     realip=`curl -s http://icanhazip.com` #当前IP
  48.     echo "current IP:"$realip

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

  51.     if [ "$realip" = "$dynDdns" ]; then #当二者一样时不更新DNS
  52.         echo "IP is not change"
  53.         exit 0
  54.     else
  55.         curl ""
  56.         echo 'update DDNS success'
  57.     fi

  58. fi


阅读(4568) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~