DNS和ARP的工作原理以及一些网络故障排除

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DNS和ARP的工作原理以及一些网络故障排除相关的知识,希望对你有一定的参考价值。


 

作者Georgekai

归档:学习笔记

2018/1/18

 



网络运维基础(四)

1.1 DNS协议

1.1.1 DNS是什么?

DNSDomain Name System ,域名系统

1.1.2 DNS作用

将已知的域名解析成对应的IP地址

1.1.3 DNS域名结构

www.baidu.com.

注:主机名——二级域名——顶级域名——根域

1.1.4 DNS解析顺序

本地缓存——本机hosts文件——首先DNS服务器

1.1.5 DNS工作原理

1. 客户端在浏览器输入网站域名地址信息

2. 客户端在本地查询域名到IP的解析记录信息

3. 先找本地DNS缓存记录(ipconfig /displaydns

4. 再找本地hosts文件(c:\windows\system32\drivers\etc\hosts

5. 客户端无法从本地获取域名对应IP解析记录信息,就会将域名解析请求发送给Local DNS服务 器(首先DNS服务器),就是本地网卡上指定的服务器地址

6. LDNS服务器接收到客户端的域名解析请求,先查看本地服务器上是否存在对应域名到IP的解析 记录,LDNS服务器会向根域名服务器(全球只有13台)发出请求。

7. 根域名服务器接收到LDNS服务器域名解析请求后,根域名服务器会将顶级域名信息告知给 LDNS服务器

8. LDNS服务器节接收到根域名服务器的告知,向顶级域名服务器发出域名解析请求

9. 顶级域名服务器接收到LDNS服务器请求后,顶级域名服务器会向LDNS服务器发送二级域名服 务器的地址

10. LDNS接收到二级域名的地址后,会向二级域名服务器发送域名解析请求

11 .二级域名服务器接收到LDNS服务器域名解析请求后,二级域名服务器会将对应www(主机信 息)的IP地址返回给LDNS服务器,www主机信息与IP地址的对应记 录,成为DNS解析里面 A记录

12. LDNS服务器最终获取到域名到IP解析记录信息,先将解析记录缓存到本地,在把解析记录发送 给客户端

13. 客户端接收到LDNS服务器返回的域名解析记录,先将解析记录缓存到本地,根据解析后的IP 地址发出网络访问请求

1.1.6 DNS查询方式

递归查询:一般用于客户机向LDNS服务器,返回的是个绝对的结果(要么有要么没有)

迭代查询:一般用于LDNS服务器向其他DNS服务器,返回的是最佳结果(我没有,我会给你推荐 其他人,让你去问)

1.1.7 DNS记录

1. A记录:从域名——IP的解析

2. CNAME:域名的别名,如ftp设置为www,访问ftp相当于访问www(用于CDN

3. MX邮件记录:从邮件地址——IP的解析

4. PTR记录:从IP——域名的解析

1.1.8 DNS服务的查看命令

查看域名解析IP地址的方法:

1. dig www.baidu.com #一个域名对应的IP地址信息

dig  @8.8.8.8  A  www.baidu.com #指定本地DNS服务器为8.8.8.8只解析百度的A记录

dig  @8.8.8.8 A www.baidu.com +trace

2. nslookup www.baidu.com

3. host  www.baidu.com

4. ping  www.baidu.com

5. traceroute  www.baidu.com  #路由追踪

 

1.2 ARP协议

1.2.1 ARP是什么?

地址解析协议

1.2.2 ARP作用

1. 将已知的IP解析为MAC地址

2. 维护映射的缓存(ARP缓存表)

1.2.3 ARP原理

 技术分享图片

PC0PC1通信,如PC0ARP缓存表中没有PC1的对应MAC地址,会发送ARP请求包(包含:源IPMACPC1IP地址),交换机会广播,PC1和路由器都会收到这个ARP广播包,PC1收到后发IP是自己的,就会回应PC0一个ARP应答包(包含:自己的IPMAC地址),并将PC0IPMAC记录在自己的ARP缓存表中(老化时间为120秒),以便下次通信。同时路由器也会收到ARP请求,发现不会找自己的,会丢弃这个数据包。

 

1.3 局域网用户上网原理

技术分享图片 

1. 确保物理设备和线路状态良好

2. 确保IP地址配置正确

3. 向上网时,先保证与网关连通性良好

4. 然后让网关进行流量转发到外网设备(家用路由器只是一个NAT转换设备)

5. 调制解调器通过路由器获取拨号信息,确认无误后,即可建立与外网的连接,实现互联网访问。

 

1.4 虚拟机访问外网的过程


技术分享图片 

1.5 CentOS系统网卡标准化配置说明

vim /etc/sysconfig/network-scripts/ifcfg-eth0

 

    DEVICE=eth0  <- 第一块网卡逻辑设备名;第二块为eth1,有些系统也会以em等字符 标识(centos7系统)

    TYPE=Ethernet  <- 上网类型,目前基本都是以太网

    UUID=sasd-sdasd-wqe-12 <- 通用唯一识别码(Universally Unique Identifier);克隆虚拟主机 时,要进行删除

         注:如果是vmware克隆的虚拟机无法启动网卡可以去除此项。

    ONBOOT=yes      <- 这个地方要设置为yes,才能保证下次开机启动激活网卡设备

    NM_CONTROLLED=no  <- 是否通过NetworkManager管理网卡设备(centos6关闭)

    BOOTPROTO=none     <- 启动协议,获取IP地址配置方式,有none|bootp|dhcp三个选项

    IPADDR=10.0.0.51  <- 表示本台局域网中服务器的固定IP地址

    NETMASK=255.255.255.0 <- 子网掩码,用来规划网络为和主机位的,一般为255.255.255.0

    DNS2=223.6.6.6  <- 第二个DNS,这里默认会覆盖以及优选于/etc/resolv.conf的配置文件

    GATEWAY=10.0.0.254 <- 局域网上网网关地址

    DNS1=223.5.5.5  <- DNS,这里默认会覆盖以及优先于/etc/resolv.conf的配置生效

    USERCTL=no

    PEERDNS=yes      <- 是否确认网卡配置文件中的DNS配置优先于/etc/resolv.conf配置文件

    IPV6INIT=no  <- 是否支持IPV6

    HWADDR=00:0c:29:10:2e:28 <- 以太网硬件地址即MAC地址,如果是vmware克隆的虚拟机 克隆虚拟主机时,要进行删除

                                  注: 无法启动网卡可以毫不犹豫的删除此项。

1.5.1 修改网关地址信息方法

方法一:修改配置文件,永久生效

 1. vim  /etc/sysconfig/network-scripts/ifcfg-eth0

 

vim  /etc/sysconfig/network

添加:GATEWAY=10.0.0.254

方法二:临时配置,优先生效(注:重启网络服务后,临时配置会失效)

 1. 删除临时网关:route del default gw 10.0.0.254

  添加临时网关:route add default gw 10.0.0.254

 

 2. 添加静态网关路由:route add -net 172.16.1.0/24 gw 10.0.0.254

删除静态网关路由:route del -net 172.16.1.0/24 gw 10.0.0.254

 

 3. 添加静态主机路由:route add -host 10.0.0.201 dev eth1

添加静态主机路由:route del -host 10.0.0.201 dev eth1

 

1.6 IP别名与辅助IP配置方法(临时生效)

如何让一块网卡上可以拥有多个IP地址:

1.6.1  IP别名方式实现:支持centos6

       ifconfig eth0:0 192.168.1.10/24 up

       ifconfig eth0:0  down

 

1.6.2  辅助IP方式实现:支持centos6centos7

注:用ip 命令配置(centos7没有ifconfig命令)

ip addr add 10.0.0.200/24 dev eth0

ip addr del 10.0.0.200/24 dev eth0

ip addr add 10.0.0.100/24  broadcast10.0.0.255 dev ethx

  

1.7 网络异常排查过程

技术分享图片 

 

1.7.1 网络排查命令

1. ping命令参数

ping   -c  5  www.baidu.com  

-c 5 : #指定发送多少个ping包

ping -c  5  -i  3  www.baidu.com

-i 3 : #间隔多少秒ping一次

ping -c 5 -q www.baidu.com

-q #隐藏ping过程信息,只显示最终结果信息

ping -c 10000 -f  www.baidu.com

-f #急速ping,实现快速发送大量ping,返回最终结果信息


2. telnet命令参数

telnet 10.0.0.200 22  #测试22端口是否通畅

注:如果测试完成后,无法退出测试界面,按“ctrl+]”退出。

 

3. traceroute 路由追踪

traceroute  223.5.5.5 #查看到225.5.5.5经过了哪些网段



关注微信公众号:linux运维菜鸟之旅


以上是关于DNS和ARP的工作原理以及一些网络故障排除的主要内容,如果未能解决你的问题,请参考以下文章

网络安全面试题及答案

附录A 思科互联网络操作系统(IOS)

广播风暴的成因以及解决办法有哪些?

网络相关目录

网络安全概述

第四周知识总结