Linux下是如何配置解析主机名的(包括DNS服务)
2017-05-13 13:17
561 查看
我们要访问DNS服务,必需知道DNS服务器的IP地址,Linux使用/etc/resolv.conf文件来存放DNS服务器的IP地址。下面我们来了解下/etc/resolv.conf文件
它的格式很简单,每行以一个关键字开头,后接一个或多个由空格隔开的参数。
resolv.conf的关键字主要有四个,分别是:
nameserver //定义DNS服务器的IP地址
domain //定义本地域名
search //定义域名的搜索列表
sortlist //对返回的域名进行排序
下面我们给出一个/etc/resolv.conf的示例:
最主要是nameserver关键字,如果没指定nameserver就找不到DNS服务器,其它关键字是可选的。
nameserver:表示解析域名时使用该地址指定的主机为域名服务器。其中域名服务器是按照文件中出现的顺序来查询的,且只有当第一个nameserver没有反应时才查询下面的nameserver。
domain:声明主机的域名。很多程序用到它,如邮件系统;当为没有域名的主机进行DNS查询时,也要用到。如果没有域名,主机名将被使用,删除所有在第一个点( .)前面的内容。
search:它的多个参数指明域名查询顺序。当要查询没有域名的主机,主机将在由search声明的域中分别查找。
domain和search不能共存,如果同时存在,后面出现的将会被使用。
sortlist:允许将得到域名结果进行特定的排序。它的参数为网络/掩码对,允许任意的排列顺序。
一般情况下,使用DNS服务来访问Internet上的某台主机,但如果我们通过主机名来访问本地局域网上的机器,则可以通过本地的静态文件来获得该机器的IP地址了。
Linux将目标目标主机名及对应的IP地址存储在/etc/hosts配置文件中。当需要查询某个主机名对应的IP地址时,程序首先检查这个文件。如我的机器上的/etc/hosts文件的内容如下:
关于IPV6,暂时不去了解,目前我还没用过,其中第一项指出本地回路之地127.0.0.1的名称是localhost,第二项则描述了我的笔记本电脑的本地IP地址127.0.1.1对应的主机名是Erazer,这样我就可以通过ping Erazer访问到我的主机了。
如果程序在/etc/hosts中未找到目标主机名对应的IP地址,它将动用前面说到的DNS解析服务,用户可以通过修改/etc/host.conf文件来自定义系统解析主机名的方法和顺序(一般是先访问本地文件/etc/hosts,再访问DNS服务),我的电脑上的该文件内容如下:
其中第一行表示优先使用/etc/hosts文件来解析主机名,失败后再使用DNS服务(bind)。第二行表示如果/etc/hosts文件中一个主机名对应多个IP地址,那么解析的结果就包含多个IP地址。/etc/host.conf通常仅包含这两行,但它支持更多选项,具体的使用可以参考其man手册。
它的格式很简单,每行以一个关键字开头,后接一个或多个由空格隔开的参数。
resolv.conf的关键字主要有四个,分别是:
nameserver //定义DNS服务器的IP地址
domain //定义本地域名
search //定义域名的搜索列表
sortlist //对返回的域名进行排序
下面我们给出一个/etc/resolv.conf的示例:
domain 51osos.com search www.51osos.com 51osos.com nameserver 202.102.192.68 nameserver 202.102.192.69
最主要是nameserver关键字,如果没指定nameserver就找不到DNS服务器,其它关键字是可选的。
nameserver:表示解析域名时使用该地址指定的主机为域名服务器。其中域名服务器是按照文件中出现的顺序来查询的,且只有当第一个nameserver没有反应时才查询下面的nameserver。
domain:声明主机的域名。很多程序用到它,如邮件系统;当为没有域名的主机进行DNS查询时,也要用到。如果没有域名,主机名将被使用,删除所有在第一个点( .)前面的内容。
search:它的多个参数指明域名查询顺序。当要查询没有域名的主机,主机将在由search声明的域中分别查找。
domain和search不能共存,如果同时存在,后面出现的将会被使用。
sortlist:允许将得到域名结果进行特定的排序。它的参数为网络/掩码对,允许任意的排列顺序。
一般情况下,使用DNS服务来访问Internet上的某台主机,但如果我们通过主机名来访问本地局域网上的机器,则可以通过本地的静态文件来获得该机器的IP地址了。
Linux将目标目标主机名及对应的IP地址存储在/etc/hosts配置文件中。当需要查询某个主机名对应的IP地址时,程序首先检查这个文件。如我的机器上的/etc/hosts文件的内容如下:
127.0.0.1 localhost 127.0.1.1 Erazer # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters
关于IPV6,暂时不去了解,目前我还没用过,其中第一项指出本地回路之地127.0.0.1的名称是localhost,第二项则描述了我的笔记本电脑的本地IP地址127.0.1.1对应的主机名是Erazer,这样我就可以通过ping Erazer访问到我的主机了。
如果程序在/etc/hosts中未找到目标主机名对应的IP地址,它将动用前面说到的DNS解析服务,用户可以通过修改/etc/host.conf文件来自定义系统解析主机名的方法和顺序(一般是先访问本地文件/etc/hosts,再访问DNS服务),我的电脑上的该文件内容如下:
order hosts,bind multi on
其中第一行表示优先使用/etc/hosts文件来解析主机名,失败后再使用DNS服务(bind)。第二行表示如果/etc/hosts文件中一个主机名对应多个IP地址,那么解析的结果就包含多个IP地址。/etc/host.conf通常仅包含这两行,但它支持更多选项,具体的使用可以参考其man手册。
相关文章推荐
- 教你如何快速的在linux5.0上为大型公司企业搭建DHCP(动态主机配置)服务以及中继代理服务
- Linux DNS服务系列之原理介绍及正反向解析配置
- [Linux]在Linux上部署Java开发环境笔记(一)-- 补充:Linux下如何手动设置IP及配置DNS服务
- Linux配置 DNS and BIND服务配置详解--缓存服务器配置 正反向解析配置
- linux下DNS服务配置
- linux企业版笔记之DNS服务的基本配置
- 如何启用和配置Linux上的VNC服务
- Linux如何配置IP和DNS才可以上网?以及ping: unknown host www.baidu.com
- Linux下配置静态IP地址,设置DNS和主机名
- ubuntu/debian 配置ssh服务,实现两台linux主机之间文件传输
- Windows XP下配置基于本机DNS服务的Apache虚拟主机和SSL
- 怎么在LINUX里安装和配置DNS服务。还有IP地址、网关、DNS地址
- LINUX DNS服务的配置(一)
- linux服务(二)主流论坛软件使用和虚拟主机及https,认证配置
- rh9 linux服务配置学习笔记--------dns
- 配置Linux下的动态DNS服务
- Linux-DNS服务的配置
- Linux下配置静态IP 设置DNS和主机名
- Linux下配置静态IP地址,设置DNS和主机名
- rh9 linux服务配置学习笔记--------dns