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原理的主要内容,如果未能解决你的问题,请参考以下文章