容器的DNS和主机名
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了容器的DNS和主机名相关的知识,希望对你有一定的参考价值。
参考技术A 容器启动时会有3个和DNS、主机名相关的文件会被覆盖掉,/etc/hosts、/etc/hostname、/etc/resolv.confDocker容器启动时会从宿主机复制/etc/resolv.conf文件到容器,并删除到无法连接的DNS服务器
/etc/hosts文件中只记录容器自身的主机名和ip:
/etc/hostname文件记录容器的主机名:
DNS服务器搭建完整说明
一、DNS服务简介
DNS(Domain Name System,域名系统),
因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。
一个典型的域名由顶级域名、二级域名和主机名构成。例如www.zzz.com,顶级域名是com,二级域名是zzz,主机名是www。
二、域名解析过程
1、如果本地的dns解析器有缓存直接返回;
2、查找本地hosts文件,根据对应的映射返回IP;
3、指定DNS服务器,DNS服务器有缓存直接返回;
4、解析域名,将请求交给根域DNS(如果没开启转发,全球13个根域DNS);
5、根域告诉DNS服务器.com的DNS地址;
6、DNS服务器查找.com解析www.baidu.com;
7、.com域DNS告诉DNS服务器baidu.com的DNS;
8、DNS服务器查找baidu.com DNS;
9、baidu.com 返回www.baidu.com的IP地址给DNS服务器;
10、DNS服务器将DNS响应报文返回给用户。
三、DNS解析记录分类
1、SOA:描述域管理NS,主从DNS服务器同步参数。
2、NS:域DNS服务器FQDN
3、A:域名到IP的映射
4、MX:域邮件服务器
5、CNAME:域名别名
6、PTR:IP到域名的映射
DNS软件介绍
1、软件名称:BIND
2、监听端口:udp53(解析)、tcp53(区域传送)
3、相关文件:
/etc/named.conf:配置文件
/etc/named.rfc1912.zones:定义正解、反解区域
/var/named:存放DNS数据的默认目录
/var/named/data/named.run:DNS的日志文件
四、DNS解析的工具
1、nslookup
2、host
3、dig
五、DNS安装过程
[[email protected] ~]# yum insatll bind bind-chroot bind-utils -y //centos
[[email protected] ~]# apt-get install bind9 //ubuntu
配置主配置文件:
[[email protected] ~]# vim /etc/named.conf
.........
listen-on port 53 { any; };
allow-query { any; };
[[email protected] ~]# service named start //启动named服务
验证服务是否正常启动
[[email protected] ~]# ps -aux| grep named
[[email protected] ~]# lsof -i:53
六、DNS的正向解析配置
假设要解析一个域test.com
[[email protected] ~]# vim /etc/named.rfc1912.zones
.......
zone "test.com" IN {
type master;
file "test.com.zone";
};
配置对应的A记录:
[[email protected] ~]# cp /var/named/named.localhost /var/named/test.com.zone
[[email protected] ~]# chown root.named /var/named/test.com.zone
[[email protected] ~]# vim /var/named/test.com.zone
$TTL 1D
@ IN SOA test.com. admin.test.com. (200 1H 15M 1W 1D )
@ IN NS www.test.com.
www IN A 10.50.63.185
[[email protected] ~]# service named restart //重启named服务
[[email protected] ~]# dig @localhost www.test.com //dig测试DNS是否正常解析
七、DNS的反向解析配置
编辑/etc/named.rfc1912.zones
[[email protected] ~]# vim /etc/namd.rfc1912.zones
.........
zone "63.50.10.in-addr.arpa" IN { //注意命名规则,IP:10.50.63.0/24--->60.50.10.in-addr.arpa
type master;
file "10.50.63.zone";
allow-update { none };
};
编辑对应的PTR记录
$TTL 1D
@ IN SOA test.com. admin.test.com. (200 1H 15M 1W 1D )
@ IN NS www.test.com.
185 IN PTR www.test.com //第一列的数字为IP的末位
[[email protected] ~]# service named restart //重启named服务
[[email protected] ~]# dig @localhost -x 10.50.63.185 //验证DNS反解是否正常
八、配置DNS实现负载均衡
将DNS中配置的一个域名对应多个IP时,DNS将会返回客户端不同的IP,这样就会达到负载均衡的效果。
$TTL 1D
@ IN SOA test.com. admin.test.com. (200 1H 15M 1W 1D )
@ IN NS dns.test.com
www IN A 10.50.63.185
www IN A 10.50.63.186
www IN A 10.50.63.187
[[email protected] ~]# service named restart
[[email protected] ~]# dig @localhost www.test.com
九、配置纯缓存的DNS服务
纯缓存的DNS服务器就是本身并不维护zone文件,只是简单地把DNS请求转发给指定的DNS服务器,然后把结果返回给客户端同时把该结果记录在系统缓存中。等下次相同的请求,直接将该记录返回给客户端。
[[email protected] ~]# cat /etc/named.conf
options{
..........
forward only;
forwarders {
223.5.5.5;
223.6.6.6;
8.8.8.8;
8.8.4.4;
};
...........
};
[[email protected] ~]# dig @localhost www.baidu.com //dig测试
十、主从DNS搭建
优点:
提供冗余,避免单点故障;
均衡负载查询需求,提高系统可用性;
主服务器(10.50.63.183)配置:/etc/named.rfc1912.zones
zone "test.com" IN {
type master;
file "test.com.zone";
allow-update { none; };
allow-transfer { 10.50.82.44; };
};
zone "63.50.10.in-addr.arpa" IN {
type master;
file "10.50.63.zone";
allow-update { none };
allow-transfer { 10.50.82.44; };
};
从服务器(10.50.82.44)配置:
zone "test.com" IN {
type slave;
file "slaves/test.com.zone";
masters { 10.50.63.185; };
};
zone "63.50.10.in-addr.arpa" IN {
type slave;
file "slaves/10.50.63.zone";
masters { 10.50.63.185; };
};
主从DNS服务器重启DNS服务:service named restart
在从服务器上查看解析文件是否同步
[[email protected] ~]# ll /var/named/slaves/
[[email protected] ~]# dig @localhost -x 10.50.63.185
以上是关于容器的DNS和主机名的主要内容,如果未能解决你的问题,请参考以下文章