一开始的办法是一台机器一台机器的编辑 /etc/network/interfaces 文件和 /etc/hosts 文件使各台机器都有固定的ip和通过机器名称可以转换成对应的ip,这样一旦集群中一台机器发生变动,各台机器都要过一遍,很是麻烦。
现在一般的家用路由器上都有根据mac地址分配固定ip的功能,所以只要在路由器上配置dhcp分配的规则,将各个机器的网卡mac地址填入就可以将机器的ip固定住了。
接下来就是机器之间互相识别的事了,这里我们在集群内选定一台主机,作为dns服务器,其他的机器只要将dns服务设定为这台机器,就可以识别其他机器名称所对应的ip了。
按惯例,给出操作环境:
首先安装bind
安装完毕之后开始配置。
先要说一些基本认知:
然后我们开始配置bind,参照 ubuntu的bind中文wiki 。
修改 named.conf.local
添加一个zone节点,这里我们的zone名字是“mwnet”:
然后将“db.local”文件复制成“db.mwnet”,并修改之:
其中第5、11行就是将"localhost"修改成了自己的zone名称。
第12行是必须的,指定默认的域名解析到的ip,包括“ns.mwnet”的解析。
从第13行开始就是机器名称的解析了。
接着增加一个反向解析的配置,这一步必须要做,否则hdfs的datanode启动会失败。
同样修改 named.conf.local
添加一个zone节点:
然后将 db.127 文件复制成 db.192.168.3 ,并修改之:
注意这里PTR记录和 db.mwnet 里面的A记录是一一对应的。
保存修改之后重启服务。
接下来修改各台机器的dns服务器设置,需要改动 /etc/resolvconf/resolv.conf.d/base 文件:
第1行写search是为了在寻找主机的时候,自动在主机名称后面加上“.mwnet”,以便dns服务器解析。
第2行写domain是为了让本机加入"mwnet"域,这样完整的主机名就变成了设备名称+“.mwnet”。
第3行指定了dns服务器的地址。
需要注意的是这个改动必须重启机器后生效。
如果之前没有改动过 /etc/hosts 文件,需要注意一点就是把系统自动添加机器名称解析到127.0.1.1的记录删除,很多事情都坏在这条记录上。
背景: 在很多时候,有没有经常遇到过,线上部署的系统依赖二级或三级域名,而测试环境又因没有多的域名而无法真实的进行测试,最终线上出现各种有关域名配置的错误导致不可用,为了解决此问题而又不需重新申请测试域名,以下使用bind搭建DNS服务器(Linux)来解决此问题。
介绍: DNS域名解析服务(DomainNameSystem)是用于解析域名与IP地址对应关系的服务,功能上可以实现正向解析与反向解析:
正向解析:根据主机名(域名)查找对应的IP地址。
反向解析:根据IP地址查找对应的主机名(域名)。
工作形式上又分主服务器、从服务器和缓存服务器。
主服务器: 在特定区域内具有唯一性、负责维护该区域内的域名与IP地址对应关系。
从服务器: 从主服务器中获得域名与IP地址对应关系并维护,以防主服务器宕机等情况。
缓存服务器: 通过向其他域名解析服务器查询获得域名与IP地址对应关系,提高重复查询时的效率
首先准备一台linux服务器(192.168.0.85)作为dns服务主机, 同时需放开防火墙对公网的udp/53端口。
step1(安装bind):
step2(主配置文件):
step3(配置zone,新增一个域名映射):
正向解析的作用是根据主机名(域名)查找到对应的IP地址,区域文件中已有一些默认信息,可不必理会,直接在下面追加即可。
step4(配置具体域名-IP解析信息):
可直接复制正向解析模板文件:"/var/named/named.localhost",填写信息后即可直接使用。
step5(重启named服务让配置文件立即生效):
默认日志查看
step6(检验解析结果):
将本机的DNS设置为本机的IP 192.168.0.85
# Generated by NetworkManager
nameserver 192.168.0.85
nameserver 192.168.0.85
options timeout:2 attempts:3 rotate single-request-reopen
使用nslookup 命令用于检测能否从网络DNS服务器中查询到域名与IP地址的解析记录,检测named服务的解析能否成功,此为查询DNS服务器的信息:
[root@Centos named]# nslookup
>ems.music.com
Server: 192.168.0.85
Address: 192.168.0.85#53
Non-authoritative answer:
Name: ems.music.com
Address: 120.77.x.x
至此,DNS服务器就已搭建成功。
step7(在windows下配置此dns服务器用于测试环境模拟线上域名调试):
然后打开cmd, ping ems.music.com 查看响应ip就是 120.77.x.x 这个ip,至此所有操作成功完成。
参考文献1
参考文献2
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)