2017-06-16 20:56:00 LiaoYuanyang 阅读数 123
  • 智能家居与物联网 从入门到精通 HomeAssistant实战...

    本课程通过一步步的实践演示,带领大家在开源项目的基础上,搭建随心所欲的物联网与智能家居平台。在过程实践中,大家会学习与应用到linux、python、云服务、图像识别、智能语音、单片机、数据库、前端开发等多方面的知识,帮助大家成为IT的全栈工程师。以实战为导向结合物联网各类知识要点学习经典框架进行项目实战,快速掌握智能家居、家庭自动化、物联网等必备基础与实战技巧。带你从零玩转智能家居,了解物联网的整体格局,将零散的知识点通过项目快速串联提升自身成就感 【更新规则】  视频与参考文档内容,随时更新,与最新的软件版本/云服务环境匹配。 【课程特色】 1.通俗易懂,快速入门 对物联网、智能家居学习经典实践项目结合技术推导进行形象解释,实例演示。 2. Python主导,实用高效 使用物联网领域最主流语言Python及其homeassistant 开源家庭自动化框架作为课程核心工具。 3. 案例为师,实战护航 基于真实操作展示,从零开始结合homeassistant与python自创组件、树莓派或者nas完成整个案例实战。 4. 持续更新,一劳永逸 会伴随homeassistant的更新与DIY实战项目课程会支持更新下去,逐步加入更多算法与案例。 【联系我们】 官方网站:https://www.hachina.io QQ学习讨论群(仅限学员加入):741140729

    2213 人正在学习 去看看 朱继盛

Linux中DDNS配置

1、实验拓扑结构

 

图1 实验拓扑图

2、项目要求

通过系统的搭建,能够为Web Server动态更新DNS信息。

3、项目开展思路(思维导图)

图2 DDNS实验思维导图

4、实验步骤

(1) 基础网络搭建

DHCP Server能Ping通DNS Server

图3 网络连通测试

(2)在DNS Server上

1)安装DNS服务

[root@lyy 桌面]# yum install bind -y

2)生成密钥

[root@lyy 桌面]# mkdir key

[root@lyy 桌面]# cd key/

[root@lyy key]# dnssec-keygen -a HMAC-MD5 -b 512 -n HOST www

Kwww.+157+55680

[root@lyy key]# ls

Kwww.+157+55680.key  Kwww.+157+55680.private

[root@lyy key]# cat Kwww.+157+55680.key

www. IN KEY 512 3 157 7mThflorkZ+uJGSGK7XmKxYkDxm+nzP49CITZ+njEmQajyAWkk8lTtpw 8AnC+pMP8hXGu2QK5hf4zlaqf4DzSw==

3)配置主配置文件named.conf

将生成的公钥(空格去掉)复制到named.conf中,加入key字段


options {

                                            listen-on port 53 { any; };

                                            directory         "/var/named";

                                            dump-file        "/var/named/data/cache_dump.db";

                                    statistics-file "/var/named/data/named_stats.txt";

                                     memstatistics-file "/var/named/data/named_mem_stats.txt";

                                            allow-query     { any; };

                            };

key www {

                                            algorithm hmac-md5;

secret"7mThflorkZ+uJGSGK7XmKxYkDxm+nzP49CITZ+njEmQajyAWkk8lTtpw8AnC+pMP8hXGu2QK5hf4zlaqf4DzSw==";

};

zone "xh27.com"     IN {

                                            type master;

                                            file "named.xh27.com";

                                            allow-update {

                                            key www;

                                            };

};

zone "0.168.192.in-addr.arpa" IN {

                                            type master;

                                            file "named.192.168.0";

                                            allow-update {

                                            key www;

                                            };

};


4)添加正解文件

[root@lyy 桌面]# cd /var/named/

[root@lyy named]# touch named.xh27.com

[root@lyy named]# gedit named.xh27.com


$TTL 3H

@    IN SOA    master.xh27.com. admin.mail.xh27.com. (

                                      0    ; serial

                                      1D    ; refresh

                                      1H    ; retry

                                      1W    ; expire

                                      3H )    ; minimum

@                 IN     NS        master.xh27.com.

master.xh27.com.        IN    A        192.168.0.253


