DNS解析
dns就是域名系统的简称,作用就是ip地址之间的映射关系
在互联网中,ip地址是通信的唯一标识,逻辑地址
访问网站,域名,ip地址不好记,域名朗朗上口,好记
域名解析的目的就是为了实现访问域名就等于ip地址
在访问域名的时候,通过dns解析,把域名映射的ip地址解析出来,访问的还是域名映射的ip地址
类似于导航,输入域名之后,就可以定位出他的ip地址
以www.baidu.com为例,访问百度就是计算机向dns服务器(三大运营商)发起查询请求,dns就会搜索自己的数据库,包含域名和ip的映射关系,然后把ip地址的结果返还给计算,计算机访问的还是域名对应的ip地址
域名地址的文件
/etc/resolv.conf
vim /etc/resolv.conf 增加网卡信息立刻生效,但是重启消失
主机和ip地址映射的文件
/etc/hosts 域名和ip地址的映射,主机名和ip映射,也是不需要重启,立刻生效
vim /etc/hosts
192.168.233.10 test1 ip在前 主机
nslookup 域名/ip地址 域名解析(对应的ip地址)
nslookup www.baidu.com 根据域名解析出ip地址就是正向解析
根据ip地址解析出域名就是反向解析
域名体系结构
www.baidu.com.cn. 从右往左看
.根域,根域名dns服务器,专门负责解析根域
全世界13个根域,10个在美国,1个在英国,1个在瑞典
ipv4地址根服务器,国内有2个镜像服务器
ipv6,国内有1主3从,美国1主2从
cn. 一级域,一般国家或者地区的名称 例如 jp. uk. hk. us.
com. 二级域,组织名称(com是商业组织,edu是教育机构,org是非盈利组织,net是运营商,gov是政府机构)
baidu. 三级域(子域),传统意义上的域名,要花钱买
www. 主机名,就是一台具体的计算机
dns解析使用的协议端口
tcp协议53端口和udp协议的53端口
tcp用于连接dns服务器
udp用于域名解析dns
dns域名的长度限制,每一级的域名长度限制是63个字符,域名的总长度不能超过253个字符
dns域名解析的过程?
用户向www.lzl.com发起域名解析
1.查询本机的缓存目录vim /etc/hosts(访问速度最快的)
如果没有
2.查询dns服务器(三大运营商)
如果也没有…
3.根域服务器查询 .查询(根域此时已经知道结果,但是不会直接告诉你,他会要求你去一级域)
4.顶级域(一级域)cn.(顶级域知道结果,但是不会告诉你,要求你去二级域)
5.二级域com.cn. 找到网站对应的ip地址
返回过程
反馈给dns运营商,给hosts记录,如果没有hosts,就直接给用户
从根域到一级域到二级域的过程叫迭代
结果返回给用户的过程叫递归
dns解析优先级
hosts本地文件的优先级是最高的但只对当前主机有效,如果做了映射,访问速度会更快
dns服务器(运营商)第二个
如何实现域名解析
仅限于内网,局域网内部的域名解析
bind用来做局域网内部的域名解析
内网的dns不需要注册
1.正向解析
test1 192.168.118.51
test2 192.168.118.52
test1
yum -y install bind #安装bind
systemctl stop firewalld #关闭防火墙
setenforce 0 #关闭安全机制
vim /etc/resolv.conf #dns解析器
nameserver 192.168.118.51
:wq
vim /etc/named.conf #bind的主配置文件option{listten-on port 53{192.168.118.51; } #53端口对外提供解析服务的ip地址allow-query {any; } #谁能访问解析服务器,any所有
};
:wq
vim /etc/named.rfc1912.zones #区域配置文件zone "xy102.com" IN { #正向解析域名type master #类型为主区域file "xy102.com.zone" #区域数据的文件名allow-update{ none; } #区域动态更新的权限,none为禁止动态更新
};
:wq
cd /var/named/ #进入bind的存储DNS的目录
cp -a named.localhost xy102.com.zone #将原区域数据文件named.localhost保留所有权限复制到当前目录下并且改名为xy102.com.zone
vim xy102.com.zone #配置区域数据文件,解析地址
$TTL 1D #Internet协议
@ IN SOA xy102.com. admin.xy102.com. (#解析类型 #三级域. #admin三级域.
#第一个@当前dns的区域名0 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimumNS xy102.com. #三级域. NS是域名A 192.168.118.51 #本机ip,A是ipv4IN MX 10 mail.xy102.com. #MX是邮件,邮件地址,mail.三级域.
www IN A 192.168.118.100 #www.xy102.com对映ip地址
mail IN A 192.168.118.110 #mail.xy102.com对映的ip地址
:wq
systemctl restart namednslookup www.xy102.comnslookup mail.xy102.com
2.反向解析
vim /etc/named.rfc1912.zones #区域配置文件zone "118.168.192.in-addr.arpa" IN { #反向解析域名,方向填入解析网段type master; #主类型区域file "xy102.com.zone.local";#区域数据文件名(自定义)allow-update { none; }; #禁止动态更新
};
:wq
cp -p xy102.com.zone xy102.com.local #同目录备份这个区域数据文件,并且改名.local
vim xy102.com.zone.local #配置区域数据文件$TTL 1D
@ IN SOA xy102.com. admin.xy102.com. (0 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimumNS xy102.com. #作用域,NS是域名A 192.168.118.51 #本机ip100 IN PTR www.xy102.com. #ip地址对应的域名,PTR反向指针,100解析目标网段的主机位110 IN PTR mail.xy102.com. #ip地址对应的域名,PTR反向指针,110解析目标网段的主机位
3.主从服务器解析
test1
systemctl stop firewalld
setenforce 0
vim /etc/resolv.confnameserver 192.168.118.51nameserver 192.168.118.52:wq
vim /etc/named.rfc1912.zoneszone "xy102.com" IN {type master;file "xy102.com.zone";allow-transfer { 192.168.118.52; };
};
zone "118.168.192.in-addr.arpa" IN {type master;file "xy102.com.zone.local";allow-transfer { 192.168.118.52; };
};
:wq
systemctl restart named
test2
systemctl stop firewalld 关闭防火墙
setenforce 0 关闭安全机制
yum -y install bind
vim /etc/resolv.confnameserver 192.168.118.51nameserver 192.168.118.52nameserver 218.2.135.1nameserver 112.4.0.55:wq
vim /etc/named.confoptions {listen-on port 53 { 192.168.118.52; };#其他无关代码allow-query { any; };#其他无关代码}
:wq
vim /etc/named.rfc1912.zoneszone "xy102.com" IN {type slave;file "slaves/xy102.com.zone";masters { 192.168.118.51; };
};zone "118.168.192.in-addr.arpa" IN {type slave;file "slaves/xy102.com.zone.local";masters { 192.168.118.51; };
};
:wq
systemctl restart named
nslookup 192.168.118.100
nslookup 192.168.118.110
nslookup www.xy102.com
nslookup mail.xy102.com
bond网卡:
两张网卡,用一个ip地址,相当于做网卡的高可用和负载均衡
linux网卡的绑定模式:
mode=0 负载均衡方式load-balancing
mode=1 冗余,只有主工作,从不工作,主挂了从才工作
mode=2 平衡策略,既能提供负载均衡和容错能力
mode=3 广播策略(没人用)
mode=4 动态链聚合(连接交换机)
mode=5 负载均衡.但是需要额外插件,ethtool支持每个slave的速率.(定制模式,很少)
mode=6 适配器的负载均衡(没人用)
具体实现
虚拟机设备添加网卡
ifconfig #ifconfig查看一下,大概是ens36
cd /etc/sysconfig/network-scripts/ && ls
cp ifcfg-ens33 ifcfg-ens36 && ls
vim ifcfg-ens33TYPE=EthernetDEVICE=ens33ONBOOT=yesBOOTPROTO=noneMASTER=bond0SLAVE=yesUSERCTL=no
:wq
vim ifcfg-ens36TYPE=EthernetDEVICE=ens36ONBOOT=yesBOOTPROTO=noneMASTER=bond0SLAVE=yesUSERCTL=no
:wq
vim ifcfg-bond0TYPE=EthernetDEVICE=bond0ONBOOT=yesBOOTPROTO=staticIPADDR=192.168.118.51NETMASK=255.255.255.0GATEWAY=192.168.118.2BONDING_OPTS="miimon=100 mode=0 fail_over_mac=1"DNS1=218.2.135.1DNS2=112.4.0.55
:wq
解释:
BONDING_OPTS=“miimon=100 mode=0 fail_over_mac=1”
绑定的模式和选项
miimon=100 检查所有从设备的连接状态 100毫秒
每个100毫秒检查从设备网卡的连接状态
fail_over_mac=1 表示在故障切换时,备用接口会获取主接口的mac地址,减少切换过程中可能出现的故障
如果计算机连接交换机,交换机不需要重新学习mac地址,ens33 ens36都知道对方的mac地址
tcpdump linux linux自己的网络抓包工具
-i 设备
tcpdump -i ens36