首页

文章

如何在Linux里搭建ddns(动态DNS服务器)?

发布网友 发布时间:2022-04-19 14:03

我来回答

2个回答

热心网友 时间:2023-07-07 09:48

linux系统下搭建DDNS服务
记住把 dhcp 和 bind, bind-utils 装上就行了。
配置:
一 生成密钥
# dnssec-keygen -a HMAC-MD5 -b 128 -n USER DHCP_UPDATER
这时当前目录下会生成Kdhcp_updater.+xxx+xxxxx.key及.private两个文件
# cat Kdhcp_updater.+xxx+xxxxx.key
DHCP_UPDATER. IN KEY 0 2 157 qSSpjerAuaPE/X3JJyxSww==
其中qSSpjerAuaPE/X3JJyxSww==下面要用到的。
参数说明:
上述dnssec-keygen命令的功能就是生成更新密钥,其中参数-a HMAC-MD5是指密钥的生成算法采用HMAC-MD5;参数-b 128是指密钥的位数为128位;参数-n USER DHCP_UPDATER是指密钥的用户为DHCP_UPDATER
二、DHCP的配置:
配置DHCP server 时很简单,可以参考 /usr/share/doc/dhcp-x.xx/dhcpd.conf.sample来做。也可以先把这个文件cp 到 /etc/dhcpd.conf,然后根据自己的需要做适当修改。下面贴出我的一个/etc/dhcpd.conf,供大家参考:
ddns-update-style interim;
ignore client-updates;
max-lease-time 604800;
default-lease-time 86400;
key DHCP_UPDATER {
algorithm HMAC-MD5;
secret qSSpjerAuaPE/X3JJyxSww==;
};
zone shcto.com. {
primary 127.0.0.1;
key DHCP_UPDATER;
}
zone 160.230.10.in-addr.arpa. {
primary 127.0.0.1;
key DHCP_UPDATER;
}
subnet 10.230.160.0 netmask 255.255.255.0 {
range 10.230.160.30 10.230.160.230;
# --- default gateway
option routers 10.230.160.254;
option subnet-mask 255.255.255.0;
option broadcast-address 10.230.160.255;
# --- option nis-domain "domain.org";
option domain-name "shcto.com";
option domain-name-servers 10.230.128.33,10.230.128.34;
}
几个要注意的地方:
1. 'ddns-update-style'
这个就是动态DNS的更新方式,有几个选项,我用的是interim,可以用 man dhcpd.conf找到另外的几个选项。
2. 'ignore client-updates'
这个选项是不允许客户机更新DNS记录。当然,也可能允许,但会有一点问题。
3. 'key DHCP_UPDATER'
这个是更新DNS的KEY,是必须的。其中algorithm 后的是生成key的算法,key的生成是用 'dnssec-keygen -a HMAC-MD5 -b 128 -n USER DHCP_UPDATER'。
4. 'zone'
要更新的zone,如果是本机就是DNS server,primay 就写127.0.0.1,要是其它机器是DNS server, 就写那台机器的IP。
别的都是一般DNS该有的了,要注意的是一定要有 range 那一行,不然就分不了IP啦。
配好以后,可以启动一下试试, service dhcpd start,如果没问题,把dhcpd改成开机就启动,chkconfig --level 2345 dhcpd on。
三、bind(named)的配置。
# rpm -qa | gerp bind
看有没有bind-xx及bind-chroot-xx理论上chroot可以提高安全性但设置时繁琐一点
# rpm -qa | gerp caching-name
看caching-nameserver是否也已经装了,这个不装的话就要自己写named.ca等几个文件了

######################3named.conf参考范例:
// generated by named-bootconf.pl
options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
forward first;
forwarders { 202.99.224.8; 202.99.224.67; 202.106.0.20; };