5)添加反解文件

[root@lyy named]# touch named.192.168.0

[root@lyy named]# gedit named.192.168.0


$TTL 3H

@    IN SOA    master.xh27.com. admin.mail.xh27.com. (

                                      0    ; serial

                                      1D    ; refresh

                                      1H    ; retry

                                      1W    ; expire

                                      3H )    ; minimum

@         IN     NS        master. xh27.com.

253        IN    PTR        master. xh27.com.


6)防火墙开放53端口

[root@lyy named]# iptables -I INPUT -i eth0 -p udp --dport 53 -j ACCEPT

[root@lyy named]# iptables -I INPUT -i eth0 -p tcp --dport 53 -j ACCEPT

7)设置Selinux

[root@lyy named]# setsebool -P named_write_master_zones=1

//允许动态更新文件的写入

8)设置文件夹权限

[root@lyy named]# chmod g+w /var/named

[root@lyy named]# chown named /var/named

9)启动DNS服务

[root@lyy named]# service named start

(3)在DHCP Server上

1)安装DHCP服务

[root@lyy yum.repos.d]# yum install dhcp -y

2)配置DHCP主配置文件

[root@lyy yum.repos.d]# gedit /etc/dhcp/dhcpd.conf


option domain-name "xh27.com";

option domain-name-servers master.xh27.com;

default-lease-time 600;

max-lease-time 7200;

ddns-update-style interim;

key www {

                          algorithm hmac-md5;              secret"7mThflorkZ+uJGSGK7XmKxYkDxm+nzP49CITZ+njEmQajyAWkk8lTtpw8AnC+pMP8hXGu2QK5hf4zlaqf4DzSw==";

}

zone xh27.com {

                          key www;

                          primary 192.168.0.253;

}

zone 0.168.192.in-addr.arpa {

                          key www;

                          primary 192.168.0.253;

}

subnet 192.168.0.0 netmask 255.255.255.0 {

                range 192.168.0.50 192.168.0.150;

               option routers 192.168.0.254;

}


3)设置DNS服务器

[root@lyy yum.repos.d]# gedit /etc/resolv.conf

nameserver 192.168.0.253

4)启动DHCP服务

[root@lyy yum.repos.d]# service dhcpd start

(4)在WEB server上

1)设置主机名

[root@lyy 桌面]# gedit /etc/sysconfig/network

HOSTNAME=www

2)重启网络服务

[root@www 桌面]# service network restart

[root@www 桌面]# ifconfig

图4 WEB Server第一次获取IP

5、结果检测

(1)在DHCP Server上

将IP地址分配的范围从50-150,改为151-200,重启DHCP服务器

图5 修改分配的IP范围

[root@lyy yum.repos.d]# service dhcpd restart

(2)在WEB Server上

1)重启网络服务

 

图6 WEB Server第二次获取IP

2)解析www.xh27.com和192.168.0.151

 

图7 WEB Server解析域名和IP

(3)在DNS Server上

1)查看获取的动态更新文件

[root@lyy 桌面]# ll /var/named/

 

图 8 DNS查看更新文件

2)查看日志文件

[root@lyy 桌面]# gedit /var/log/messages

 

图 9 DNS查看日志文件


 

【版权所有,转载请注明原文出处:http://www.cnblogs.com/liaoyuanyang/p/7029234.html 】

posted @ 2017-06-16 20:56 远是远洋的洋 阅读(...) 评论(...) 编辑 收藏

