一、OSI七层模型

  1. 物理层:建立、维护、断开物理连接。

  2. 数据链路层:逻辑连接、寻找硬件地址——地址解析协议:ARP、PARP 反向地址转换协议

  3. 网络层:寻找逻辑地址,实现不同网络之间的路径选择——ICMP(互联网控制信息协议)、IGMP(组管理协议)、IP(IPV4IPV6)(互联网协议)、安全协议、路由协议(vrrp虚拟路由冗余)

  4. 传输层:定义传输数据的协议端口号——TCP UDP,数据包一旦离开网卡即进入网络传输层

  5. 会话层:管理、终止会话——SSL(安全套接字层协议)、TLS(安全传输层协议)

  6. 表示层:数据的表示、安全、压缩——JPEG、ASCI、EBCDIC

  7. 应用层:网络服务与最终用户的一个接口——HTTP(超文本传输协议)、HTTPS(超文本传输安全协议) 、FTP(文本传输协议)、TFTP(简单文件传输协议) 、SNMP(简单网络管理协议)、 DNS(域名系统)、 TELNET(远程终端协议)、SMTPQ(简单邮件传输协议)、POP3(邮局协议版本3)、DHCP(动态主机配置协议)

二、TCP/IP四层模型(传输控制协议 / 网际协议)

在多个不同网络间实现信息传输的协议簇。

TCPIP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇,只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议

TCP/IP协议在一定程度上参考了0SI的体系结构。

0SI模型共有七层,但是比较复杂,所以在TCP/IP协议中它们被简化为了四个层次。

只有四层体系结构的TCP/IP协议,与有七层体系结构的0SI相比要简单了不少,也正是这样,TCP/IP协议在实际的应用中效率更高,成本更低。协议标准是完全开放的,可以供用户免费使用独立于网络硬件系统,可以运行在广域网,更适合于互联网



四层和七层负载

TCP/IP四层(传输层):虚拟 IP + 端口接收请求,然后再分配到真实的服务器,本质是转发(没有四层是绝对不可能有七层的)

架构设计比较简单,无需解析具体的消息内容,在网络吞吐量及处理能力上会相对比较高

支持软件:lvs(重量级的四层负载软件)、haproxy(主要是七层)、nginx(主要是七层)

OSI七层(应用层):虚拟的 URL 或主机名接收请求,然后再分配到真实的服务器。本质是内容交换和代理

七层结构中的每一层使用下一层提供的服务,并且向其上层提供服务。相邻层之间通过接口(可以是逻辑接口)进行通信 

功能多,控制灵活强大。 支持软件:haproxy(天生负载均衡全面代理)、nginx、apache


三次握手:目的是为了确认双方的接收和发送能力是否正常。

首先客户端端发送连接请求报文syn,服务器端接受连接后回复ACK报文,并为这次连接分配资源。客户端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。

  • 第一次握手: 客户端向服务器端发送报文,证明客户端的发送能力正常
  • 第二次握手:服务器端接收到报文并向客户端发送报文,证明服务器端的接收能力、发送能力正常
  • 第三次握手:客户端向服务器发送报文,证明客户端的接收能力正常

四次断开:客户端与服务端交互四个包 :syn 新连接,ack 确认序号有效 fin 释放一个连接

  • 第一个包:客户端发给服务器,告诉服务器自己不再发数据,还能收
  • 第二个包:服务器收到后回第2个包告诉客户端收到了断开请求,之后服务器处理自己的数据
  • 第三个包:确认没有要发的数据后,服务器发第3个包告诉客户端自己不在发送数据。
  • 第四个包:客户端收到后回复服务端第4个包,告诉服务器收到断开请求并且断开连接。

网络变慢了。第一件事情就是,netstat -a | grep TIME_WAIT | wc -l 一下,哎呀妈呀,几千个TIME_WAIT。

如发现系统存在大量TIME_WAIT状态的连接,通过调整内核参数解决,

vim /etc/sysctl.conf

编辑文件,加入以下内容:

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_fin_timeout = 30

然后执行 /sbin/sysctl -p 让参数生效。

网络慢的原因:

(1)top找出pid,查看对应pid的服务

(2)iftop 查看哪些网络连接占用的带宽较多 (类似于top的实时流量监控工具)

(3)traceroute 可以查看路由节点状况与延时

(4)dig 域名 看下是否域名解析的问题