// query-source address * port 53;
};
//
// a caching only nameserver config
//
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
key DHCP_UPDATER {
algorithm HMAC-MD5;
secret qSSpjerAuaPE/X3JJyxSww==;
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
zone "160.230.10.in-addr.arpa" IN {
type master;
file "named.160.230.10";
allow-update { key DHCP_UPDATER; };
};
zone "shcto.com" IN {
type master;
file "named.shcto.com";
allow-update { key DHCP_UPDATER; };
};
include "/etc/rndc.key";
/var/named/
区域文件
$TTL 86400
$ORIGIN shcto.com.
@ IN SOA NS1.shcto.com. root.NS1.shcto.com. (
2007121001;
28800;
14400;
3600000;
86400);
IN NS NS1.shcto.com.
IN MX 0 mail.shcto.com.
mail IN A 10.230.129.40
webserver IN A 10.230.128.36
www IN CNAME webserver
smbserver IN A 10.230.128.33
ftp IN CNAME smbserver
named.128.230.10
$TTL 86400
@ IN SOA NS1.shcto.com. root.mail.shcto.com.(
2007121001;
28800;
14400;
3600000;
86400);
IN NS NS1.shcto.com.
40 IN PTR mail.shcto.com.
33 IN PTR smbserver.shcto.com.
80 IN PTR webserver.shcto.com.

其中多了的是
key DHCP_UPDATER {
algorithm HMAC-MD5;
secret qhB++OR5yWo8BTXwk/m4ng;
};
这就是更新dns要用的key,必须和dhcpd.conf里的一样。
还有就是每个 zone 都可以用 key 来update了。
这样就行了。然后启动一下试试吧。
你就可以ping 机器名来找你同事的机器了。

四。测试(主要讲讲LINUX)
在客户机上加入一个文件/etc/dhclient.conf内容如下
send fqdn.fqdn "test"; //test为本机的hostname
send fqdn.encoded on;
send fqdn.server-update off;
运行dhclient或重新启动
正常的话DNS服务器主机的/var/named/chroot/var/named下会多出一个以jnl结尾的

热心网友 时间:2023-07-07 09:49

linux下创建DDNS服务器(在一个Blog中找到的)1、先创建一个用户myddns
#useradd myddns
2、生成密码
#dnssec-keygen -a HMAC-MD5 -b 128 -n USER myddns
在当前目录下生成了两个文件:
Kmyddns.+157+59363.key
Kmyddns.+157+59363.private
3、配置DNS
#vi /etc/named.conf
添加以下内容:
key myddns {
algorithm HMAC-MD5.SIG-ALG.REG.INT;
secret xEGzMJVu7aT81lC5QRzIg==;
};
其中secrect后的内容是用vi打开Kmyddns.+157+59363.private后,拷贝里面的密码文件得来的!
4、配置DHCP
#vi /etc/dhcpd.conf
先将第二行前面的“#”去掉,再在subnet 上面添加下面一行内容:
ddns-updates on;
在option domain-name 后,改成DNS的域名,例如“sunman.com”
在option domain-name-servers 后,填写好DNS服务器的IP地址,例如:192.168.1.112
然后在里面添加下面几行内容:
key myddns {
algorithm HMAC-MD5.SIG-ALG.REG.INT;
secret xEGzMJVu7aT81lC5QRzIg==;
}

zone sunman.com. {
primary 192.168.1.2;
key myddns;
}

zone 1.168.192.in-addr.arpa. {
primary 192.168.1.2;
key myddns;
}
保存退出!
5、开启DNS和DHCP服务器
#service named start
#service dhcpd start
6、通过下面的命令排错
#tail -n 20 /var/log/messages | grep named (指定显示靠后的20行内容)
#tail /var/log/messages | grep dhcpd (全部显示所有内容)
7、linux客户端通过dhclient命令动态获取到IP,这时在DNS服务器的/var/named/chroot/var/named/下会生成两个扩展名是.jnl的文件。
还有一点要注意,linux客户端还必须执行下面的工作
#cp /usr/share/doc/dhclient-3.0pl2/dhclient.conf.sample /etc/dhclient.conf
生成一个dhclient.conf配置文件
#vi /etc/dhclient.conf
修改第一行内容,将双引号里的内容删掉,添加上自己的主机名。
最后再执行dhclient命令来获取IP。

/etc/named.conf文件内容:

options {
directory "/var/named";
listen-on ports 53 {
127.0.0.1;
192.168.1.112;
};

forward first;
forwarders {202.38.64.1;202.96.199.133;};

};

zone "." IN {
type hint;
file "named.ca";
};

zone "localhost" IN {
type master;
file "localhost.zone";
};

zone "0.0.127.in-addr.arpa" IN {
type master;
file "localhost.arpa";
};

key myddns {
algorithm HMAC-MD5.SIG-ALG.REG.INT;
secret xEGzMJVu7aT81lC5QRzIg==;
};

zone "sunman.com" IN {
type master;
file "sunman.zone";
allow-update { key myddns; };
};

zone "1.168.192.in-addr.arpa" IN {
type master;
file "sunman.arpa";
allow-update { key myddns; };
};

key "rndc-key" {
algorithm hmac-md5;
secret "pq18UO7rODLStf5XVdg17Q==";
};

controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};