2018-10-15 09:58:38 a924068818 阅读数 1487
  • 智能家居与物联网 从入门到精通 HomeAssistant实战...

    本课程通过一步步的实践演示,带领大家在开源项目的基础上,搭建随心所欲的物联网与智能家居平台。在过程实践中,大家会学习与应用到linux、python、云服务、图像识别、智能语音、单片机、数据库、前端开发等多方面的知识,帮助大家成为IT的全栈工程师。以实战为导向结合物联网各类知识要点学习经典框架进行项目实战,快速掌握智能家居、家庭自动化、物联网等必备基础与实战技巧。带你从零玩转智能家居,了解物联网的整体格局,将零散的知识点通过项目快速串联提升自身成就感 【更新规则】  视频与参考文档内容,随时更新,与最新的软件版本/云服务环境匹配。 【课程特色】 1.通俗易懂,快速入门 对物联网、智能家居学习经典实践项目结合技术推导进行形象解释,实例演示。 2. Python主导,实用高效 使用物联网领域最主流语言Python及其homeassistant 开源家庭自动化框架作为课程核心工具。 3. 案例为师,实战护航 基于真实操作展示,从零开始结合homeassistant与python自创组件、树莓派或者nas完成整个案例实战。 4. 持续更新,一劳永逸 会伴随homeassistant的更新与DIY实战项目课程会支持更新下去,逐步加入更多算法与案例。 【联系我们】 官方网站:https://www.hachina.io QQ学习讨论群(仅限学员加入):741140729

    2213 人正在学习 去看看 朱继盛

国庆回老家,看了下家里的联通100M宽带,竟然是公网IP,这么好的资源可不能浪费了。(毕竟老妈在家里也就聊个微信,看个视频),刚好家里用的是斐讯路由器,说干就干,刷机,设置动态dns,新的固件是由动态dns功能的,但是测试发现只有在保存的时候才生效一次,之后就没有再进行过IP的更新(原因没有详细的探究);既然自带的不能用,那就自己动手吧,毕竟是Linux系统。

wget "http://用户名:密码@members.3322.org/dyndns/update?system=dyndns&hostname=域名" && rm -r update?system=dyndns*

到此是不是就结束了呢,实际上你登陆3322的账号,发现ddns的IP已经可以更新了,但是每次这样手动去做肯定是不行的,我们就设置一个定时任务吧(是不是觉得我有点标题党,说好的一行代码,怎么又要做定时任务了。)

这里我们就要用到 crontab

vi /etc/crontab
//添加一行 每分钟刷新一次
1 * * * * wget "http://用户名:密码@members.3322.org/dyndns/update?system=dyndns&hostname=域名" && rm -r update?system=dyndns*

至于crontab 的详细用法,请自行查询,这里不做过多讲解。

2017-09-10 21:10:16 Running_free 阅读数 498
  • 智能家居与物联网 从入门到精通 HomeAssistant实战...

    本课程通过一步步的实践演示,带领大家在开源项目的基础上,搭建随心所欲的物联网与智能家居平台。在过程实践中,大家会学习与应用到linux、python、云服务、图像识别、智能语音、单片机、数据库、前端开发等多方面的知识,帮助大家成为IT的全栈工程师。以实战为导向结合物联网各类知识要点学习经典框架进行项目实战,快速掌握智能家居、家庭自动化、物联网等必备基础与实战技巧。带你从零玩转智能家居,了解物联网的整体格局,将零散的知识点通过项目快速串联提升自身成就感 【更新规则】  视频与参考文档内容,随时更新,与最新的软件版本/云服务环境匹配。 【课程特色】 1.通俗易懂,快速入门 对物联网、智能家居学习经典实践项目结合技术推导进行形象解释,实例演示。 2. Python主导,实用高效 使用物联网领域最主流语言Python及其homeassistant 开源家庭自动化框架作为课程核心工具。 3. 案例为师,实战护航 基于真实操作展示,从零开始结合homeassistant与python自创组件、树莓派或者nas完成整个案例实战。 4. 持续更新,一劳永逸 会伴随homeassistant的更新与DIY实战项目课程会支持更新下去,逐步加入更多算法与案例。 【联系我们】 官方网站:https://www.hachina.io QQ学习讨论群(仅限学员加入):741140729

    2213 人正在学习 去看看 朱继盛

一、dns介绍

简介

DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。

功能

每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。有了主机名,就不要死记硬背每台IP设备的IP地址,只要记住相对直观有意义的主机名就行了。这就是DNS协议所要完成的功能。
主机名到IP地址的映射有两种方式:

DNS映射

1)静态映射,每台设备上都配置主机到IP地址的映射,各设备独立维护自己的映射表,而且只供本设备使用;
2)动态映射,建立一套域名解析系统(DNS),只在专门的DNS服务器上配置主机到IP地址的映射,网络上需要使用主机名通信的设备,首先需要到DNS服务器查询主机所对应的IP地址。
通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。在解析域名时,可以首先采用静态域名解析的方法,如果静态域名解析不成功,再采用动态域名解析的方法。可以将一些常用的域名放入静态域名解析表中,这样可以大大提高域名解析效率。

