DNS:根据域名查出IP地址
常用的工具:dig
MACBook下自带dig工具
Ubuntu14.04 可以通过命令安装: apt-get install dnsutils
上面结果显示,
math.stackexchange.com
有四个A
记录,即四个IP地址。293是TTL值,表示缓存时间,即293秒内不用重新查询
DNS服务器是怎么会知道每个域名的IP地址呢?答案是分级查询
域名的层级结构:
主机名:次级域名:顶级域名:根域名
每一级域名都有自己的NS记录,NS记录指向该级域名的域名服务器。这些服务器知道下一级域名的各种记录
所谓分级查询,就是从根域名开始,依次查询每一级域名的NS记录,直到查到最终的IP地址
- 从“根域名服务器”查到“顶级域名服务器”的NS记录和A记录(IP地址)
- 从“顶级域名服务器”查到“次级域名服务器”的NS记录和A记录
- 从“次级域名服务器”查到“主机名”的IP地址
DNS记录类型
-
A
: 地址记录,返回域名指向的IP地址 -
NS
:域名服务器记录,返回保存下一级域名服务器地址。该记录只能设置为域名,不能设置为IP地址 -
CNAME
:规范名称记录,返回另一个域名,即当前域名是另一个域名的跳转 -
PTR
: 逆向查询记录,只用于从IP地址查询域名 -
MX
: 邮件记录,返回接收电子邮件的服务器地址
上面结果显示,www.baidu.com的CNAME记录指向www.a.shifen.com。也就是说,用户查询www.baidu.com的时候,实际上返回的是www.a.shifen.com的IP地址(在浏览器上输入IP:220.181.112.244就能访问百度)。这样的好处是:变更服务器IP地址的时候,只需修改www.a.shifen.com这个域名就可以了,用户的www.baidu.com域名不需要修改
PTR
记录用于从IP地址反差域名。
image.png其他DNS工具
image.png
Linux系统中,DNS域名解析是通过/etc/resolv.conf配置的
它的格式很简单,每行以一个关键字开头,后接配置参数
nameserver
: DNS服务器的IP地址,可以有很多行的nameserver,每一个带一个IP地址,在查询的时候就按nameserver在本文件中的顺序进行
domain
: 主机的域名,当为没有域名的主机进行DNS查询时使用
search
: DNS服务器搜索域,它的多个参数指明域名查询顺序,当要查询没有域名的主机时,主机将在由search声明的域中分别查找
options
: DNS解析选项值,以Key/Value对的方式出现
/etc/hosts
这个文件可以配置主机IP及其对应的主机名
ssh-copy-id命令可以把本地主机的公钥复制到远程主机的authorized_keys文件上
ssh-copy-id -i .ssh/id_rsa.pub root@192.168.112.12
在本地/etc/hosts
192.168.112.12 my-ubuntu
以后就可以用ssh my-ubuntu免密登录了
网友评论