查看源代码
出自Linux Wiki
对
动态域名
的源代码
根据以下的原因,您无权限进行编辑这个页面操作:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
用个人电脑架设服务器或想远程控制电脑时,常需要一个固定的域名,指向一台IP可能变化的电脑,即动态域名。 目前提供免费动态域名的有国内的[http://www.pubyun.com/ 公云(原3322)]、和[http://www.no-ip.com No-IP]等。 ==更新域名指向== 在Linux中,一般可以使用服务提供商提供的工具更新域名的指向。如No-IP提供的更新工具,在Archlinux中可以通过软件包<tt>noip</tt>安装。 另外,对于很多服务而言,使用[[wget]]一个包含'''用户名'''、'''密码'''和'''域名'''的URL,也可以更新动态域名的指向(A记录)。<ref>[http://www.no-ip.com/integrate/request No-IP的API文档]</ref><ref>[http://www.pubyun.com/wiki/%E5%B8%AE%E5%8A%A9:api 小辣椒(3322)动态域名更新API]</ref> 下面的是一个样例Bash脚本,适用于3322<ref>http://www.cyberciti.biz/tips/read-unixlinux-system-ip-address-in-a-shell-script.html</ref><ref>http://yaoms.blog.ubuntu.org.cn/2008/04/10/3322%E5%8A%A8%E6%80%81%E5%9F%9F%E5%90%8D%E7%BB%91%E5%AE%9A%EF%BC%88wget%E7%89%88%EF%BC%89/</ref>: <source lang="bash"> #!/bin/bash USERNAME="你的用户名" PASSWORD="你的密码" DOMAINNAME="你的完整的动态域名" SetIP=false # 为true时用ifconfig返回的IP设定DNS,否则由服务器自己判断 if $SetIP ; then # 下面从ifconfig获取IP,如果需要,可以手动更改 MYIP=`LANG=C ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'| head -n1` wget -q -O- "http://$USERNAME:$PASSWORD@members.3322.org/dyndns/update?system=dyndns&hostname=$DOMAINNAME&myip=$MYIP" else wget -q -O- "http://$USERNAME:$PASSWORD@members.3322.org/dyndns/update?system=dyndns&hostname=$DOMAINNAME" fi </source> 如果不提供IP,服务器可以自动判断请求的来源IP。但有时(如使用VPN时)请求来源IP并非电脑的真实IP,此时要将''SetIP''设为''True'',并使用[[Shell中获取当前IP地址|脚本获得电脑目前的IP]]。 ==启动时自动更新== 您需要切换到root用户或使用sudo进行下面的操作。 将上面的脚本存入适当的文件夹,如''/usr/bin/updateDNS'',并增加可执行权限: # chmod +x /usr/bin/updateDNS 修改''/etc/rc.local'',在exit 0前面加入一行: updateDNS 这样系统每次启动时就会更新域名的指向了。 更合理的,updateDNS应在网络连接建立自动运行,而不是在系统启动时,具体的设置方法请参照[[网络连接建立后自动运行程序]]。 ==参考资料== <references /> [[Category: 服务器配置]]
返回到
动态域名
。
导航
首页
社区入口
当前事件
最近更改
随机页面
帮助
查看
页面
讨论
查看源代码
历史
个人工具
登录/创建账户
搜索
简体繁体转换
不转换
简体
繁體
工具箱
链入页面
链出更改
特殊页面