DNS服务器

提供DNS服务的是安装了DNS服务器端软件的计算机。服务器端软件既可以是基于类linux操作系统,也可以是基于Windows操作系统的。装好DNS服务器软件后,您就可以在您指定的位置创建区域文件了,所谓区域文件就是包含了此域中名字到IP地址解析记录的一个文件,如文件的内容是这样的:

这里写图片描述

primary name server = dns2  ##(主服务器的主机名是dns2 )
serial = 291            ##(序列号=2913、这个序列号的作用是当辅域名服务器来复制这个文件的时候,如果号码增加了就复制)
refresh = 10800 (3 hours)   ## (刷新=10800秒、辅域名服务器每隔3小时查询一个主服务器)
retry = 3600 (1 hour)       ## (重试=3600秒、当辅域名服务试图在主服务器上查询更新时,而连接失败了,辅域名服务器每隔1小时访问主域名服务器)
expire = 604800 (7 days)    ##(到期=604800秒、辅域名服务器在向主服务更新失败后,7天后删除中的记录。)
default TTL = 3600 (1 hour) ##(默认生存时间=3600秒、缓存服务器保存记录的时间是1小时。也就是告诉缓存服务器保存域的解析记录为1小时)
minimun=default 

二、dns高速缓存

1.基本配置

  • server服务器端 172.25.254.100

yum install -y bind         ##安装服务  
systemctl start named       ##开启named服务,此步操作会卡住,移动鼠标或操作键盘可以解决
systemctl enable named      ##开机启动named服务
firewall-cmd --permanent --add-service=dns      ##火墙策略
firewall-cmd --reload 

vim /etc/named.conf         
listen-on port 53 { any; };     ##将所有网络的53端口打开,any表示开在任意服务的53端口
allow-query     { any; };       ##any表示允许所有可达主机从这台dns服务器获取解析
forwarders      {172.25.254.250; }; ##转发器,本机解析不了就将请求转发给250

systemctl restart named
  • 客户端配置dns
vim /etc/resolv.conf    ##为本机配置dns解析服务器
nameserver 172.25.254.100

dig www.redhat.com

2.正向解析

正向解析是将域名映射为IP地址,例如,DNS客户机可以查询主机名称为server.zzidc.com的IP地址。要实现正向解析,必须在DNS服务器内创建一个正向解析区域。

cd /var/named/
cp -p named.localhost redhat.com.zone
vim redhat.com.zone
  1 $TTL 1D
  2 @       IN SOA  dns.redhat.com. root.redhat.com. (
  3                                         0       ; serial
  4                                         1D      ; refresh
  5                                         1H      ; retry
  6                                         1W      ; expire
  7                                         3H )    ; minimum
  8         NS      dns.redhat.com.
  9 dns     A       172.25.254.100
 10 www     A       172.25.254.111

##dns.redhat.com.为我们的dns解析,root.redhat.com.为邮箱 


vim /etc/named.rfc1912.zones
 25 zone "redhat.com" IN {
 26         type master;
 27         file "redhat.com.zone";
 28         allow-update { none; };
 29 };

systemctl restart named

在我们的客户端用以下命令测试是否成功

dig www.redhat.com
状态 含义
QUESTION 提出实际的 DNS 查询
ANSWER 响应
AUTHORITY 负责域 / 区域的名称服务器
ADDITIONAL 供的其他信息 , 通常是关于名称服务器底部的注释指出发送查询的递归名称服务器以及获得响应所花费的时间
NOERROR 查询成功
NXDOMAIN DNS 服务器提示不存在这样的名称
SERVFAIL DNS 服务器停机或 DNSSEC 响应验证失败
REFUSED DNS 服务器拒绝回答 ( 也许是出于访问控制原因 )

3.论叫机制

轮叫(压力均摊)
news A 172.25.254.111
news A 172.25.254.188

4.反向解析