/etc/dhcpd.conf配置文件内容:

ddns-update-style interim;
#ignore client-updates;
ddns-updates on;
subnet 192.168.1.0 netmask 255.255.255.0 {
# --- default gateway
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option nis-domain "domain.org";
option domain-name "sunman.com";
option domain-name-servers 192.168.1.112;
option time-offset -18000;
# Eastern Standard Time
# option ntp-servers 192.168.1.1;
# option netbios-name-servers 192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;
range 192.168.1.128 192.168.1.255;
range 192.168.1.10 192.168.1.100;
default-lease-time 21600;
max-lease-time 43200;
# we want the nameserver to appear at a fixed address
host ns {
next-server marvin.redhat.com;
hardware ethernet 12:34:56:78:AB:CD;
fixed-address 207.175.42.254;
}
}

key myddns {
algorithm HMAC-MD5.SIG-ALG.REG.INT;
secret xEGzMJVu7aT81lC5QRzIg==;
}

zone sunman.com. {
primary 192.168.1.2;
key myddns;
}

zone 1.168.192.in-addr.arpa. {
primary 192.168.1.2;
key myddns;
}
李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 “君不见巴丘古城如培塿”的出处是哪里 带“奈何”的诗句大全(229句) 里翁行()拼音版、注音及读音 带“不虑”的诗句 “鲁肃当年万人守”的出处是哪里 无尘防尘棚 进出口报关流程,越详细越好。谢谢大家指教。 双线桥不是看化合价升多少就标多少的吗?为什么CL2+2KI=2KCL+I2中I失... 出师表高锰酸钾有画面了吗 2021年幼儿园新学期致家长一封信 电脑屏幕一条黑线怎么办? 销售代理商销售代理商的特点 商业代理商业代理的特征 如何看微信有没有开通微众银行 为什么微众没有开户 微众银行怎么开户 微众银行APP开户流程是什么? 唐古拉山海拔唐古拉山海拔是多少 怎么看待取消跳广场舞的人的退休金 如何选购新鲜的蓝田水柿? 恭城水柿柿树作用 创维洗衣机使用教程 创维全自动洗衣机怎么使用 自动开门器 狗羊属相婚姻相配吗 3岁的小孩不会说话怎么办 在LInux中怎样安装和配置DNS服务器要具体步骤 如何在LINUX命令下设置DNS linux怎样配置dns服务器 Linux DNS 如何搭建 linux dns服务器怎么设置 如何给linux添加dns服务器记录? linux下如何配置DNS服务器, linuX下DNS怎么搭建? 在Linux中,如何配置DNS? 如何在在Linux系统上配置DNS服务器 如何在Linux操作系统上架设DNS服务器 洗澡的好处很多,宝宝常洗澡有什么好处? 婴儿洗澡水温度多少合适 十几年前有一种小象的沐浴液,谁知道是什么牌子的? 给新生儿洗澡澡,你知道有哪些注意点吗? 爸妈给新生儿洗澡的时候,一定要注意哪些事情? 新生婴儿可以每天洗澡吗 新生儿洗澡可以用沐浴露吗?还是仅用清水洗? 如何正确给新生儿洗澡? 看到一个小孩洗澡的动态图片,是个小男孩大概4、5... 在linux系统下,如何配置DNS服务器,用域名发布网... LINUX搭建DNS服务器问题 求高手解答 linux下架设dns服务器 RedHat-Linux配置DNS详细步骤是什么? 如何在linux下搭建dns服务器?最关键的配置文件有... 参加一周cp活动中你遇到过哪些有意思的人? ff14黑魔打d几 ff14黑魔法师在哪学 FF14怎么转职黑魔法师 最终幻想14黑魔巴哈4层打法介绍 FF14黑魔怎么打巴... ff14黑魔法师怎么玩 ff14黑魔80级堆什么属性 求助大佬,FF14到底怎么转职黑魔 FF14黑魔法师怎么玩 高手经验心得 《FF14》新版本黑魔52职业任务怎么做? ff14拉姆歼殛战 黑魔怎么打 ff14黑魔6.0变难了吗 FF14黑魔副本输出手法分析 满级黑魔怎么输 FF14黑魔副本输出手法分析 满级黑魔怎么输出 FF14黑魔导任务哪里接 FF14怎么转职黑魔法师
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com