使用nsswitch控制linux dns解析顺序
参考:1、DNS原理入门参考:http://www.ruanyifeng.com/blog/2016/06/dns.html
2、http://cn.linux.vbird.org/linux_server/0350dns.php
一、
域名解析与以下四个文件有关:
/etc/hosts
/etc/host.conf
/etc/resolv.conf
/etc/nsswitch.conf
还有
/etc/hosts.allow
/etc/hosts.deny
其中nsswitch.conf与系统获取解析的顺序有关
目前观察到的情况是,当nscd服务关闭时,nsswitch可以控制dns(/etc/resolv.conf)和files(/etc/hosts)的解析顺序,顺序考前的优先,一般配置顺序是:hosts: files dns。但是当开启nscd服务之后,不论nsswitch怎么配置,都是nscd缓存优先。nscd缓存的数据库文件位置:/var/db/nscd/hosts
# more /etc/nsswitch.conf | grep hosts
# hosts: db files nisplus nis dns
# hosts: dns files db
hosts: dns db files
hosts dns #只使用/etc/resolv.conf查询,不使用/etc/hosts
hosts files #只使用/etc/hosts查询
二、getent命令
从nisswitch库中查找记录:
getent hosts www.baidu.com
三、DNS 使用的 port number
好了,既然 DNS 系统使用的是网络的查询,那么自然需要有监听的 port 啰!没错!很合理!那么 DNS 使用的是那一个 port 呢?那就是 53 这个 port 啦!你可以到你的 Linux 底下的 /etc/services 这个档案看看!搜寻一下 domain 这个关键词,就可以查到 53 这个 port 啦!
但是这里需要跟大家报告的是,通常 DNS 查询的时候,是以 udp 这个较快速的数据传输协议来查询的, 但是万一没有办法查询到完整的信息时,就会再次的以 tcp 这个协定来重新查询的!所以启动 DNS 的 daemon (就是 named 啦) 时,会同时启动 tcp 及 udp 的 port 53 喔!所以,记得防火墙也要同时放行 tcp, udp port 53 呢!
参考
LINUX DNS解析的3种修改方法~
1.HOST 本地DNS解析
vi /etc/hosts
添加规则 例如:
223.231.234.33 www.baidu.com
2.网卡配置文件DNS服务地址
vi /etc/sysconfig/network-scripts/ifcfg-eth0
添加规则 例如:
DSN1='114.114.114.114'
3.系统默认DNS配置
vi /etc/resolv.conf
添加规则 例如:
nameserver 114.114.114.114
系统解析的优先级
1>2>3
/etc/resolv.conf配置里的search含义
search local.xx local.yy
当nslookup www查询失败时,会继续查询www.local.xx,如果仍然失败,继续查询www.local.yy
使用nsswitch控制linux dns解析顺序的更多相关文章
- Linux主机解析顺序
1.介绍 本篇文章由于因公司项目上线,需要对项目环境进行压力测试.在压测过程中,所有打压机从公网对目标项目服务器进行压力测试,发现和内网压力测试的性能结果差距10倍左右,在调整主机对DNS的解析顺序之 ...
- LINUX DNS解析的3种修改方法~
1.HOST 本地DNS解析 vi /etc/hosts 添加规则 例如: 223.231.234.33 www.baidu.com 2.网卡配置文件DNS服务地址 vi /etc/sysconfi ...
- 改变Linux的DNS解析顺序(DNS到hosts)
在Linux中,往往解析一个域名时,先会找/etc/hosts文件,如果/etc/hosts文件没有对应,才会去找DNS,那么有什么方式,让主机先找DNS呢? 当然有,在/etc/nsswitch.c ...
- linux下DNS设置以及解析顺序
1.编辑/etc/resolv.conf文件,添加如下语句: nameserver dns_ip(例如nameserver 8.8.8.8) 2.如/etc/nsswitch.conf中未包含启用DN ...
- Linux DNS 服务器安装、配置和维护
每个 IP 地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开.有了主机名,就不要死记硬背每台 IP 设备的 IP 地址,只要记住相对直观有意义的主机名就行了.这就是 DNS ...
- Linux系统解析域名的先后顺序【转帖】
Linux系统解析域名的先后顺序 gd_WWW已经在本地(/etc/hosts)进行指向,但是竟然还能解析到外网,让我百思不得其解.经过不断查找发现域名解析与以下四个文件有关: /etc/hosts ...
- Linux学习笔记(10)linux网络管理与配置之一——主机名与IP地址,DNS解析与本地hosts解析(1-4)
Linux学习笔记(10)linux网络管理与配置之一——主机名与IP地址,DNS解析与本地hosts解析 大纲目录 0.常用linux基础网络命令 1.配置主机名 2.配置网卡信息与IP地址 3.配 ...
- 网卡配置文件详解 用户管理与文件权限篇 文件与目录权限 软连接 tar解压命令 killall命令 linux防火墙 dns解析设置 计划任务crond服务 软件包安装 阿里云 yum源 安装
Linux系统基础优化及常用命令 Linux基础系统优化 引言没有,只有一张图. Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令. ...
- LINUX DNS客户端 解析域名慢的问题。
Linux系统下域名解析的配置文件是/etc/resolv.conf cat /etc/resolv.conf # Generated by NetworkManager options single ...
随机推荐
- Iptables基础整理
Iptables基础框架
- windows下tomcat在当前窗口运行,不在新弹出的窗口运行
window下tomcat在当前窗口启动,不在一个新的窗口启动startup.bat中最下几行goto setArgs:doneSetArgscall "%EXECUTABLE%" ...
- 你想了解的轮询、长轮询和websocket都在这里了
日常生活中,有很多需要数据的实时更新,比如群聊信息的实时更新,还有投票系统的实时刷新等 实现的方式有很多种,比如轮询.长轮询.websocket 轮询 轮询是通过设置页面的刷新频率(设置多长时间自动刷 ...
- python安装numpy和scipy的资源
whl资源:注意python版本和位数. http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
- (翻译)在 Xamarin 应用中使用 MongoDB
原文地址:https://blog.xamarin.com/write-apps-using-mongodb-xamarin/ 在设计应用时,最重要的决定之一就是要使用什么类型的数据库. 不久之前,这 ...
- cordova plugin 大全及安装命令
前言:用cordova开发hybrid app的过程中,由于是html5开发的app,在手机上很多权限受限制,这就导致了我们需要安装很多插件来弥补这一缺点.在网上搜了好久,感觉都不是很全,所以自己整理 ...
- try catch finally 执行顺序面试题总结
在网上看到一些异常处理的面试题,试着总结一下,先看下面代码,把这个方法在main中进行调用打印返回结果,看看结果输出什么. public static int testBasic(){ int i = ...
- phonegap安卓视频播放解决方案
使用phonegap开发的时候,视频播放很多人一开始选择用html5的Video标签作为备选方案,实际上这种方案在真实环境下常常是无法满足需求的,因为目前HTML5的Video标签只支持MP4,OGG ...
- Extjs MVC模式
最近在学习Extjs,发现他可以使用MVC模式,不但可以组织代码,而且可以 减少实现的内容,模型(Models)和控制器(Controllers)也被引入其中. Model模型是字段和它们的数据的集合 ...
- 分解质因数法求最大公约数(javascrip实现)
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...