cd /var/named/
cp -p named.loopback  redhat.com.ptr
vim redhat.com.ptr
  1 $TTL 1D
  2 @       IN SOA  dns.redhat.com. root.redhat.com. (
  3                                         0       ; serial
  4                                         1D      ; refresh
  5                                         1H      ; retry
  6                                         1W      ; expire
  7                                         3H )    ; minimum
  8         NS      dns.redhat.com.
  9 dns     A       172.25.254.100
 10 10      PTR     bbs.redhat.com.
 11 20      PTR     hello.redhat.com.
vim /etc/named.rfc1912.zones
 48 zone "254.25.172.in-addr.arpa" IN {
 49         type master;
 50         file "redhat.com.ptr";
 51         allow-update { none; };
 52 };

5.双向解析

即不同的IP询问同一个域名,解析出不同的IP
man 5 named.conf
##在主配置文件中注释掉zone
 58 view local {
 59         match-clients{ 172.25.254.200; };
 60 
 61 zone "." IN {
 62         type hint;
 63         file "named.ca";
 64 };
 65 include "/etc/named.rfc1913.zones";
 66 };
 67 view other {
 68         match-clients{ any; };
 69 
 70 zone "." IN {
 71         type hint;
 72         file "named.ca";
 73 };
 74 include "/etc/named.rfc1912.zones";
 75 };

表示172.25.254.200访问时读取named.rfc1913.zones文件,其余读取named.rfc1912.zones文件

cp -p  /etc/named.rfc1912.zones /etc/named.rfc1913.zones
vim /etc/named.rfc1913.zones
zone "redhat.com" IN {
    type master;
    file "redhat.com.zone";
    allow-update { none; };
};
cp -p /var/named/redhat.com.zone /var/named/redhat.com.inter
vim /var/named/redhat.com.inter
:%s/172.25.254/192.168.0/g
将172.25.254.200 dns改为172.25.254.100测试即可

但是实际应用中,访问量优势高达几十万,只有一台dns服务器远远不够,为了分担dns的压力,我们需要再配置一台服务器(辅助dns)

172.25.254.200
yum install -y bind
systemctl start named
systemctl enable named
systemctl stop firewalld.service
systemctl disable firewalld.service
vim /etc/named.conf
listen-on port 53 { any; };
allow-query     { any; };
systemctl restart named
vim /etc/named.conf
nameserver 172.25.254.200
vim /etc/named.rfc1912.zones
zone "westos.com" IN {
        type slave;             类型为辅助dns
        masters { 172.25.254.100; };        主dns为172.25.254.100
        file "slaves/redhat.com.inter"; 
        allow-update { none; };
};

重启服务更新OK,但是主dns修改辅助dns不会更新,辅助dns也需要重启服务才会更新,下面来解决这个问题
在主dns服务器172.25.254.100上做以下修改

vim /etc/named.rfc1912.zones
zone "redhat.com" IN {
        type master;
        file "redhat.com.inter";
        allow-update { none; };
        also-notify { 172.25.254.200; };##添加这一行,始终将更改同步到辅助dns服务器
};

dns服务器内容改变后重启服务更新OK,辅助dns服务器不需重启服务自动更新

下面介绍下redhat.com.zone文件内各项的含义

$TTL 1D
@       IN SOA  dns.redhat.com. root.redhat.com. (
                                        2017090505      ; serial    ##服务编号
                                        1D      ; refresh       ##刷新时间
                                        1H      ; retry         ##如果询问失败再次查询的时间
                                        1W      ; expire        ##到期日
                                        3H )    ; minimum       ##最短的到期日

三、dns key 更新

步骤一

dnssec-keygen -a HMAC-MD5 -b 128 -n HOST redhat     ##生成密匙

cat Kredhat.+157+18569.key
redhat. IN KEY 512 3 157 4SJx4m33BpJnNpl8slHIWA==

步骤二

cp /etc/rndc.key /etc/redhat.key -p         ##生成dns的加密文件
vim /etc/redhat.key
key "redhat" {                      ##key名称
    algorithm hmac-md5;
    secret "4SJx4m33BpJnNpl8slHIWA==";      ##key的加密字符
};

步骤三

vim /etc/named.conf 
43 include "/etc/redhat.key";               ##指定dns服务读取的key文件

