网络四层、七层协议、网站
网络服务与最终用户的一个接口——HTTP(超文本传输协议)、HTTPS(超文本传输安全协议) 、FTP(文本传输协议)、TFTP(简单文件传输协议) 、SNMP(简单网络管理协议)、 DNS(域名系统)、 TELNET(远程终端协议)、SMTPQ(简单邮件传输协议)、POP3(邮局协议版本3)、DHCP(动态主机配置协议):寻找逻辑地址,实现不同网络之间的路径选择——ICMP(互联网控制信息协议)
一、OSI七层模型
-
物理层:建立、维护、断开物理连接。
-
数据链路层:逻辑连接、寻找硬件地址——地址解析协议:ARP、PARP 反向地址转换协议
-
网络层:寻找逻辑地址,实现不同网络之间的路径选择——ICMP(互联网控制信息协议)、IGMP(组管理协议)、IP(IPV4IPV6)(互联网协议)、安全协议、路由协议(vrrp虚拟路由冗余)
-
传输层:定义传输数据的协议端口号——TCP UDP,数据包一旦离开网卡即进入网络传输层
-
会话层:管理、终止会话——SSL(安全套接字层协议)、TLS(安全传输层协议)
-
表示层:数据的表示、安全、压缩——JPEG、ASCI、EBCDIC
-
应用层:网络服务与最终用户的一个接口——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 地址,要么告诉服务器应该找哪个服务器进行查询,然后让服务器进行后续的查询。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)