OpenBSD的安装、升级、更新等日常问题。
版主: chenjun, 天地乾坤
-
leo
- 帖子: 2465
- 注册时间: 2010-01-21 3:27
帖子
由 leo » 2011-05-13 14:01
用ddclient实现顶级域名动态解析
现在有一些域名供应商可以免费提供顶级域名的动态解析,这就给不想/能使用共享主机的用户提供了一个更多的选择,例如,那些每次拨号后公网IP地址都会发生变化的ADSL用户。
好了,不多说了,下面直奔主题:
我的平台,OpenBSD 4.8 i386,我们以在namecheap申请的域名gobsd.org以为例(这里是假设的例子)
1. 先安装ddclient:
代码: 全选
# export PKG_PATH=ftp://ftp.openbsd.org/pub/OpenBSD/4.8/packages/i386/
# pkg_add ddclient-3.8.0
2. 配置 ddclient:
ddclient的配置文件是 /etc/ddclient/ddclient.conf,用自己熟悉的编辑器打开配置文件并找到最后的namecheap的部分
修改为:
代码: 全选
##
## NameCheap (namecheap.com)
##
protocol=namecheap
server=dynamicdns.park-your-domain.com
login=gobsd.org
password=1b9aafgfgjh1865e024fabb629dbd1d9c462gobsdb629dbd1d9c462
www.gobsd.org
保存退出。
限制配置文件的权限:
代码: 全选
# chmod 600 /etc/ddclient/ddclient.conf
让ddclient随系统启动,编辑: /etc/rc.local 文件,加入如下内容:
代码: 全选
if [ -x /usr/local/sbin/ddclient ]; then
echo -n ' ddclient'; /usr/local/sbin/ddclient
fi
done!
-
leo
- 帖子: 2465
- 注册时间: 2010-01-21 3:27
帖子
由 leo » 2011-06-01 13:51
看了一下这个网站,确实提供顶级域名解析。
OpenBSD 自带修补过的perl, 所以如果只是一个perl脚本,操作应该不难,我这一阵子一直为解决论坛升级后的中文搜索绞尽脑汁,暂时还没有时间进行测试,兄弟们自己来吧,估计难度不大,如果实在搞不定,等我闲下来再测试一下。这个网站上挂靠的顶级域名很多,应该操作起来没有什么难度的;如果哪位测试成功了,请给出方案,多谢了。
说明如下:
代码: 全选
SYNOPSIS
This utility implements a client for the afraid.org dynamic DNS service.
A cron job is set up to check whether the external IP address has
changed, and when it does, connects to afraid.org and updates the
DNS entries of all the domains of the given account.
SUPPORTED OPERATING SYSTEMS
* Fedora
* CentOS
* RHEL
* OSX
INSTALL
1. log in as root (needed to access config, cron and cache directories):
# su -
2. Download the tarball:
# cd /tmp
# wget ftp://arix.com/afraid-dyndns-x.x.tar.gz
on OSX, you can use:
# curl -O ftp://[email protected]/afraid-dyndns-x.x.tar.gz
3. Untar:
# tar xzvf afraid-dyndns-x.x.tgz
4. Install:
# cd afraid-dyndns-x.x
# ./install
CONFIGURATION
To configure, edit the /etc/afraid-dyndns.conf file. The AccountHash
field refers to the SHA value assigned to your afraid.org account.
To get it, log into afraid.org and visit:
http://freedns.afraid.org/api/
then click on either of your "ChoOsE YoUr WeApOn" links and take
the value of the "sha" parameter (it's a long string). The Notify
address (if present) will be sent e-mail whenever the DNS is
refreshed. CacheFile is the file name where the external IP address
will be cached.
Additionally, the cron job checks the external IP address every 15
minutes. To modify this, edit /etc/cron.d/afraid-dyndns - on OSX you'll
need to edit the file /Library/LaunchDaemons/org.afraid.dyndns.plist (and
reboot)
Unlink on Linux systems where all names on the account are refreshed with
the IP of the host, on OSX the default configuration only names matching
the host's name will be refreshed. The assumption here is that Linux
hosts are likely to be used as servers (which may require multiple names
as in the case of a webserver hosting multiple domains), whereas OSX
hosts are likely to be used as clients e.g. laptops which we want
accessible via a domain name but which roam.
To change this behaviour on OSX, edit the plist, take out the
hostname parameter (after the --quiet) and reboot.
SYNTAX
Call the script with --help
LIMITATIONS
At present, only one account is supported.
AUTHOR/SUPPORT
Erick Calder <[email protected]> - For bugs, suggestions, etc. please
feel free to contact me.
-
hyaska
- 铜 Cu
- 帖子: 311
- 注册时间: 2010-12-10 16:11
帖子
由 hyaska » 2011-06-01 16:09
我用freedns是因为动态免费,还有短域名可用,输入时偷点懒。
安装脚本我看了,估计是基于bsh的,跟OB的ksh不能完全兼容,所以安不了,试着分析每句的作用,大不了手动安一个试试。
-
leo
- 帖子: 2465
- 注册时间: 2010-01-21 3:27
帖子
由 leo » 2011-06-01 16:24
我没有用过bash,但是OpenBSD的ports里好像有,可以先安装一个试试,如果成功了就简单了,再想办法将bash的脚本转换为ksh的。Unix的shell多也是麻烦事,有时候选择时确实两难。
PS:还是namecheap的简单,直接在ddclient里可以设置参数,我刚看了一下自己的 /etc/ddclient/ddclient.conf文件,里面不能设置afraid.org的二级域,如果你的域名不是在namecheap注册的,恐怕无法使用我上面给出的方案。
-
hyaska
- 铜 Cu
- 帖子: 311
- 注册时间: 2010-12-10 16:11
帖子
由 hyaska » 2011-06-09 16:17
刚才仔细研究了一下主站,没发现可以不用什么客户端软件,直接用一行命令就可以搞定
红圈部分就是取得只针对你申请帐号做DDNS的脚本,格式如下:
代码: 全选
rem xxx.yyy.zzz
wget -q --read-timeout=0.0 --waitretry=5 --tries=400 --background http://freedns.afraid.org/dynamic/update.php?ABCDE..... #ABCDE....一串是根据你的帐号和密码生成的,一旦改密码后这串就会变的
真的很简单,差点就被主站的FAQ里的那些客户端给误导了:D
-
附件
-
-
junfengfan
- 铜 Cu
- 帖子: 236
- 注册时间: 2010-02-03 18:37
帖子
由 junfengfan » 2012-01-30 22:36
放在 openbsd 的运行提示 rem: not found
要不把 rem那行去掉?
在线用户
正浏览此版面之用户: Ahrefs [Bot] 和 0 访客