vim /etc/named.rfc1913.zones
zone "redhat.com" IN {
        type master;
        file "redhat.com.inter";
        allow-update { key redhat; };           ##指定redhat域可以被redhatkey 更新
};

##测试更新
nsupdate -k Kredhat.+157+62730.private
>server 172.25.254.100
>update add news.redhat.com 86400 A 172.25.254.234
>send
>quit

四、dhcpd 配置

vim /etc/dhcp/dhcpd.conf
 14 ddns-update-style interim;              ##开启dhcp更新dns功能

 37 key westos {                    ##dhcp更新dns时用到的key
 38   algorithm hmac-md5;
 39   secret 4SJx4m33BpJnNpl8slHIWA==;
 40 };
 41 
 42 zone westos.com. {                  ##指定dhcp更新的域名
 43          primary 127.0.0.1;             ##指定dns所在的主机ip
 44          key westos;                ##指定更新这个域时用到的key名称
 45        }
  • 测试
    • 设定一台主机网络的工作方式为dhcp
    • 设定这台主机的主机名music.westos.com,这个名称在原有的dns服务中是没有解析的
    • 重启网络看ip 和主机名称的解析
2017-08-09 20:20:55 ass_assinator 阅读数 3213
  • 智能家居与物联网 从入门到精通 HomeAssistant实战...

    本课程通过一步步的实践演示,带领大家在开源项目的基础上,搭建随心所欲的物联网与智能家居平台。在过程实践中,大家会学习与应用到linux、python、云服务、图像识别、智能语音、单片机、数据库、前端开发等多方面的知识,帮助大家成为IT的全栈工程师。以实战为导向结合物联网各类知识要点学习经典框架进行项目实战,快速掌握智能家居、家庭自动化、物联网等必备基础与实战技巧。带你从零玩转智能家居,了解物联网的整体格局,将零散的知识点通过项目快速串联提升自身成就感 【更新规则】  视频与参考文档内容,随时更新,与最新的软件版本/云服务环境匹配。 【课程特色】 1.通俗易懂,快速入门 对物联网、智能家居学习经典实践项目结合技术推导进行形象解释,实例演示。 2. Python主导,实用高效 使用物联网领域最主流语言Python及其homeassistant 开源家庭自动化框架作为课程核心工具。 3. 案例为师,实战护航 基于真实操作展示,从零开始结合homeassistant与python自创组件、树莓派或者nas完成整个案例实战。 4. 持续更新,一劳永逸 会伴随homeassistant的更新与DIY实战项目课程会支持更新下去,逐步加入更多算法与案例。 【联系我们】 官方网站:https://www.hachina.io QQ学习讨论群(仅限学员加入):741140729

    2213 人正在学习 去看看 朱继盛

   如果DNS服务器要记录多台主机的IP,且这些主机的IP都是通过DHCPD服务自动获取的,那么将会造成很大的困难,因为在DNS设置时无法得知主机具体的IP。如果DHCPD服务可以在配置主机IP后将信息传递给DNS服务,再由DNS服务来记录这些数据,将会变得容易许多。这种DHCPD服务更新DNS服务数据就是DDNS。

        配置DDNS时,需要在一台主机上分别配置DNS服务和DHCPD服务。

        DNS服务的配置如下:

         a、"dnssec-keygen -a HMAC-MD5 -b 128 -n HOST keydns"。这是生成一个密钥,为了安全考虑。"keydns"为密钥名称,可自行设置。"cat Kwestos.+157+18569.key",查看生成的密钥并复制。


         b、"cp /etc/rndc.key /etc/keydns.key -p"。生成DNS的加密文件。


         c、"vim /etc/keydns.key"。如下图所示,第1行改为"keydns",第3行""中改为a中复制的密钥。


         d、"vim /etc/named.conf"。如下图所示,在第47行"logging {"之前编辑"include "/etc/keydns.key";",这是指定dns服务读取的key文件。


         e、"vim /etc/named.rfc1913.zones"。如下图所示,将第28行改为"allow-update { key keydns; };",这是指定we域能够被keydns更新。


        DHCPD的配置如下:

        a、"head -n 36 /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example > /etc/dhcp/dhcpd.conf"。将"dhcpd.conf.example"的前36行复制为"dhcpd.conf"文件。


        b、"vim /etc/dhcp/dhcpd.conf"。将第7行和第8行改为下图所示内容。"we.com"为域名,"172.25.254.102"为DNS的IP。去掉第14行的注释。注释掉第27和28行。将第32至第35行改为如下图所示配置。


        c、"vim /etc/dhcp/dhcpd.conf"。在第36行后输入下图所示内容。

                                  key keydns {

                                           algorithm hmac-md5;

                                           secret Z8aPp2bzIT9gmvyZS28ijA==;

                                   };

            

                                   zone we.com. {

                                           primary 127.0.0.1;

                                           key keydns;

                                   }


        完成后重启DNS和DHCPD服务,至此,服务器的DDNS配置已经完成。

        测试时,将一台主机的主机名设置成为"xxx.we.com",例如"123.we.com"。设置网络为DHCP自动获取IP,如下图所示,自动获得的IP为"172.25.254.65"。


        在有DDNS的主机上输入"dig 123.we.com",如下图所示,则可以看到测试的主机IP和主机名。这样就完成了DHCPD服务对DNS服务的数据同步。


