DNS原理

Posted axzq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DNS原理相关的知识,希望对你有一定的参考价值。

1、dns命令基础及通过命令理解dns原理

DNS域名解析查询:

dig  www.xxx.com

nslookup

host

ping

链接:https://blog.csdn.net/a583929112/article/details/66499771

 

2、网卡知识-dns配置-生效

网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0

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

HWADDR            以太网硬件地址即MAC地址,如果是vmware克隆的虚拟机无法启动网卡可以毫不犹豫的删除此项

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

UUID                   通用唯一识别码,如果是vmware克隆的虚拟机无法启动网卡可以去除此项

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

NM CONTROLLED=yes  是否通过 NetworkManager 管理网卡设备

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

IPADDR               局域网linux服务器的固定IP

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

DNS2=8.8.8.8     第二个DNS,这里默认会覆盖以及优先于 /etc/resolv.conf 的配置生效

GATEWAY           局域网上网网关地址

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

IPV6INIT=no        是否支持IPV6

setup-network  config  就是网卡配置文件

网卡生效:

推荐:ifdown,ifup

ifdown  eth0  停掉eth0网卡

ifup  eth0      启动eth0网卡

针对所有网卡:

/etc/init.d/network  restart  针对所有网卡的

注意:

1.网卡如果配置DNS,会优先于/etc/resolv.conf的配置,并且重启网卡,会把 /etc/resolv.conf里的覆盖

2.网络如果没有配置DNS,那么在/etc/resolv.conf里配置会生效,如果有多块网卡(DHCP获取方式)时候,可能会覆盖/etc/resolv.conf里已有的配置

 

3、主机名更改

1.hostname

2.vi  /etc/sysconfig/network

3.vi  /etc/hosts

如果用setup->dns设置修改主机名,永久生效(但命令行不生效)

影响/etc/sysconfig/network和/etc/hosts配置文件

 

4、已知端口查进程名的多种方法

已知一个端口为333,如何查看端口对应的是什么服务名?

方法1:lsof  -i:52113

方法2:netstat  -lntup | grep  52113

 

5、网络及服务故障排查思路及命令

1.ping     icmp协议

2.traceroute  www.baidu.com  -n(-n表示不解析)

3.telnet  www.qq.com  80  检查服务器WEB有没有开启,服务开没开,以及防火墙有没有挡住

   namp  ip地址  -p  80

   nc

不通:

1)80服务没开或端口不存在

2)fw防火请阻挡了

3)服务监听的端口不在连接的IP上

4)运营商默认不开,申请开端口

4.win:跟踪路由

tracert  -d  www.baidu.com

 

6、抓包工具:

tcpdump 命令

tcpdump  -n  icmp  -i  eth0

namp

win:wireshark

例题:作为企业网管,局域网的某个机器无法上网,请给出详细排错思路?

以 win32 客户端为例:

(一)单个机器无法上网,别人可以

1.ping  www.baidu.com

如果通,但还不能上网:可能是浏览器、中毒等问题

2.ping 网关,目的是排除物理链路(网线,网卡,驱动,IP设置等)

   如果 ping 网关不通,则查看 ip 设置,然后 ping自身 ip 或 ping 网内其它机器 ip

   如果 ping 自己 ip 不通:检查 ip 设置、网卡驱动、物理链路

   如果 ping 网内其它机器 ip 是通的,网关不让你联网了

3.ping 网关通的情况下,检查 DNS 的设置情况是否正确

   1)检查方法是,ping 公网 ip,看通畅情况(平时要记几个外部 ip)ping 203.81.19.1

   2)host/dig/nslookup 检查域名解析

4.上网路由器问题(配置和硬件)以及 ISP 线路问题

   登录路由,检查上级线路,打电话给 ISP 技术

5.辅助排查:其他人能否上网,ip 地址冲突,ARP病毒,核心交换机坏了,交换机环路(看日志)

(二)大面积上不了网:

路由器,ISP,核心交换机,ARP 病毒欺骗网关,网关地址被占用,LDNS 出问题

核心交换机坏了,交换机环路

 

例题:作为 linux 运维,客户反映打开你部署的网站服务器慢,请给出详细排错思路?

(一)用户个例,还是全部

自己把自己当做用户去测试,如果没问题,就从客户的角度去思考

(1)路是否通的问题

1.ping www.baidu.com  高速路有没有修好

   如果 ping 是通的,不丢包。http服务的问题(服务宕机了,服务过载了)

   如果 ping 是通的,丢包。机房带宽不稳定。各个线路不稳定。

   如果 ping 不通,ping www.baidu.com,机房宕了,或者 http 服务的问题(服务宕机了,服务过载了)

2.tracert -d  www.baidu.com  高速的各个路段有没有修好。从客户端到服务器之间各个线路。让机房配合查。

(2)机房业务是否OK

3.telnet  ip地址  80端口        检查服务器WEB服务有没有开启以及防火请有没有挡住

   nmap  ip地址  -p  80

4.提供服务的服务器是否资源过载,服务器及服务连接数过多,负载高,CPU高,IO高等

(3)外部问题

5.服务器购买的带宽满了,通过流量监控服务查看

6.内链外链(调用外部网站网址有问题)

必不可少的重要调试网站前端的工具

根据网站URL调试网站

1、google浏览器直接F12

2、火狐 firebug,yslow

3、le  httpwatch

(4)其它问题

个别客户自身问题,例如:用户的线路和运营商线路不符

