主机名解析,比如:本地系统将域名(wenlong.wen.com)转换为IP地址(192.168.x.x)
①Unix初期,域名解析很容易,当时计算机网络有4个主机,其中每个主机的名称和地址都放在/etc/hosts这个静态数据库中
②如今,网络变复杂,这种方式不适用,因此大部分用户会建立与DNS的连接,信息记录在/etc/resolve.conf中
③如果在/etc/hosts中配置了到DNS服务器的连接,就要用到/etc/nsswitch.conf文件,它指定各种名称服务数据库的检索顺序
有4个主机名配置文件比较重要/etc/hostname、/etc/hosts、/etc/resolv.conf、/etc/nsswitch.conf。这个四个文件一起提供了本地主机名、主机名和IP地址的本地数据库、一个或多个DNS服务器的IP地址、这些数据库的访问顺序。
1./etc/nsswitch.conf
定义了从验证到名称服务所有内容的数据库搜索优先级。作为名称服务器转换文件,它包含下边这行,决定了先搜索哪个数据库。
hosts: files dns myhostname
当系统接收到一个类似wenlong.test.com主机名称的要求时,上述指令表示先搜索/etc/hosts文件。
如果在/etc/hosts文件中找不到,下一步就到/etc/resolv.conf中配置的服务器(DNS服务器)上搜索。
2./etc/hosts
它是一个静态数据库,保存了主机名和它们的IP地址。它适用于小型、静态的网络,不适用于经常变化的网络。
用elinks测试最后这条配置,我启动了Apache服务在标准80端口:
elinks wenlong.wen.com
有时候在一个IP地址上创建多个条目。比如,可以添加下边的记录指定web和FTP服务的IP地址。
3./etc/resolv.conf
记录DNS服务器位置的标准文件,通常情况下包含两个记录。在该文件中最多可以指定3个nameserver指令。
直接编辑该文件不太好,可以使用nmtui图形化界面工具进行编辑。
4./etc/hostname
在引导过程中,网络服务根据这个文件确定本地主机名,主机名应该设置为类似上边这样的形式。当然,也可以修改这个文件改变主机名。