2017-11-23 19:31:00 weixin_33720956 阅读数 24
  • 智能家居与物联网 从入门到精通 HomeAssistant实战...

    本课程通过一步步的实践演示,带领大家在开源项目的基础上,搭建随心所欲的物联网与智能家居平台。在过程实践中,大家会学习与应用到linux、python、云服务、图像识别、智能语音、单片机、数据库、前端开发等多方面的知识,帮助大家成为IT的全栈工程师。以实战为导向结合物联网各类知识要点学习经典框架进行项目实战,快速掌握智能家居、家庭自动化、物联网等必备基础与实战技巧。带你从零玩转智能家居,了解物联网的整体格局,将零散的知识点通过项目快速串联提升自身成就感 【更新规则】  视频与参考文档内容,随时更新,与最新的软件版本/云服务环境匹配。 【课程特色】 1.通俗易懂,快速入门 对物联网、智能家居学习经典实践项目结合技术推导进行形象解释,实例演示。 2. Python主导,实用高效 使用物联网领域最主流语言Python及其homeassistant 开源家庭自动化框架作为课程核心工具。 3. 案例为师,实战护航 基于真实操作展示,从零开始结合homeassistant与python自创组件、树莓派或者nas完成整个案例实战。 4. 持续更新,一劳永逸 会伴随homeassistant的更新与DIY实战项目课程会支持更新下去,逐步加入更多算法与案例。 【联系我们】 官方网站:https://www.hachina.io QQ学习讨论群(仅限学员加入):741140729

    2213 人正在学习 去看看 朱继盛

                    Linux DDNS配置

        DDNS(动态域名服务器)是将用户的动态 IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器程序提供DNS服务并实现动态域名解析.
实验:
设备:
   DDNS服务器主机:Redhat 5.4 IP 192.168.1.107
   linux测试机     : redhat5.4
   windows测试机 :  windows 2003
  条件: dns,dhcp已经配置成功
拓扑图

1 . DNS的配置
   1>为DDNS创建密钥,并得到DDNS的密钥字符串
      [root@localhost chroot]# dnssec-keygen -a HMAC-MD5 -b 128 -n USER code
     Kcode.+157+42071
    [root@localhost chroot]# ll
    总计 20
    d rwxr-x--- 2 root named 4096 10-27 16:32 dev
    drwxr-x--- 2 root named 4096 10-27 16:34 etc
    -rw------- 1 root root    46 10-27 16:35 Kcode.+157+42071.key
    -rw------- 1 root root    81 10-27 16:35 Kcode.+157+42071.private
    drwxr-x--- 6 root named 4096 10-27 16:32 var
    [root@localhost chroot]# cat Kcode.+157+42071.key 
    code. IN KEY 0 3 157  MTD9Hq1FL3t7T30yiHYUsg==
    2> 配置DNS的全局配置文件,加入下面的内容,指定DDNS服务器使用的加密算法及   密钥字符串
   key code {
    algorithm hmac-md5;
    secret MTD9Hq1FL3t7T30yiHYUsg==; 
  };
    3> 在主配置文件中创建abc.com的正反作用域
    加入如下内容
