- 论坛徽章:
- 0
|
不知道大家有没有搞过gnudip··我前天刚刚搞好,网上资料太少
便于日后维护,我自己写了一个文档
1、 先把gnudip.tar.gz 用 tar 解压缩出来,copy到 /usr/local/ 用 ll命令查看有 gnudip目录即可
2、 创建mysql 数据库
# mysql -fvp < xxxx. mysql (创建数据教本,gnudip自带的,在解压后的 gnudip目录下面有一个叫做的gnudip.mysql文件)
3、 设置bind 和DNS服务器 如果你的DNS的服务器ip是192.168.123.91
# vi /etc/named.conf
zone "example.intranet" {
type master;
file "example-intranet.zonefile";
allow-update { 192.168.123.91; };
};
... 或者是用这样的方法...
zone "example.intranet" {
type master;
file "example-intranet.zonefile";
allow-update { localhost; };
};
4、使用dnssec-keygen 命令 创建一个授权文件
# dnssec-keygen -a hmac-md5 -b 128 -n HOST gnudip-key.
然后你会看见一个例如:Kgnudip-key.+157+54000.xxxx的两个文件;一个是 扩展名是key,另外一个是.private
再用 cat命令查看一下
# cat Kgnudip-key.+157+54000.private
Private-key-format: v1.2
Algorithm: 157 (HMAC)
Key: fegHlhVt3opPIiK8V4cjLw==
# cat Kgnudip-key.+157+54000.key
gnudip-key. IN KEY 513 3 157 fegHlhVt3opPIiK8V4cjLw==
5、 设置 /usr/local/gnudip/etc/gnudip.conf 下面的gnudip.conf文件
配置内容如下:
nsupdate = /usr/bin/nsupdate -v
nsupdate = -k /usr/local/gnudip/etc/Kgnudip-key.+157+36000.private
6、 创建一个 叫gnudip-keyfile的文件在你的 named 配置目录里面
注意:该文件属性为nobody
key gnudip-keyname {
algorithm hmac-md5;
// the TSIG key generated by nsupdate
secret "fegHlhVt3opPIiK8V4cjLw=="; //就是你刚刚dnssec-keygen创建的密钥名称
};
7、 创建好了gnudip-key这个文件你现在还是要在named.conf里面添加如下代码
// include definition of GnuDIP update key
include "path/to/gnudip-keyfile"; //刚刚创建的gnudip-keyfile文件和文件全路径
// define GnuDIP dynamic DNS zone
zone "dyn.you.net" in {
type master;
file "run/zone-dyn.you.net"; // 因改是 /var/named/run的 run吧
allow-query { any; };
update-policy { grant gnudip-keyname subdomain dyn.you.net; };
};
8、在run目录下创建 zone-dyn.you.net 是设置你 dns server的 $TTL 和 SOA 值的
$TTL 86400 ; default TTL (1 day)
@ IN SOA ns.you.net. root.you.net. (
0 ; serial
3600 ; refresh (1 hour)
1800 ; retry (30 minutes)
604800 ; expire (1 week)
0 ; TTL for NACK-s (0 seconds)
)
IN NS ns1.example.intranet.
IN NS ns2.example.intranet.
IN CNAME gnudiphost.example.intranet.
8、 用nsupdate命令来更新、设置你的 DNS server 值
请注意 如果你编辑完了 就按【回车】,按然后 ctrl+D 退出,保存
# nsupdate
>; update delete myhost.example.intranet. A
>; update add myhost.example.intranet. 60 A 192.168.2.1 //也可以设置为你当前服务器的ip地址
9、用dig命令debug 你的当前配置是否正确 如果正确得到结果如下
# dig tester.dyn.you.net. soa
; <<>;>; DiG 9.1.3 <<>;>; tester.dyn.you.net. soa
;; global options: printcmd
;; Got answer:
;; ->;>;HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 34673
;; flags:qr aa rd ra; QUERY:1, ANSWER:0, AUTHORITY:1, ADDITIONAL:0
;; QUESTION SECTION:
;tester.dyn.you.net. IN SOA
;; AUTHORITY SECTION:
dyn.you.net. 0 IN SOA you.net. root.you.net. 484 3600 1800 604800 0
;; Query time: 8 msec
;; SERVER: 192.168.0.2#53(192.168.0.2)
;; WHEN: Tue Oct 23 14:47:24 2001
;; MSG SIZE rcvd: 88
10、使用 ping 命令 看看域名是否正确 正确 结果如下:
ping tester.dyn.you.net.
PING tester.dyn.you.net (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=255 time=0.2 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=255 time=0.1 ms
--- tester.dyn.you.net ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.1/0.1/0.2 ms
#
11、最后要看看/usr/local/gnudip/etc/gnudip.conf 下面是否有该文件存在,如果有那么他的文件属性必须是“nobody”,因为apache服务器的当前默认 操作用户是nobody
如果该文件不是请用代码:
chown nobody:nobody /usr/local/gnudip/etc/gnudip.conf
改变文件属性
12、配置 Apache服务的web虚拟目录
代码:
ScriptAlias /gnudip/cgi-bin/ /usr/local/gnudip/cgi-bin/
Alias /gnudip/html/ /usr/local/gnudip/html/
13、打开一个浏览器 输入
http://192.168.123.91/gnudip/cgi-bin/gnudip.cgi
添加用户方法:
cd /usr/local/gnudip/sbin 目录里面 然后执行 ./gdipadmin.pl test 123456 为 gnudip server 添加用户
―――――――――――――――以下内容可以忽略―――――――――――――――
14、编辑 /etc/services 文件 为 gnudip添加服务的端口号
代码
Gnudip中间按两下tab键3495/tcp
15、如果想在 启动的时候加载 gnudip 请在/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
only_from = 192.168.0.0/24
only_from += 127.0.0.1
only_from += 24.64.0.0/13
only_from += 64.5.210.224/31
only_from += 64.5.221.128/27
} |
|