1. 原理
2. 环境准备
1. Perl
2. Bind8/Bind9 (要有nsupdate 指令)
3. Sendmail/Exim/qmail/Postfix (的 sendmail 指令)
4. MySQL/PostgreSQL (用作儲存帳號,本筆記不用,改用file system)
3. 安装过程
3.1. 安装GNUDip软件
解压后把gnudip目录拷贝到/usr/local下面。
3.2. 数据库脚本
Mysql启动使用/etc/rc.d/init.d下的脚本。
安装GnuDip数据库脚本:
# mysql --user=root -fvp < gnudip.mysql
3.3. Gnudip配置
修改 /usr/local/gnudip/etc/gnudip.conf,令GnuDIP可以成功更新DNS。
把生成的密钥文件.key和.private都拷贝到/usr/local/gnudip/etc下.
# BIND nsupdate command
nsupdate = /usr/bin/nsupdate -v
nsupdate = -k /usr/local/gnudip/etc/Kgnudip-key.+157+xxxxx.private (就是剛才產生的key file)
3.4. 启动
在/etc/xinetd.conf 下面加入代码
service gnudip
{
flags = REUSE
socket_type = stream
protocol = tcp
wait = no
user = nobody
server = /usr/local/gnudip/sbin/gdipinet.pl // 保证该文件的绝对路径
bind = 0.0.0.0
}
4. WEB环境配置
4.1. 配置Apache
Apache缺省配置文件:/etc/httpd/conf/httpd.conf
1. Apache改为由nobody用户启动
#User apache
#Group apache (可不设置)
User nobody
2. 添加GnuDip的页面设置
Alias /gnudip/html/ /usr/local/gnudip/html/
<Location /gnudip/html/>
Options Indexes
ReadmeName .README
HeaderName .HEADER
RemoveHandler .pl
RemoveType .pl
AddType text/plain .pl
</Location>
ScriptAlias /gnudip/cgi-bin/ /usr/local/gnudip/cgi-bin/
4.2. 确认Gnudip配置文件属性
确认一下/usr/local/gnudip/etc目录下文件owner是nobody,并且文件只nobody可读。
4.3. 添加WEB管理员
/usr/local/gnudip/sbin 下运行
./ gdipadmin.pl username password
4.4. 访问WEB工具
重启Apache后就可以访问了.
http://yourserver/gnudip/cgi-bin/gnudip.cgi
自服务URL:
http://yourserver/gnudip/cgi-bin/gnudip.cgi?action=signup
如果页面报错,访问apache日志文件。
4.5. 添加用户
cd /usr/local/gnudip/sbin 目录里面
然后执行 ./gdipadmin.pl test 123456 为 gnudip server 添加用户
gdipuseradd.pl –p password user domain
也可以在管理界面上添加。
5. TCP协议
A