IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> DNS域名解析 -> 正文阅读

[系统运维]DNS域名解析

DNS域名解析

IP地址

用于明确计算机在网络中的地址信息

IP地址主要分为四类

  • A类地址 范围:0.0.0.0~126.255.255.255 主要分配给超大型网络公司使用
  • B类地址 范围:128.0.0.0~191.255.255.255 主要分配给大型局域网公司使用
  • C类地址 范围:192.0.0.0~255.255.255.255 主要分配中小型企业和个人使用
  • D类地址:属于广播地址
  • E类地址:属于系统保留地址

为什么没有127?127为本地回环地址网段,被电脑内部占用,用于测试使用

公网:公网IP独一无二,全球可通信

局域网:同一个局域网内可以互相通信,因为在同一个网段内

域名&ip

浏览网站的原理:

  • 通过互联网找到对方的机器
  • 从对方的机器中。找到对应的文件,下载到本地
  • 通过浏览器渲染数据

IP地址比较隐晦,难以记忆;而域名更加便于人们记忆,可通过DNS服务器的key-value数据库,记录ip-域名的对应关系,从而将域名解析为IP地址,用于通信。

域名是用来识别主机名称和主机所属的组织机构的一种分层结构的名称。

  • 例如:http://www.baidu.com(域名使用.连接)
    • . 根域名
    • com: 一级域名,表示这是一个企业域名。同级的还有 “net”(网络提供商),“org”(非盈利组织)等。
    • baidu: 二级域名, 公司名。
    • www: 只是一种习惯用法,并不是每个域名都支持。
    • http:// : 用来连接主机名的协议。

DNS配置文件

  • 本地的dns解析文件 /etc/hosts 这个文件是运维人员自定义的用于域名-ip强制解析(优先级高于/etc/resolv.conf)
  • /etc/resolv.conf 该文件填入的是互联网dns服务器的地址
[root@server1 ~]# cat /etc/resolv.conf 
# Generated by NetworkManager
nameserver 114.114.114.114  <--dns服务器地址(默认)
nameserver 223.5.5.5   <--阿里云dns域名服务器地址

查看域名-ip的解析关系

  • ping 可通过域名,查看对应的ip
  • nslookup
[root@server1 ~]# yum install -y bind-utils.x86_64 
[root@server1 ~]# nslookup www.baidu.com   <--非交互式
Server:		114.114.114.114
Address:	114.114.114.114#53

Non-authoritative answer:
www.baidu.com	canonical name = www.a.shifen.com.
Name:	www.a.shifen.com
Address: 36.152.44.96
Name:	www.a.shifen.com
Address: 36.152.44.95
[root@server1 ~]# nslookup   <--交互式
> www.baidui.com
Server:		114.114.114.114
Address:	114.114.114.114#53

Non-authoritative answer:
Name:	www.baidui.com
Address: 103.39.231.155

DNS劫持

客户端dns服务器地址被篡改,客户端通过域名访问网络,在dns服务器端有一个恶意的域名解析,这样就会给客户端返回一个错误的ip,造成客户端看到错误的网址内容。

DNS解析流程

    1. 浏览器缓存

    2. 系统缓存,查找hosts文件

    3. 路由器缓存!

    4. ISP DNS缓存

    5. 根域名服务器

    6. 顶级域名服务器

    7. 主机名服务器

    8. 保存结果至缓存

  • 当你在浏览器输入某个域名之后会发生什么?

    1. 浏览器发起域名解析,首先查询浏览器缓存,如果没有,就查询hosts文件,如果也没有就提出域名解析请求

    2. 客户机提出域名解析请求,并将该请求发送给本地的域名服务器。

    3. 当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。

    4. 如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域)的主域名服务器的地址。

    5. 本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。

    6. 重复第四步,直到找到正确的纪录。

    7. 本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机

域名解析记录

  • A:记录地址,返回的域名所指向IP地址

  • NS:域名服务器,返回保存下一级域名信息的服务器地址。该记录只能设置为域名,不能设置为IP地址

  • MX:邮箱记录,返回接收电子邮箱的服务器地址

  • CNAME:规范名称记录,返回另一个域名,即当前查询的域名是另一个域名的跳转

  • PTR:逆查域名,只用于IP地址查询域名

dig -x

dig [a ns mx ] 查询指定的记录类型

