📄 0270dynamic_dns.htm
字号:
Internet 联机,如果旧的 IP 与新的 IP 不一样,那么就将新的 IP 寄给系统管理员!<br> </ul><ul><li><font color="#000099">E-mail 之外,还会更新 DNS 组态:</font></li><br>适用环境:申请 www.adsldns.org 主机名称者;<br>功能:除了新的 IP 将 e-mail 给系统管理员之外,亦将会分析 DNS 主机的IP 。<br>原理:利用 IP 分析,若发现断线,则自动加以联机,而联机之后的 IP 除了e-mail 给系统管理原之外,亦将与 Internet 上面的主机名称 IP 比对,若不相同,则直接予以更新DNS 的 IP !<br> </ul><ul><li><font color="#000099">在 IP 分享器后端的 Linux 来更新 DNS 的 IP :</font></li><br>适用环境:在 IP 分享器的后端的 Linux 主机,可用来判断 IP 分享器的 IP<br>功能:除了判断 IP 分享器的 IP ,并将 IP mail 给系统管理原之外,亦将更新DNS 的 IP ;<br>原理:利用 www.adsldns.org 可以判断自己的 IP 的原理,用来将该 IP 整个的更新!</ul> <br>上述的功能我将他全部都写在同一个 script 里面了,您必须要选择您所需要的环境,<font color="#000066">而这个script 将可同时适用 ADSL 与 Cable 的浮动式 IP 的状态</font>!一般来说,都是选择<font color="#000066">job 2 </font>的啦!底下就是我这个 script 的内容,参考看看:<br> <table bgcolor="#000000" border="1" width="550"><tbody><tr><td><font size="-1" color="#ffffff" face="SimSun">#!/bin/bash</font><br><font size="-1" color="#ffffff" face="SimSun">#</font><br><font size="-1" color="#ffffff" face="SimSun"># History andlastlog</font><br><font size="-1" color="#ffffff" face="SimSun">#======================================================================</font><br><font size="-1" color="#ffffff" face="SimSun"># Date         Who     What</font><br><font size="-1" color="#ffffff" face="SimSun">#======================================================================</font><br><font size="-1" color="#ffffff" face="SimSun"># 2002/08/05   VBird   Use the older scripts to modify and adding some</font><br><font size="-1" color="#ffffff" face="SimSun">#                      modules to fit everyone's needed.</font><br><font size="-1" color="#ffffff" face="SimSun"># 2002/11/14   VBird   delet the integer type declare!</font><br><font size="-1" color="#ffffff" face="SimSun"># 2003/08/26   VBird   加入 iptables.rule 的支援!</font><br><font size="-1" color="#ffffff" face="SimSun">#                      重新改写成 function 的模式!</font><br><font size="-1" color="#ffffff" face="SimSun">#######################################################################</font><br><font size="-1" color="#ffffff" face="SimSun">#======================INPUT SESSION =================================</font><br><font size="-1" color="#ffffff" face="SimSun"># 1. 请输入您在http://www.adsldns.org 申请到的账号密码与主机名称</font><br><font size="-1" face="SimSun"><font color="#ffffff">  password="</font><b><font color="#ffff00">your.password</font></b><font color="#ffffff">"</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">  email="</font><b><font color="#ffff00">your.email</font></b><font color="#ffffff">"</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">  hostname="</font><b><font color="#ffff00">your.host.name</font></b><font color="#ffffff">"</font></font><p><font size="-1" color="#ffffff" face="SimSun"># 2. method部份请输入您连接上 Internet 的方法, 有 adsl 与 cable 两种</font><br><font size="-1" color="#ffffff" face="SimSun">#   nicif  部份请输入连接 ADSL modem 的网络卡装置代号</font><br><font size="-1" color="#ffffff" face="SimSun">#   outif  部份请输入对外的界面卡</font><br><font size="-1" face="SimSun"><font color="#ffffff">  method="</font><b><font color="#ffff00">adsl</font></b><font color="#ffffff">"        # 这里请输入 "cable" or "adsl"</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">  nicif="</font><b><font color="#ffff00">eth1</font></b><font color="#ffffff">"         # 如果您使用 cable ,那么这里请输入对外的适配卡</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">  outif="</font><b><font color="#ffff00">ppp0</font></b><font color="#ffffff">"         # 如果您使用 cable ,那么这里请输入对外的适配卡</font></font></p><p><font size="-1" color="#ffffff" face="SimSun"># 3. 这里请输入您要系统帮您寄信出去的E-Mail</font><br><font size="-1" face="SimSun"><font color="#ffffff">  emailto="</font><b><font color="#ffff00">root@localhost</font></b><font color="#ffffff">"</font></font></p><p><font size="-1" color="#ffffff" face="SimSun"># 4. 您放置此程序的目录</font><br><font size="-1" color="#ffffff" face="SimSun">  basedir="/usr/local/pingcard"</font><br><font size="-1" color="#ffffff" face="SimSun">  basefile="$basedir/oldcardIP"</font></p><p><font size="-1" color="#ffffff" face="SimSun"># 5. What jobsis your needed?</font><br><font size="-1" color="#ffffff" face="SimSun">#      1. e-mail and re-dial up</font><br><font size="-1" color="#ffffff" face="SimSun">#      2. e-mail, re-dial up, and update DNS</font><br><font size="-1" color="#ffffff" face="SimSun">#      3. IP share ==> e-mail and update DNS</font><br><font size="-1" color="#ffffff" face="SimSun">#      请选择您需要的服务</font><br><font size="-1" face="SimSun"><font color="#ffffff">  jobs="</font><b><font color="#ffff00">2</font></b><font color="#ffffff">"</font></font></p><p><font size="-1" color="#ffffff" face="SimSun">#######################################################################</font><br><font size="-1" color="#ffffff" face="SimSun"># 底下为程序代码,除非您知道Shell script ,否则底下不要修改!</font><br><font size="-1" color="#ffffff" face="SimSun">#======================DETECT FILES SESSION ==========================</font><br><font size="-1" color="#ffffff" face="SimSun"># 1. Detectthe lynx package.</font><br><font size="-1" color="#ffffff" face="SimSun">  PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin</font><br><font size="-1" color="#ffffff" face="SimSun">  exportPATH</font><br><font size="-1" color="#ffffff" face="SimSun">  if ["$jobs" == "2" ] || [ "$jobs" == "3" ]; then</font><br><font size="-1" color="#ffffff" face="SimSun">       which lynx > /dev/null 2>&1</font><br><font size="-1" color="#ffffff" face="SimSun">       if [ "$?" != "0" ]; then</font><br><font size="-1" color="#ffffff" face="SimSun">               echo "The nessecery package ==> lynx do not install!"</font><br><font size="-1" color="#ffffff" face="SimSun">               echo "Please install this package before running this."</font><br><font size="-1" color="#ffffff" face="SimSun">               exit 1</font><br><font size="-1" color="#ffffff" face="SimSun">       fi</font><br><font size="-1" color="#ffffff" face="SimSun">  fi</font></p><p><font size="-1" color="#ffffff" face="SimSun"># 2. Detectthe old IP file</font><br><font size="-1" color="#ffffff" face="SimSun">  welcome='Welcometo use this program to update your IP to</font><br><font size="-1" color="#ffffff" face="SimSun">  www.adsldns.org. This message is only show you at the first time.</font><br><font size="-1" color="#ffffff" face="SimSun">  If youhave any problem about this program, and/or you have any</font><br><font size="-1" color="#ffffff" face="SimSun">  goodideas for develop this program, please contact with me.</font><br><font size="-1" color="#ffffff" face="SimSun">  http://linux.vbird.org'</font><br><font size="-1" color="#ffffff" face="SimSun">  if [! -f $basefile ]; then</font><br><font size="-1" color="#ffffff" face="SimSun">       echo $welcome | mail -s "Welcome using ping_net_card.sh" \</font><br><font size="-1" color="#ffffff" face="SimSun">       $emailto</font><br><font size="-1" color="#ffffff" face="SimSun">       /bin/touch $basefile</font><br><font size="-1" color="#ffffff" face="SimSun">  fi</font></p><p><font size="-1" color="#ffffff" face="SimSun">#######################################################################</font><br><font size="-1" color="#ffffff" face="SimSun">#======================Functions  =====================</font><br><font size="-1" color="#ffffff" face="SimSun"># 底下这个函数在取得新旧的IP 啦!</font><br><font size="-1" color="#ffffff" face="SimSun">oldip () {</font><br><font size="-1" color="#ffffff" face="SimSun">       oldip=`cat $basefile`</font><br><font size="-1" color="#ffffff" face="SimSun">}</font><br><font size="-1" color="#ffffff" face="SimSun">getip () {</font><br><font size="-1" color="#ffffff" face="SimSun">       ifconfig "$outif" > /dev/null 2>&1</font><br><font size="-1" color="#ffffff" face="SimSun">       if [ "$?" == "0" ]; then</font><br><font size="-1" color="#ffffff" face="SimSun">               newip=`ifconfig "$outif" | grep 'inet' | \</font><br><font size="-1" color="#ffffff" face="SimSun">                     awk '{print $2}' | sed -e "s/addr\://"`</font><br><font size="-1" color="#ffffff" face="SimSun">       else</font><br><font size="-1" color="#ffffff" face="SimSun">               newip=""</font><br><font size="-1" color="#ffffff" face="SimSun">       fi</font><br><font size="-1" color="#ffffff" face="SimSun">}</font></p><p><font size="-1" color="#ffffff" face="SimSun"># 底下这个函数在检验新旧IP 是否相同!?</font><br><font size="-1" color="#ffffff" face="SimSun">checkip (){</font><br><font size="-1" color="#ffffff" face="SimSun">       if [ "$method" == "adsl" ]; then</font><br><font size="-1" color="#ffffff" face="SimSun">               adsl-stop  > /dev/null 2>&1</font><br><font size="-1" color="#ffffff" face="SimSun">               sleep 3s</font><br><font size="-1" color="#ffffff" face="SimSun">               adsl-start > /dev/null 2>&1</font><br><font size="-1" color="#ffffff" face="SimSun">       fi</font><br><font size="-1" color="#ffffff" face="SimSun">       if [ "$method" == "cable" ]; then</font><br><font size="-1" color="#ffffff" face="SimSun">               ifdown $nicif > /dev/null 2>&1</font><br><font size="-1" color="#ffffff" face="SimSun">               sleep 3s</font><br><font size="-1" color="#ffffff" face="SimSun">               ifup $nicif   > /dev/null 2>&1</font><br><font size="-1" color="#ffffff" face="SimSun">       fi</font><br><font size="-1" color="#ffffff" face="SimSun">       sleep 3s</font><br><font size="-1" color="#ffffff" face="SimSun">}</font></p><p><font size="-1" color="#ffffff" face="SimSun"># 这个函数在将IP 地址寄给您</font><br><font size="-1" color="#ffffff" face="SimSun">mailtoyou (){</font><br><font size="-1" color="#ffffff" face="SimSun">       echo $newip | \</font><br><font size="-1" color="#ffffff" face="SimSun">       mail -s "The new IP in your $hostname" $emailto</font><br><font size="-1" color="#ffffff" face="SimSun">       echo "$newip" > $basefile</font><br><font size="-1" color="#ffffff" face="SimSun">}</font></p><p><font size="-1" color="#ffffff" face="SimSun"># 这个函数在更新DNS 系统</font><br><font size="-1" color="#ffffff" face="SimSun">updateforyou() {</font><br><font size="-1" color="#ffffff" face="SimSun">       HOST="http://www.adsldns.org:8080/clientupdate.php?\</font>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -