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结尾的

文件如:scott.home.zone.jnl 这时ping test.scott.home看看能还PING通

linux一键搭建ddns,LINUX下搭建DDNS相关推荐

  1. Linux (CentOS 7 )下搭建局域网SVN服务器+SVN权限配置

    准备 公司内部需要配置局域网SVN,需要在在内部虚拟机服务器搭建,搭建过程做个记录,供参考. 注:如果条件允许,尽量在windows下搭建svn服务器,很省事,尤其是权限配置非常方便又易懂,效果相同 ...

  2. ubuntu下php服务器搭建_Ubuntu服务器下搭建php运行环境的方法

    本文实例讲述了Ubuntu服务器下搭建php运行环境的方法.分享给大家供大家参考,具体如下: 安装 Apache2: sudo apt-get install apache2 安装PHP模块: sud ...

  3. win7系统下搭建服务器搭建,win7系统下搭建iis服务器的方法步骤

    IIS是一种网页(web)服务组件,其中分为"Web服务器"."FTP服务器"."NNTP服务器"和"SMTP服务器". ...

  4. emacs Linux Java编程环境_Linux下搭建用emacs查看代码的开发环境

    在windows下面我们有source in sight可以方便的浏览大工程中的代码,切换到linux环境下开发时,我们也可以搭建一个这样的环境.下面的内容将介绍如何搭建这样一个开发环境(这里我们假设 ...

  5. linux 测试环境启用jar_Linux下搭建测试环境

    一.下载安装包 https://pan.baidu.com/s/1h-Nk8HcWKKtqbjrn0J_t1g   457j JDK1.8安装包.Tomcat8安装包 本文用的远程连接Linux操作系 ...

  6. linux wordpress mysql 配置_linux下搭建wordpress站点

    搭建php站点 安装并启动 apache | mysql | php yum install -y httpd mysql mysql-server php php-mysql #启动apache m ...

  7. linux配置中心自动化,centos下搭建git服务 基于git服务配置自动化部署 遇到的Linux知识补充...

    安装 git su root yum install -y git 添加 git 用户,用于管理/使用 git 服务/仓库 创建用户 git # 添加名为git的用户, 并且会默认创建一个名为git的 ...

  8. eclipse linux c开发环境,Eclipse下搭建C/C++开发环境

    首先确保你已经安装了eclipse和JDK. 接下来安装CDT,这个可以去网上下载,CSDN里有很多CDT的下载站点,下载后解压,里面有两个文件夹:features和plusins,把文件夹里的东西拷 ...

  9. linux 一键安装upx,centos下安装UPX+压缩golang可执行程序

    centos安装upx wget -c http://ftp.tu-chemnitz.de/pub/linux/dag/redhat/el7/en/x86_64/rpmforge/RPMS/ucl-1 ...

  10. mysql服务器搭建方法_windows下搭建MySQL服务器步骤详解

    Mysql是一个数据库系统,它包括数据库服务器,并且有一个数据库管理系统对数据库服务器进行管理,同时还包括有一个数据库客户端,用于与用户交互. 从官方网站下载Mysql数据库系统的安装包程序,http ...

最新文章

  1. 软件测试培训分享:软件测试初期怎么面试工作?
  2. linux 下如何安装php,详解在Linux下如何安装配置PHP
  3. 关于ArcGIS JS API中的map高度为400px的问题解决
  4. linux安装java_Linux安装JDK完整步骤
  5. Linux下全局安装composer方法
  6. 学成在线--15.课程计划查询
  7. location 和 history
  8. Python学习笔记之函数(三)
  9. JSP include directive 和JSP include的区别
  10. AJPFX解析关于编码ansi、GB2312、unicode与utf-8的区别
  11. exchange server 2010 OWA 附件功能只支持IE浏览器
  12. android播放器 重音,如何在SQLite查询中忽略重音(Android)
  13. 让你做个《五子棋》怎么存储棋盘上的棋子信息?
  14. Truecrypt 破解工具
  15. 工程实践,淘宝直播高画质低延时技术探索
  16. HOI BMVC2018| iCAN: Instance-Centric Attention Network for Human-Object Interaction Detection论文阅读笔记
  17. TCP自时钟/拥塞控制/带宽利用之脉络半景解析
  18. 第7章第24节:双图排版:两张图片的一大一小对比排版 [PowerPoint精美幻灯片实战教程]
  19. WPS如何使用VBA
  20. Linux之C++毫秒级计时方法

热门文章

  1. 小程序 处理富文本内图片大小
  2. CEF避坑指南(一)——编译并自制浏览器
  3. 7.1 elementui的radio无法选中问题
  4. Redis入门(三)Redis的基本数据类型
  5. react中修改antd的默认样式
  6. Python并发编程:多进程-守护进程
  7. 处理git clone命令的非标准SSH端口连接
  8. 数据预处理与数据分类预测
  9. extjs中为什么使用“var me = this”?
  10. 学习:java原理—反射机制