扩展:

  • TXT:用来做SPF(反垃圾邮箱)

  • AAAA:用来指定主机名(或域名)对应的IPv6记录。 SRV:记录哪台计算机提供哪个服务。格式:服务 名字、点、协议的类型。

  • 显性URL:从一个地址301重定向另一个地址的时候。 隐性URL:类似显性URL、区别在于隐形URL不会改变地址中的域名。

DNS服务器搭建

VMware上搭建

[root@server1 ~]# yum install -y dnsmasq

修改主配置文件
[root@server1 ~]# cat /etc/dnsmasq.conf |grep -Ev "^#|^$"

resolv-file=/etc/resolv.dnsmasq.conf <--指定上游dns服务器地址

address=/baidu.com/192.168.226.10 
address=/taobao.com/192.168.226.10 <--自定义域名解析到某个IP地址上

listen-address=192.168.226.10 <--指定dnsmasq的监听地址(可填127.0.0.1)

addn-hosts=/etc/dnsmasq.hosts <--指定本地域名配置文件(需要自定义域名激励)

log-queries <--指定dns查询的日志

conf-dir=/etc/dnsmasq.d
conf-dir=/etc/dnsmasq.d,.bak
conf-dir=/etc/dnsmasq.d/,*.conf <--包含目录的语法

conf-dir=/etc/dnsmasq.d,.rpmnew,.rpmsave,.rpmorig

添加相应的子配置文件
[root@server1 ~]# cat /etc/dnsmasq.hosts 
111.222.111.222 www.gxy.com
[root@server1 ~]# cat /etc/resolv.dnsmasq.conf 
nameserver 119.29.29.29 <--腾讯
nameserver 223.5.5.5    <--阿里

启动dnamasq服务
[root@server1 ~]# systemctl start dnsmasq.service 
[root@server1 ~]# systemctl status dnsmasq.service 

修改本地dns客户端配置文件,指定自定义的dnsmasq服务器地址
[root@server1 ~]# cat /etc/resolv.conf
#nameserver 114.114.114.114
nameserver 192.168.226.10 <--可填127.0.0.1

测试
[root@server1 ~]# nslookup
> www.pythonav.cn
Server:		192.168.226.10
Address:	192.168.226.10#53

Non-authoritative answer:
Name:	www.pythonav.cn
Address: 123.206.16.61

[root@server1 ~]# nslookup www.gxy.com 192.168.226.10
Server:		192.168.226.10
Address:	192.168.226.10#53

Name:	www.gxy.com
Address: 111.222.111.222
www.gxy.com	canonical name = HDRedirect-LB7-5a03e1c2772e1c9c.elb.us-east-1.amazonaws.com.

cicso上搭建

R1-R3初始化
no
enable
conf t
no cdp run
interface range e0/0 -3
duplex full
no ip do lo
line co 0
exec-t 0
logg sy
ho R

配置ip地址,给R1配置一个环回接口地址1.1.1.1,给R2配置默认路由R1,给R3配置静态路由(保证路由互通)
R1(config)#int e0/0
R1(config-if)#ip add 192.168.12.1 255.255.255.0
R1(config-if)#no sh
R1(config-if)#exit
R1(config)#int e0/1
R1(config-if)#ip add 192.168.13.1 255.255.255.0 
R1(config-if)#no sh
R1(config-if)#exit
R1(config)#int lo0                          
R1(config-if)#ip add 1.1.1.1 255.255.255.0


R2(config)#int e0/0
R2(config-if)#ip add 192.168.12.2 255.255.255.0
R2(config-if)#no sh
R2(config-if)#exit
R2(config)#ip route 0.0.0.0 0.0.0.0 192.168.12.1


R3(config)#int e0/0
R3(config-if)#ip add 192.168.13.3 255.255.255.0  
R3(config-if)#no sh
R3(config-if)#exit
R3(config)#ip route 192.168.12.0 255.255.255.0 192.168.13.1

在R1上配置dns
R1(config)#ip dns server
R1(config)#ip host www.r3.com 192.168.13.3
R1(config)#ip domain lookup

在R2上指定dns服务器地址为1.1.1.1
R2(config)#ip name-server 1.1.1.1            
R2(config)#ip domain looku

测试
R2(config)#do ping www.r3.com
Translating "www.r3.com"...domain server (1.1.1.1) [OK]
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.13.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-12 17:05:23  更:2021-08-12 17:06:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/20 10:45:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码