(5)查看是否存在大量的等待链接——/etc/sysctl.conf 优化内核服务数量

(6)查看日志是否存在攻击——如果有Doss攻击,则将攻击者的IP添加到防火墙的黑名单里

网络不通的原因:

(1)ping 域名—看连接性 (ping得通,说明路由工作正常,ping不通,traceroute可以查看从当前主机到目标主机的全部“跳” 的过程。查看路由节点状况与延时,traceroute和ping命令都是使用ICMP协议包。

(2) telent 端口—远程主机是否开放端口(telnet建立三次握手不发数据)、(netstat 在本地查看某个端口是否开放)

(3)dig 解析域名—看是否为DNS问题,

(4) ifconfig 检查网卡状态

(5) route -n 查看网关状态

(6) iptables -L 查看防火墙状态

(7) 抓包



VLAN(Virtual LAN(虚拟局域网))

划分局域网分为多个广播域,将广播信息分割在一个VLAN内,节省带宽增加安全性

创建vlan—打上数据帧—配置中继链路(可以承载多个vlan的数据)或链路聚合

路由(路由器依靠 路由表 转发数据)

不同vlan的数据无法互通,要想让数据传递更远,需要网络的功能。

网关是设备通往另外一个网络的途径,通常由路由器(具备路由功能的设备)承担。

分为直连、静态路由(下一跳)、动态路由(动态路由来宣告)

三层交换机(同时具备交换机与路由器功能的强大网络设备,本质上还是一个交换机,需要进入虚拟vlan 配置ip 地址)

acl 访问控制列表,可以对已经建立好的网络进行管控的工具

基本acl  列表号 2000~2999  根据数据源ip地址进行控制

高级acl  列表号 3000~3999  根据数据源ip、目标ip、协议端口进行控制

nat 网络地址转换,将内部网络的私网IP地址翻译成全球唯一的公网IP地址,使内部网络可以连接到互联网等外部网络上。

分为静态转换( 1私对1公  双向通信)、easy ip(多私对1公  单向通信)

广域网  外网;局域网  内网

私有ip地址分类

10.0.0.0~10.255.255.255

172.16.0.0~172.31.255.255

192.168.0.0~192.168.255.255

vrrp 冗余路由协议

能在不改变组网的情况下,将多台路由器虚拟成一个虚拟路由器,通过配置虚拟路由器的IP地址为默认网关,实现网关备份。组成员角色:

主(Master)路由器

备份(Backup)路由器

虚拟(Virtual)路由器

链路聚合:将多个网卡数据传输通道结合成一个通道,以更高带宽的传输链路出现,实现网卡的冗余性。一般用来连接多个带宽需求大的设备,例如服务器或服务器群。


1、vmvare 联外网,有 word 文档—nat 链接设置

2、 (1、删除) nmcli   connection   delete   ens33 #删旧命名

(2、添加) nmcli connection  add  type  ethernet      ifname eth0   con-name  eth0

解析: nmcli connection 添加   类型   以太网设备

网卡设备名为eth0    nmcli命令的命名为eth0

有时候 删除网卡 会未托管,或者开机的时候未托管 都有可能

网卡激活报错这个 Connection 'ens160' is │ │ not available on device ens160 because │ │ de       

nmcil n 查看托管状态 如果是disabled  ,那就 nmcli n on 打开就可以了

3、(1)修改网卡命令规则 (2)删除旧的网卡命名及有线连接 (3)添加新网卡 (4)设置IP并激活


Firewalld

系统服务:firewalld----》iptables(底层防火墙)

管理工具:firewall-cmd、firewall-config

public:仅允许访问本机的ssh、dhcp、ping服务(默认情况下为public)

trusted:允许任何访问

block: 拒绝任何来访请求,明确拒绝客户端

drop: 丢弃任何来访的数据包,不承认也不否认

firewall-cmd  --get-default-zone    #查看默认区域

 firewall-cmd  --set-default-zone=trusted #修改默认区域

先设置区域,再设置协议

 firewall-cmd   --zone=public    --add-service=http   #临时添加协议

firewall-cmd --zone=block     --add-source=192.168.4.207 #单独拒绝PC207所有的访问

 firewall-cmd   --permanent     --zone=public --add-service=http      #永久添加协议,也可以删除

firewall-cmd  --zone=public    --list-all #查看默认所有协议

firewall-cmd   --reload   #加载查看防火墙永久策略, 并且会清除临时协议

systemctl status firewalld #查看防火墙状态

service firewalld stop #关闭防火墙

拒绝连接:程序没启动

没有连接到路由:防火墙拒绝


IPtables

规则(rules)其实就是网络管理员预定义的条件,规则一般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”。

规则存储在内核空间的信息 包过滤表中,这些规则分别指定了源地址、目的地址、传输协议(如TCP、UDP、ICMP)和服务类型(如HTTP、FTP和SMTP)等。当数据包与规 则匹配时,iptables就根据规则所定义的方法来处理这些数据包,如放行(accept)、拒绝(reject)和丢弃(drop)等。配置防火墙的 主要工作就是添加、修改和删除这些规则。

传输数据包的过程

① 当一个数据包进入网卡时,它首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转送出去。 

② 如果数据包就是进入本机的,它就会沿着图向下移动,到达INPUT链。数据包到了INPUT链后,任何进程都会收到它。

本机上运行的程序可以发送数据包,这些数据包会经过OUTPUT链,然后到达POSTROUTING链输出。 

③ 如果数据包是要转发出去的,且内核允许转发,数据包就会如图所示向右移动,经过FORWARD链,然后到达POSTROUTING链输出。

规则表和链:

      表(tables)提供特定的功能,内置4个表,即filter表、nat表、mangle表和raw表,分别用于包过滤,网络地址转换、包修改和数据跟踪处理。

     链(chains)是数据包传播的路径,每一条链其实就是众多规则中的一个检查清单,一条链中可以有一条或数条规则。当数据包到达一个链时,

iptables就会从链中第一条规则开始检查,看该数据包是否满足规则所定义的条件。如果满足,系统就会根据 该条规则所定义的方法处理该数据包;

否则iptables将继续检查下一条规则,如果该数据包不符合链中任一条规则,iptables就会根据该链预先定义的默认策略来处理数据包。

规则表:

1.filter表——三个链:INPUT、FORWARD、OUTPUT 作用:过滤数据包  内核模块:iptables_filter.

2.Nat表——三个链:PREROUTING、POSTROUTING、OUTPUT 作用:用于网络地址转换(IP、端口) 内核模块:iptable_nat

3.Mangle表——五个链:PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD 作用:修改数据包的服务类型、TTL、

4.Raw表——两个链:OUTPUT、PREROUTING 作用:决定数据包是否被状态跟踪机制处理 

规则链:

1.INPUT——进来的数据包应用此规则链中的策略

2.OUTPUT——外出的数据包应用此规则链中的策略

3.FORWARD——转发数据包时应用此规则链中的策略

4.PREROUTING——对数据包作路由选择前应用此链中的规则 (记住!所有的数据包进来的时侯都先由这个链处理)

5.POSTROUTING——对数据包作路由选择后应用此链中的规则 (所有的数据包出来的时侯都先由这个链处理)

第一种情况:入站数据流向

       从外界到达防火墙的数据包,先被PREROUTING规则链处理(是否修改数据包地址等),之后会进行路由选择(判断该数据包应该发往何处),如

果数据包 的目标主机是防火墙本机(比如说Internet用户访问防火墙主机中的web服务器的数据包),那么内核将其传给INPUT链进行处理(决定是否允

许通 过等),通过以后再交给系统上层的应用程序(比如Apache服务器)进行响应。

第二冲情况:转发数据流向

       来自外界的数据包到达防火墙后,首先被PREROUTING规则链处理,之后会进行路由选择,如果数据包的目标地址是其它外部地址(比如局域网用

户通过网 关访问QQ站点的数据包),则内核将其传递给FORWARD链进行处理(是否转发或拦截),然后再交给POSTROUTING规则链(是否修改数

据包的地 址等)进行处理。

第三种情况:出站数据流向

       防火墙本机向外部地址发送的数据包(比如在防火墙主机中测试公网DNS服务器时),首先被OUTPUT规则链处理,之后进行路由选择,然后传递

给POSTROUTING规则链(是否修改数据包的地址等)进行处理。

基本语法格式

iptables [-t 表名] 命令选项 [链名] [条件匹配] [-j 目标动作或跳转]

-A是末尾追加 -I 首行插入规则 -s是匹配源地址 -p 协议 - dport 目标端口 -i 入口网卡 -o 出口网卡

iptables -D INPUT 4 删除input链的第四条规则

允许防火墙转发除ICMP协议以外的所有数据包

iptables -A FORWARD -p ! icmp -j ACCEPT(说明:使用“!”可以将条件取反)

使用 iptables 将端口80的访问权限仅限于来自localhost的连接

iptables -I INPUT -p tcp --dport 80 -i lo -j ACCEPT (插入指定位置,默认在首行)

iptables -A INPUT -p tcp --dport 80 -i eth0 -j DROP (添加到末尾)

service iptables status   查看服务状态

service iptables save 不保存规则,重启iptables服务,自定义规则将消失

iptables -nL 查看

iptables -F 清空

- 配置iptables时,不指定表,就是使用filter表

- 配置时不指定规则链,则配置所有链




虚拟Web主机 ——由同一台服务器提供多个不同的Web站点——基于域名、端口、IP       

/etc/httpd/conf/httpd.conf   #主配置文件 ,     主配置文件中会进行加载调用的配置文件。

/etc/httpd/conf.d/*.conf   #调用的配置文件 , 主配置文件改错一行就读不起了,一般在调用的配置文件里面进行新建修改。

        ServerName       域名

         DocumentRoot   此站点的网页根目录

vim /etc/hosts 配合本机解析

举例:[root@svr7 ~]# vim /etc/httpd/conf.d/haha.conf

#在所有IP地址监听80

ServerName www.qq.com #网站的域名

DocumentRoot /var/www/qq #网页文件路径

ServerName www.lol.com

DocumentRoot /var/www/lol

mkdir /var/www/qq /var/www/lol

echo wo shi QQ > /var/www/qq/index.html

echo wo shi lol > /var/www/lol/index.html

systemctl restart httpd

采用/etc/hosts文件直接解析域名,只为本机解析

vim /etc/hosts

…….此处省略一万字

192.168.4.7 www.qq.com www.lol.com

curl http://www.lol.com:8080

http 和nginx 的区别

nginx:C 进行编写,采用轻量级, 会占用更少的内存及资源,适合处理静态文件和反向代理服务器,编写模块相对简单

apache:发展更成熟,模块更多,bug少且稳定,适合处理动态请求,仍然是目前的主流。


二、Nginx

nginx—80端口

conf 存放配置文件  

sbin  存放主程序      

logs 存放日志

html 存放网站页面(下面可以放多个网页)

html默认页为 index.html,修改默认页内容可展示。

nginx去掉版本号显示

vim conf/nginx.conf (第https 模块里面添加,默认是展示版本号的(在nginx目录里面,相对路径操作)

server_tokens off;

sbin/nginx -s reload   //修改配置后,需要重加载配置

nginx不支持中文:

vim conf/nginx.conf    //修改配置文件

charset utf-8;          //第39行,添加utf-8支持中文

sbin/nginx -s reload   //修改配置后,需要重加载配置

nginx 网站加密认证功能:

vim conf/nginx.conf    //修改配置文件

auth_basic  "password"; //第40行,添加

auth_basic_user_file  "/usr/local/nginx/pass //第41行,添加

重启,装httpd-tools包,创建加密文件 htpasswd -c  pass  tom (-c选项是创建,初次使用,后续追加用户不写,追加用户再测试时,记得清空浏览器历史缓存记录)

nginx恢复到默认状态:\cp conf/nginx.conf.default   conf/nginx.conf

功能:网站服务、反向代理、四层代理


在nginx.conf 中,出现一个server{} 区域配置,就表示一个网站

nginx配置虚拟主机

http {                 //nginx网站配置都要在http这个大框架里面 34-39行

server {               //第1个虚拟主机 主配置文件

listen 80; //监听端口

server_name www.a.com; //域名

location

root html_b; //网页目录

index  index.html; //默认页

}

server {               //第2个虚拟主机

。。。。

}

}

括号成对出现,sbin/nginx  -s  reload   //之后重新加载配置文件,修改dns解析

server里面可以有多个location匹配不同的需求,默认location匹配静态html结尾网页,.php结尾的是动态页面


修改nginx配置文件实现集群功能、代理功能

vim conf/nginx.conf   (创建在默认的server外面)

upstream web {        #首先是34~37行,创建集群,集群名称叫web

server  192.168.2.100:80;   #第一台集群主机的服务器ip与端口

server  192.168.2.200:80;   #第二台集群主机的服务器ip与端口

}

server {

        listen       80;

        。。。。

        location / {

proxy_pass  http://web;  #在第47行,调用集群(也就是代理),集群名和创建的集群一致,调用在默认的server里

            root   html;                 

            index  index.html index.htm;

        }

之后开启nginx或者重加载nginx配置,用curl 192.168.2.5可以看到 web1 或web2页面轮询出现

(proxy_pass意思是代理转发,用来实现反向代理)


集群优化(34-37行配置优化)

(1)权重:server 192.168.2.200:80 weight=2;    #为性能较强的集群主机配置权重,权重越大,任务越多。

(2)健康检查:server 192.168.2.200:80 max_fails=2 fail_timeout=30; #检测两次如果失败,则认为集群中的主机故障,之后等待30秒再次测试

(3)相同客户机访问相同服务器,锁定一个后台服务器:

upstream web {

ip_hash;    #相同客户机访问相同服务器,让一个客户机访问集群时锁定一个后台服务器,避免重复登陆的问题。

(4)集群不参加主机活动:

upstream web {

server 192.168.2.100:80;

server 192.168.2.200:80 down;  #down标记可以让集群主机暂时不参与集群活动

1、nginx中地址重写(rewrite  匹配路径   实际看到的页面    选项,配置文件第38行)

last    不再读其他rewrite

break   不再读其他语句

redirect   临时重定向  

permanent  永久重定向  

访问 nginx 日志 ip 统计: awk { print $1 } /var/log/nginx/access.log | sort (排序) | uniq -c (去重计数)| sort -n(数字排序)


四层代理——编译添加代理模块(四层负载均衡)

nginx 主配置文件,在16行左右 ( 在http上面,不玩网站了 )

stream {

upstream backend {     # 创建集群

server 192.168.2.100:22;     #集群中的主机使用22远程连接端口对外提供服务

server 192.168.2.200:22;         端口不同,提供服务不同,不在是网站服务

}

server {                  //在网站里代表虚拟主机,这里也可以理解为虚拟主机,只不过不再玩网站了,且是在http上书写的

listen 12345;             # 集群的监听端口号(使用22,那就是连的代理集群)

proxy_pass backend;      #调用集群

ssh  192.168.2.5 -p 12345

1xx:临时响应

2xx:成功响应

3xx:重定向

301:网页被永久移动到新位置,跳转到新位置

302:网页被临时移动到新位置,继续从当前位置访问

4xx:客户端出错,

403:没有权限,拒绝请求

404:没有内容,找不到网页

408:请求超时

414:超长地址栏,无法处理

5xx:服务器错误

500:服务器内部错误

501:服务器不具备完成请求的功能

502:网关错误

503:服务不可用(超载或停机维护)

504:网关超时

505:http协议版本不支持


三、Tomcat

tomcat : 8080端口_网站都可以修改默认的页面。在访问的时候加上页面的位置和8080端口,默认是80端口

bin  存放主程序 ( bin/startup.sh开启服务 ;bin/shutdown.sh关闭服务)重启tomcat服务就是先关后开

logs  存放日志

conf  配置文件(conf/server.xml)

webapps  存放网站页面(webapps/ROOT默认网站页面)——默认目录可以修改

配置虚拟主机:修改配置文件 /usr/local/tomcat/conf/server.xml

 //默认读取旗下ROOT文件

Context   path  匹配用户访问路径  

   docBase 定义页面位置

docBase中不写的话为空,空替换原先的root,直接在目录下访问

  path="/test"  docBase="/abc"  />    //当path有添加路径内容时,docBase为其绝对匹配服务,当用户访问www.b.com:8080/test/时,看到的是/abc的内容,如果访问其他的www.b.com:8080就看到web_b/ROOT的内容。


LVS基于操作系统的负载实现,四层ip负载,负载能力高,抗高并发,几乎支持所有服务的负载,状态检测功能单一

集群:负载均衡、高可用、高性能集群

Linux虚拟服务器(Linux virtual service)

工作模式:NAT(网络地址转换)、DR(路由模式)、TUN(隧道)

调度算法:10种。常见轮询rr、加权轮询wrr、最少连接lc、加权最少连接wlc

LVS-DR : 用户访问调度器,调度器转发,相应服务器直接回应用户,不再经过调度器

               当用户访问调度器的地址4.15时,由服务器回应回的网址也必是4.15,服务器本身也有ip,所以需要配置虚拟ip。

LVS规则: ipvsadm 选项(-A:添加虚拟服务器(虚拟IP)、-t|u:tcp或udp协议、-s:指定调度算法,如rr/wrr/lc/wlc)

(-a: 创建虚拟服务器后,向虚拟服务器中加入真实服务器、-r:真实服务器地址、-w: 设置权重,默认是1、m、g工作模式)


Haproxy基于第三方应用的负载实现,四层与七层tcp和http综合负载,有一些协议不支持SMTP,状态检测功能丰富

实现负载均衡集群的另一种方式;不要求使用vip。但是现有环境中web的vip也没有影响。

proxy通过反向代理方式实现 WEB均衡负载,当其代理的后端服务器出现故障, HAProxy会自动将该服务器摘除,故障恢复后再自动将该服务器加入


Keepalived基于第三方应用软件实现,服务器状态监控,加入vrrp功能的防止单点故障的集群,提供VIP。

配置文件:/etc/keepalived/keepalived.conf(调整主机名、主备服务器、优先级、vip地址)即可

服务名:keepalived.service      日志:/var/log/messages

采用浮动vip技术(用户访问的是虚拟VIP),通过心跳及健康检查,避免宕机,及时切换服务器


网站:由DNS解析域名+Web网站页面

DNS服务器:域名解析系统,提供域名解析的机器。

dig www.baidu.com #域名查询工具,官方DNS服务器上查询的权威解答

DNS分离解析:针对同一个域名,为不同的客户机提供不同的解析结果

域名解析:能够将域名解析为IP地址 www.baidu.com--------》DNS服务器-------》 IP地址 --------》 百度服务器

/etc/hosts 文件直接解析域名,只为本机解析DNS服务器的功能

/etc/resolv.conf : 最终有效配置文件,搭建Web服务器时,Web服务会读取 /etc/resolv.conf 文件内容,进行寻找 DNS 服务器

分类:根域名服务器、一级、二级、三级DNS服务器 

域名系统: 所有的域名都必须要以点作为结尾,会自动补全。

构建DNS两文件缺一不可

主配置文件:/etc/named.conf    #设置 地址库文件路径 和 负责解析的域名  ( 以 // 开头的为注释 )

options {

        directory     "/var/named";     # 定义地址库文件存放路径

};

zone "tedu.cn"  IN {            #定义负责的解析tedu.cn域名

        type master;                #主DNS服务器

        file  "tedu.cn.zone";    #地址库文件名称,这是相对路径

};

named-checkconf    /etc/named.conf #检测地址库文件是否正确

地址库文件:/var/named/          #完全合格的域名与IP地址         对应关系

cp -p /var/named/named.loaclhost /var/named/tedu.cn.zone //拷贝模板,自己写一个 /var/named/tedu.cn.zone 也可以

tedu.cn.       NS       svr7               #声明DNS服务器为svr7

svr7               A        192.168.4.7   #svr7解析结果为192.168.4.7

www              A        1.1.1.1

ftp                  A         2.2.2.2

systemctl reatart named

nslookup www.tedu.cn

BIND—伯克利 Internet 域名服务    

执行程序:/usr/sbin/named, yum  -y  install   bind    bind-chroot

系统服务:named

协议端口:53      

解析记录的类型:    

      NS : DNS服务器声明记录

      A  :正向解析记录

      CNAME:解析记录的别名            

解析过程:客户机访问—域名解析发给本地的域名服务器—查询自己的缓存—请求发给根域名服务器,根域名给一个主域名解析地址—本地服务器访问,接受请求的服务器查询,没有的话返回相关下级地址,直到找到正确的地址—本地服务器保存找到的成果并返回给客户机。

正向解析:将主机名解析为IP地址,主要应用在用户访问网站的时候。

反向解析:将IP地址解析为主机名,主要应用在邮件服务器进行邮件域检测        

递归查询:被询问的服务器不知道被查询 IP 地址,向其他域名服务器发出请求替主机继续查询,带回解析结果。

迭代查询: 收到服务器发出的迭代查询请求时,要么给出IP 地址,要么告诉服务器应该找哪个服务器进行查询,然后让服务器进行后续的查询。

 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