zone "abc.com" IN {
        type master;
        file "abc.com.zone";
        allow-update { key code; };
};
 
zone "1.168.192.in-addr.arpa" IN {
        type master;
        file "1.168.192.zone";
        allow-update { key code; };
};
 
allow-update{ key code; };指定使用code定义的密钥作为客户端提交ddns请求的密钥.
       4> 分别创建正反向区域文件
          正向文件内容
          $TTL    86400
@               IN SOA  ns.abc.com. root (
                                        42              ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum
@               IN NS           ns.abc.com.
ns              IN A            192.168.1.107
www             IN A            10.10.10.10
ftp             IN A            20.20.20.20
        反向文件内容
        $TTL    86400
@               IN SOA  ns.abc.com. root (
                                        42              ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum
@               IN NS           ns.abc.com.
107             IN PTR          ns.abc.com.  //这名是本机DNS与IP地址反射解析内容,如果不写,会出现一定的错误.
254             IN PTR          www.baidu.com.
253             IN PTR          www.sina.com.cn.
  5> 启动DNS服务器
      [root@localhost named]# service named start
启动 named:                                               [确定]
2 . DHCP配置
  1> 配置DHCP的主文件:dhcpd.conf
   修改成如下内容
ddns-update-style interim;
ignore client-updates;
 
key code {
    algorithm hmac-md5;
    secret MTD9Hq1FL3t7T30yiHYUsg==;    //DDNS密钥段
}           // 后面都没有分号;
zone abc.com. {
   primary 192.168.1.107;
   key code;
}
zone 1.168.192.in-addr-arpa. {
   primary 192.168.1.107;
   key code;
}
subnet 192.168.1.0 netmask 255.255.255.0 {
 
        option routers                  192.168.1.1;
        option subnet-mask              255.255.255.0;
        option domain-name              "abc.com";   //DNS域名
        option domain-name-servers      192.168.1.107;  //DNS IP地址
        option time-offset              -18000; # Eastern Standard Time
        range dynamic-bootp 192.168.1.128 192.168.1.200;
        default-lease-time 21600;
        max-lease-time 43200;
}
    2> 启动DHCP服务器
     [root@localhost etc]# service dhcpd start
     启动 dhcpd:                                               [确定]
3 . 测试
     1>在windows 2003上开始测试
    首先windows 2003 上配置自动获取ip地址和自动获取dns
     使用nslookup进行测试

   2> 在linux客户端下测试
       首先应该在/etc/下面建立一个文件: dhclient.conf,并且加入如下内容
       send fqdn.fqdn "client";
       send fqdn.encoded on;
       send fqdn.server-update off;
再通过执行命令来重新启动进行DNS注册
  dhclient -r    //释放IP
   Dhclient     //获得IP
进行测试

   3> 测试ddns配置成功
    在ddns服务器上可以看到windows与linux相关的租凭情况,在文件:/var/lig/dhcpd/dhcpd.leases
    [root@ns ~]# vi /var/lib/dhcpd/dhcpd.leases
     lease 192.168.1.200 {
  starts 6 2012/10/27 09:16:47;
  ends 6 2012/10/27 15:16:47;
  binding state active;
  next binding state free;
  hardware ethernet 08:00:27:62:9e:74;
  uid "\001\010\000'b\236t";
  client-hostname "code";
}
lease 192.168.1.199 {
  starts 6 2012/10/27 09:27:00;
  ends 6 2012/10/27 15:27:00;
  binding state active;
  next binding state free;
  hardware ethernet 08:00:27:1d:b5:a7;
}
   测试成功,可是我看许多的教材上都说还会在/var/named/chroot/var/named中生成两个.jnl结尾的文件,为什么我的这个没有生成,可是却是可以使用.不知有哪位高人指点一下.









本文转自 guodong810 51CTO博客,原文链接:http://blog.51cto.com/guodong810/1039833,如需转载请自行联系原作者

Linux DDNS 动态域名解析服务配置

博文 来自: L_serein

linux下的ddns

阅读数 315

没有更多推荐了,返回首页