1. DNS(Domain Name System) 服务
1.1.1. DNS服务作用:
DNS是Domain Name System即域名服务,用于域名解析。常将域名解析为ip地址,称为正向解析;少量会将ip地址解析为域名,称为反向解析;
1.1.2. DNS安装软件:
bind 提供主要程序及相关文件 bind-chroot 为bind提供一个伪装的根目录以增强安全性(将“/var/named/chroot/文件夹作为BIND的根目录”)不安装以/var/named为根目录 bind-utils 提供nslookup及dig等测试工具(默认桌面版已经安装)
1.1.3. DNS服务:
服务进程名称:named 启动服务:/etc/init.d/named start 或 service named start
1.1.4. DNS配置文件:
/etc/hosts 本地dns解析 /etc/resolve.conf 解析DNS的服务器 /etc/nsswitch.conf 更改hosts和dns优先级。更改 hosts file dns 先hosts后dns /etc/named.conf 来自于/usr/share/doc/bind-9.8.2/sample/etc/named.conf 主配置文件 /etc/named/etc/named.ca 包含了13台根域名服务器的地址 /etc/named.rfc1912.zones 来自于/usr/share/doc/bind-9.8.2/sample/etc/named.rfc1912.zones 次要配置文件
1.1.5. 域名服务器种类:
- 缓存域名服务器
- 注域名服务器
- 从域名服务器
1.1.6. 服务端口号即协议:
53 端口 tcp/udp
1.1.7. 测试命令:
windows里查看dns缓存
- ipconfig /displaydns 查看
ipconfig /flushdns 刷新
linux
nscd
- yum install nscd
- service nscd restart
nscd -g nscd -i dnstop 查看dns流量查询的情况的软件 host nslookup dig named-checkconf
1.1.8. DNS解析过程:
www.baidu.com 1.客户机先查询本地dns缓存 2.查找本地配置文件/etc/hosts 3.向本地dns服务器发送域名解析的请求,即/etc/rsolv.conf中指定的dns服务器 4.本地dns查询缓存,如果有直接返回给客户机;如果没有再查询本地dns区域数据库文件里是否有记录,如果有返回给客户机;如果没有查询到就向跟域“.”查询 5.根域告诉本地dns服务器找的com服务器 6.本地dns服务器向.com的服务器查询,com服务器告诉本地dns baidu这个域的dns服务器ip 7.本地dns服务器找到baidu.com域的dns服务器,查询到www这台主机的ip 8.同时放到自己的缓存里 9.告诉客户机www.baidu.com的域名对应的ip 10.客户机将ip放到缓存里
1.1.9. 常见一级域名缩写:
.com ---->commercial 公司以及盈利性组织 .net ---->network .org ---->organization 非盈利组织 .edu ---->education 以教育为主的组织 .cn --->china 属于中国一级域名 .kr ---->korea .tw --->taiwan 台湾 .hk ---->hongkong 香港 .mil ---->military
1.1.10. DNS服务搭建:
第一步:配置yum源,安装以下软件包:
yum install bind bind-chroot bind-utils
- 第二步: 刷新named服务,/etc/named.conf配置文件会复制到/var/name/chroot/etc/下, 会产生一些key文件/var/name/chroot/etc 配置文件
=== ds缓存域名服务器 1.安装好软件 2.修改/etc/named.conf 3.刷新服务
4.确保服务器能上网
===
options {
listen-on port 53 { 10.0.2.189; };
// listen-on-v6 port 53 { ::1; };
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; };
#forwarders {8.8.8.8;}; 转发到指定的dns服务器
recursion yes;
# dnssec-enable yes;
# dnssec-validation yes;
# dnssec-lookaside auto;
/* Path to ISC DLV key */
# bindkeys-file "/etc/named.iscdlv.key";
# managed-keys-directory "/var/named/dynamic";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
#include "/etc/named.root.key";
3.添加域名
[root@localhost named]# vim /etc/named.rfc1912.zones
zone "feng.com" IN {
type master;
file "feng.com.zone";
};
zone "2.0.10.in-addr.arpa" IN {
type master;
file "10.0.2.arpa";
};
====
4.新建区域数据库文件 [root@localhost named]# cd /var/named/ [root@localhost named]# ls chroot dynamic named.empty named.loopback data named.ca named.localhost slaves [root@localhost named]# cp named.localhost feng.com.zone -p
2. [root@localhost named]# cp named.localhost 10.0.2.arpa -p
主、从服务器之间复制区域数据库文件的时候的一些设置 0 ; serial 当从域名服务器到主域名服务器来复制区域数据库文件的时候,看serial值是否比它的serial值大,如果大,就复制,如果相等就不复制 1D ; refresh 1H ; retry 1W ; expire
3H ) ; minimum
=== SOA A NS MX ---》mail exchange 告诉邮件服务器的ip 创建邮件交换记录,5表示优先级,越小优先级越高 数据范围自己定义 CNAME
*
负载均衡
3. 泛域名解析
[root@localhost named]# cat feng.com.zone $TTL 1D @ IN SOA @ root.feng.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 10.0.2.100 www A 10.0.2.253 ftp A 10.0.2.253 lulu A 10.0.2.25 @ MX 6 mail2.feng.com. mail2 A 10.0.2.12 @ MX 5 mail.feng.com. mail A 10.0.2.11 luu CNAME lulu $GENERATE 10-50 station$ A 10.0.2.$
- A 10.0.2.253 video A 10.0.2.253 video A 10.0.2.250 video A 10.0.2.230
4. [root@localhost named]\
[root@localhost named]# cat 10.0.2.arpa $TTL 1D @ IN SOA @ root.feng.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 10.0.2.100 253 PTR www.feng.com. 25 PTR lulu.feng.com. 12 PTR mail2.feng.com. 11 PTR mail.feng.com. 253 PTR ftp.feng.com. 253 PTR video.feng.com. $GENERATE 10-50 $ PTR station$.feng.com.
5. [root@localhost named]\
[root@localhost etc]# -t /var/named/chroot/
6. [root@localhost named]# named-checkzone feng.com feng.com.zone
在/etc/named.conf forwarders {10.0.2.250;10.0.32.3;};
7. 先查本机,再查转发器服务器,然后再查根域
条件转发器,符合dear.com的域名查询的时候,就去10.0.0.151查询 zone "dear.com" IN { type forward; forwarders {10.0.0.151;};
8. };
nslookup set type=mx set type=ns set type=a
set type=PTR
===
9. > server 10.0.0.151 临时修改dns服务器地址,不需要去修改/etc/resolv.conf文件
10. [root@localhost ~]# dig www.baidu.com @8.8.8.8
反向解释过程
=== 从域名服务器 1.安装软件 2.修改配置 zone "feng.com" IN { type slave; file "slaves/feng.com.zone"; masters {10.0.2.100;}; }; zone "2.0.10.in-addr.arpa" IN { type slave; file "slaves/10.0.2.arpa"; masters {10.0.2.100;};
11. };
http://10.0.2.253/4ban-linux/system3
12. lftp 10.0.2.253/software
转发器 forward first/only forwarders {8.8.8.8;};
13. 条件转发器
子域授权 view
14. TISG
dns 优先级最高的解析服务文件是/etc/hosts文件 dns domain name system 域名系统 dns的特点:分布式,层次式
redhat5 修改配置文件要进入到/var/named/chroot/中 redhat6 可以直接修改/etc/named.conf,然后会自动复制到/var/named/chroot中
更改hosts和dns优先级更改 /etc/nsswitch.conf hosts file dns 先hosts后dns
反向域解析的文件文件 10.168.192.in-addr.arpa 反向解析192.168.10网段
named.conf options 是全局配置 listen-on port 53 默认时any directory “/var/named”; dump-file "/var/named/data/cache_dump.db" 缓存文件 recursion yes; 是否进行互联网解析 statistics 统计 memstatistics 统计内存消耗时段
zone "." IN { type hint ; file “named.ca” 国际13台dns顶级服务器的地址在named.ca中
15. }
最简单的dns服务器配置文件 options { directory "/var/named" }
===================== options { 全局配置 listen-on port 53 { 127.0.0.1; };监听的端口,删除时监听所有的端口 listen-on-v6 port 53 { ::1; };ipv6,的监听 directory "/var/named";住配置文件,这个必须有,而且必须是这个位置,不能修改 dump-file "/var/named/data/cache_dump.db";缓存文件存放的地方,默认没有。要是用rpch dumpdb同步内存 statistics-file "/var/named/data/named_stats.txt"; 统计dns memstatistics-file "/var/named/data/named_mem_stats.txt";统计dns服务消耗的内存及时间段 allow-query { localhost; }; 可以删除 recursion yes; 是否解析互联网dns,默认是yes
dnssec-enable yes;可以删除
dnssec-validation yes;可以删除
dnssec-lookaside auto;可以删除
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
logging { channel default_debug { file "data/named.run"; severity dynamic; }; };
zone "." IN { type hint; file "named.ca"; };
include "/etc/named.rfc1912.zones"; 把文件包含进来, include "/etc/named.root.key";
~
/etc/resolved.conf search com.cn 在ping时会自动在ping的域名后面加上com.cn,如果错误将都无法ping通 nameserver 222.245.129.80 dns服务器,如8.8.8.8
/etc/named.conf options 是全局配置 listen-on port 53 默认时any directory “/var/named”; dump-file "/var/named/data/cache_dump.db" 缓存文件 recursion yes; 是否进行互联网解析
statistics 统计
memstatistics 统计内存消耗时段
zone "." IN { type hint ; file “named.ca” 国际13台dns顶级服务器的地址在named.ca中
16. }
最简单的dns服务器配置文件 options { directory "/var/named" }
===================== options { 全局配置 listen-on port 53 { 127.0.0.1; };监听的端口,删除时监听所有的端口 listen-on-v6 port 53 { ::1; };ipv6,的监听 directory "/var/named";住配置文件,这个必须有,而且必须是这个位置,不能修改 dump-file "/var/named/data/cache_dump.db";缓存文件存放的地方,默认没有。要是用rpch dumpdb同步内存 statistics-file "/var/named/data/named_stats.txt"; 统计dns memstatistics-file "/var/named/data/named_mem_stats.txt";统计dns服务消耗的内存及时间段 allow-query { localhost; }; 可以删除 recursion yes; 是否解析互联网dns,默认是yes
dnssec-enable yes;可以删除
dnssec-validation yes;可以删除
dnssec-lookaside auto;可以删除
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
logging { channel default_debug { file "data/named.run"; severity dynamic; }; };
zone "." IN { type hint; file "named.ca"; };
include "/etc/named.rfc1912.zones"; 把文件包含进来, include "/etc/named.root.key"; [root@izj6cdhdoq5a5zsf7bf7a3z blognote]# cat ntp.md
17. Linux时间服务 - NTP
17.1. 时间和时区
时间是一个瞬间的概念,全宇宙是唯一的,体现在计算机中可以理解成unix时间戳,目前精确的时间源是参考原子钟的震荡频率,然后同步到全球。
由于地球旋转导致不同地域的人看到的日出日落的时间不同,根据地球的地址位置,人为将地球划分成24个不同的时区。
计算机中经常看到的是UTC时间标准(Coordinated Universal Time的简写),他是0时时区标准。中国时区标准(CST: Chinese Standard Time)相对于0时时区是东八区。
例如某一时刻:
Unix时间戳:
[root@VM_11_7_centos ~]# date +%s 1496217462
- UTC时区时间:
[root@VM_11_7_centos ~]# date -u Wed May 31 07:57:42 UTC 2017
- CST时区时间:
[root@VM_11_7_centos ~]# date Wed May 31 15:57:42 CST 2017
17.2. 配置文件:/etc/ntp.conf
driftfile 文件路径 系统时间与BIOS事件的偏差记录 driftfile /etc/ntp/drift
restrict 控制相关权限。 语法为: restrict IP地址 mask 子网掩码 参数 其中IP地址也可以是default ,default 就是指所有的IP 参数有以下几个:
- ignore :关闭所有的 NTP 联机服务
- nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。
- notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网
- noquery :不提供客户端的时间查询:用户端不能使用ntpq,ntpc等命令来查询ntp服务器
- notrap :不提供trap远端登陆:拒绝为匹配的主机提供模式 6 控制消息陷阱服务。陷阱服务是 ntpdq 控制消息协议的子系统,用于远程事件日志记录程序。
- nopeer :用于阻止主机尝试与服务器对等,并允许欺诈性服务器控制时钟
- kod : 访问违规时发送 KoD 包。 restrict -6 表示IPV6地址的权限设置。
server 时间源 语法为:server 时间源IP/域名 参数 参数:
- prefer : 优先级,配置该参数优先作为时间源
- iburst :
18. NTP工具
18.1. ntpq
ntpq 依据/etc/ntp.conf配置文件进行查询
[root@localhost ~]#ntpq -np 127.0.0.1
remote refid st t when poll reach delay offset jitter
==============================================================================
*172.31.57.3 LOCAL(0) 4 u 19 32 377 0.123 -0.016 0.003
172.31.57.4 172.31.57.3 5 u 1 32 377 0.121 -0.017 0.006
127.127.1.0 .LOCL. 5 l 3 64 377 0.000 0.000 0.001
- remote - ntp时间源。“+”表示优先,“*”表示次优先
- refid - remote时间源的上一层时间源
- st - stratum时间源阶层
- when - 多少秒前曾经同步过时间,当达到poll时会进行一次同步,然后重新计时
- poll - 时间更新周期,时间单位秒
- reach - 已经向上层ntp服务器要求更新的次数.是一个八进制数字,指出源的可存取性。值 377 表示源已应答了前八个连续轮询。
- delay - 网络延迟
- offset - 时间补偿,时间偏移
- jitter - 系统时间与bios时间差
18.2. ntpdate
ntpdate 进行时间的查询和时间同步 使用ntpdate同步时ntpd服务不能允许,否则会报错
指定时间源进行查询
ntpdate -q 0.centos.pool.ntp.org
如果想定时进行时间校准,可以使用crond服务来定时执行 修改crontab -e
30 8 * * * root /usr/sbin/ntpdate 0.centos.pool.ntp.org; /sbin/hwclock -w
18.3. date
设置系统时间 ``` 查看和设置系统时间
设置系统时间
date -s "2017-05-31 12:00:00"
- 当前unix时间戳
date +%s
- 转换指定日期为Unix时间戳
date -d '2013-2-22 22:14' +%s
- 将时间戳转换成系统时区时间
date -d @1361542596 date -d @1361542596 +"%Y-%m-%d %H:%M:%S"
18.4. ntpd、ntpdate作为客户端的区别
ntpd不仅仅是时间同步服务器,它还可以做客户端与标准时间服务器进行同步时间,而且是平滑同步
ntpdate立即同步,在生产环境中慎用ntpdate,也正如此两者不可同时运行
时钟的跃变,对于某些程序会导致很严重的问题。许多应用程序依赖连续的时钟。毕竟,这是一项常见的假定,即,取得的时间是线性的,一些操作,例如数据库事务,通常会地依赖这样的事实:时间不会往回跳跃。 不幸的是,ntpdate调整时间的方式就是我们所说的”跃变“:在获得一个时间之后,ntpdate使用settimeofday(2)设置系统时间,这有几个非常明显的问题:
第一,这样做不安全。ntpdate的设置依赖于ntp服务器的安全性,攻击者可以利用一些软件设计上的缺陷,拿下ntp服务器并令与其同步的服务器执行某些消耗性的任务。由于ntpdate采用的方式是跳变,跟随它的服 务器无法知道是否发生了异常(时间不一样的时候,唯一的办法是以服务器为准)。
第二,这样做不精确。一旦ntp服务器宕机,跟随它的服务器也就会无法同步时间。与此不同,ntpd不仅能够校准计算机的时间,而且能够校准计算机的时钟。
第三,这样做不够优雅。由于是跳变,而不是使时间变快或变慢,依赖时序的程序会出错(例如,如果ntpdate发现你的时间快了,则可能会经历两个相同的时刻,对某些应用而言,这是致命的)。因而,唯一一个可以令时间发生跳变的点,是计算机刚刚启动,但还没有启动很多服务的那个时候。其余的时候,理想的做法是使用ntpd来校准时钟,而不是调整计算机时钟上的时间。
NTPD 在和时间服务器的同步过程中,会把 BIOS 计时器的振荡频率偏差——或者说 Local Clock 的自然漂移(drift)——记录下来。这样即使网络有问题,本机仍然能维持一个相当精确的走时。