(5)集群架构(数百台服务器服务)

1、web 服务问题

2、数据库问题,登录数据库,看是否有慢查询语句 show  proceslist,调整 mysql 配置,优化SQL语句

3、存储等的问题,是不是存储服务器,如 NFS,MFS 的负载及磁盘 IO 过高?

 

 

例题选集:

1、查看当前系统每 IP 连接数

解答:netstat  -an | grep "ESTABLISHED" | awk ‘ {print$4} ‘ | awk -F: ‘ {print$1} ‘ | sort -n | uniq -c

2、请列出以下服务使用的端口

     http,https,ftp,telnet,ssh,rsync,dns,mysql

解答:grep  -Ew  " ^(http|https|ftp|telnet|ssh|rsync|dns|mysql) "  /etc/services

          awk  --posix  ‘ $1~ /^ (http|https|ftp|telnet|ssh|rsync|dns|mysql)$ / {print$0} ‘  /etc/services

3、请列出 linux 下系统常用的几种文件系统格式,并比较各自特点

解答:uname  -r  ->查询系统内核版本名

           find  /  -type  d  -name  "内核版本名"  ->查询到内核版本所在路径

           ls  /lib/modules/2.6.32-573.el6.x86_64/kernel/fs/

4、在 linux 下给 INTEL 82571 网卡的第一个口配置 IP,网关和增加路由,请写出命令行的具体步骤:

     IP 10.10.10.10/255.255.255.0  网关 10.10.10.1  需要增加路由:到网段 192.168.0.0/255.255.255.0 通过 ip 10.10.10.2 出去

解答:ifconfig  eth0  10.10.10.10/24

          route  add default  gw  10.10.10.1  /  route  -n

          route  add  -net  192.168.0.0/24  gw  10.10.10.2  /  route  -n

5、请详细描述 DNS 解析过程,以请求 www.baidu.com 为例

6、请描述 TCP 四次断连过程

解答:通过命令 "tcpdump  port  22  -Stn  -c  3" 分析

7、如何对主机做双网卡绑定?如何对交换机做端口绑定?

8、对于网络丢包问题你会怎么去排查?(物理链路如网线破损;带宽占用等)

9、如何查看主机的路由规划、开放端口、tcp链接状态?(route -n / netstat -rn / netstat -ntl)

10、简述 raid0  raid1  raid5 三种模式的

RAID0:

工作原理

磁盘数量->1块到多块

组合后的容量->组合内所有硬盘容量之和

读写的性能->读写性能都是组合内所有硬盘的读写性能之和

是否具有冗余性->没有冗余性

适用场景->负载均衡集群中的从节点

RAID1

磁盘数量->2块

组合后的数量->单盘容量

读写性能->读性能几乎是两块硬盘的读性能之和,写性能几乎为单盘写性能

是否具有冗余性->具有冗余性,同时可以坏一块硬盘

适用场景->系统盘

RAID5

硬盘数量->3块以上

组合后的容量->组合内所有硬盘之和减去单盘容量

读写性能->读性能几乎是组合内所有硬盘的读性能之和减去单盘读性能;写入性能为单盘的写性能

是否具备冗余性->具备,同时最多可以坏一块硬盘

适用场景->几乎适用于所有非数据库和存储的服务器

RAID10

磁盘数量->4块,或者以上的偶数盘

组合后的容量->组合内所有硬盘容量之和的50%

读写性能->读性能几乎是组合内所有硬盘的读性能之和,写入性能几乎是组合内所用硬盘写入性能的50%

适用场景->数据库主节点、存储服务器主节点

是否具备冗余性->具备;同时可以坏一半的硬盘

11、写出 172.16.0.10/25 和 10.10.1.2/23 的掩码地址、广播地址和反掩码

12、你使用过和听说过的几种监控软件吗?说说其特点

cacti:监控网络流量和绘图功能比较优秀

nagios:监控服务器的负载和服务状态比较有优势

zabbix:综合以上两种

13、如何查看 www.abc.com 的解析 IP 地址及其所使用的权威 DNS

14、简要叙述下列端口所运行的服务

21、22、23、25、110、143、873、3306

21  20:ftp

22:ssh

23:telnet

25:smtp

110:pop3   995

143:imap4   993

873:rsync

3306:mysql

15、简述 TCP 三次握手的过程

1.在最开始,客户端和服务器都处于 CLOSE 状态

2.服务器会创建 socket 开始监听,服务器状态 LISTEN

3.客户端向服务器发送 SYN,请求建立连接,发完之后自己的状态变为 SYN_CENT

4.服务器收到客户端发来的 SYN,然后会回复 ACK 和 SYN,发完之后自己的状态变为 SYN_RECV  RCVD

5.客户端收到服务器发来的 SYN 和 ACK 之后会马上回复 ACK,回复完之后状态变为 ESTABLISHED

6.服务器端收到客户端发来的 ACK 之后会直接进入 ESTABLISHED

至此,三次握手完成,连接建立

16、tcpdump 怎么抓出 ip 是10.10.0.10  tcp 80 端口的包

tcpdump  host  10.10.0.10  and  port  80

 

 

 

   

 

 

 

 

           

 

 

          

 

 

 

 

 

  

 

以上是关于DNS原理的主要内容,如果未能解决你的问题,请参考以下文章

DNS 原理入门

DNS 原理入门

DNS 原理入门

DNS原理

DNS原理入门

DNS原理入门