DSN域名解析服务器
功能:
将域名解析成IP地址(正向解析)
将IP地址解析成域名(反向解析)
控制互联网上电子邮件的转发
(1)A记录 www.baidu.com ==> 61.135.169.125
(2)CNAME,ip别名,用的最广的就是常备CDN应用商应用解析CNAME
(3)MX解析记录 23444444@qq.com, @qq.com就是MX记录
反向解析,用的最多的还是邮件服务
A记录解析过程:
DNS A记录
浏览器==》www.baidu.com===>网站服务器的IP地址===》IP地址对应的网站服务器
DNS本身也是一个树状结构,互联网上的其他DNS服务器由“根DNS服务器”、“顶级域DNS服务器(例如:com、edu等)”、“二级域DNS服务器”组成,“.”根服务器,全球有13台。顶级域(com 、org 、net),二级域 比如jingdong.com
DNS数据结构图如下图所示:
DNS解析流程原理图如下图所示:
流程图说明:
比如说客户端想要访问www.baidu.com,客户端发送请求访问www.baidu.com,先查询客户端的DNS缓存(由本机的host文件和上次的解析结果缓存组成),找到结果,返回查询结果,反之进行下一步查询;没有结果查询本地DNS服务器,按照客户端的设置找到首选DNS服务器,客户端要查询的域名是否在本机上,如果在返回资源记录,不在进行下一步;还没有的话按照本地DNS服务器上的named.ca文件,定位根服务器,查询根服务器的DNS缓存,如果有就返回结果,如果没有这时根服务器就会说我没有,但是我知道顶级域的你去找顶级域吧;这时就会查询根服务器的列表给本地DNS服务器返回一个顶级域的DNS服务器地址;接下来查找顶级域的DNS服务器(com服务器),本地DNS服务器问顶级域服务器知道不知道www.baidu.com的地址啊,顶级域服务器说我知道我有,这时就会返回www.baidu.com的域名解析地址,本地DNS服务器记录缓存并发给客户端,客户端接收并缓存baidu的域名地址,访问对应资源,整个DNS解析结束。
(1)dig命令
查看一下baidu.com的解析过程,可以更加理解DNS解析原理
dig命令的一个典型用法为:
dig @server(8.8.8.8) name type(A,MX,NS)
dig命令也可以直接接域名
(2)nslookup命令
解析域名对应的地址
(3)也可以用host查看解析
(4)也可以用ping查看解析
(1)用hostname进行修改
hostname linzhongniao
退出登录再进来就修改了,但是重启系统就失效了
(2)修改/etc/sysconfig/network的配置文件永久生效
(3)修改/etc/hosts配置文件
修改完/etc/sysconfig/network还得修改/etc/hosts文件,因为只修改/etc/sysconfig/network里的主机名还是不行的,/etc/hosts里面127.0.0.1主机对应的本地回环记录也要修改
第一生效文件,网卡配置文件优先
第二生效文件
第三可以在命令行配置,临时生效添加默认网关
删除默认网关:
删除默认网关是上不了网的
再把默认网关添加回来,就可以连网了
(1)在etho网卡上再绑定一个IP地址,设置IP别名,配置的ip别名网卡是可以用的,网卡重启会失效
修改ip用
Centos7,配置ip别名(辅助ip)用ip命令,可以man一下
(2)永久生效
将ip别名写成网卡的配置文件
企业面试题:已知一个端口,查看端口对应的服务名
(1)方法一:lsof
(2)方法二:netstat –lntup
-l 是列表
-n 不列出进程的服务名称,以端口号显示
-t tcp协议
-u udp协议
-p 显示端口对应的pid
例如:baidu的网站有问题
3.6.1 ping www.baidu.com icmp协议基础
ping -c3 -i2 -s512 www.baidu.com
3.6.2 traceroute www.baidu.com 基础检查路由跟踪
各个高速节点有没有修通traceroute,windows用tracert -d
参数:-n Do not try to map IP addresses to host names when displaying them
不解析ip地址和主机名
查询出来的ip可能就是每一个省的地址,浏览器输入ip138.com可以查询ip是哪的,例如查询61.49.168.90
3.6.3 telnet,nmap检查服务的端口开没开
例如检查baidu的服务器的服务开没开,如果这个地方没通用ping和telnet是通的就说明,你自己的这个端口对应的服务没开或防火墙挡住了。
也可以用nmap 检查端口开没开,nmap 接ip也可以接域名,看到open就说明http服务是开启的
不通:
1、80服务没开或端口不存在。
2、防火墙阻挡了。
3、服务监听的端口不在连接的IP上。
4、运营商默认不开端口,申请开端口。
3.6.4 抓包工具tcpdump
tcpdump文件接口数据包捕获器
所捕获的数据包的数据格式:我们可以专门针对默认协议或者IP来源进行数据包捕获。就可以就简化输出结果得到想要的信息,常见的表示方法有:
演示:使用tcpdump监听来自eth0网卡且通信协议为icmp的数据包的来源
这时候会不继续显示内容,因为没有ping etho网卡,下面我们用电脑ping eth0网卡对应的ip地址。
如果ping不通就又问题了,那么网络经过的每一个点,每一个路由都要监听
例题:如何使用tcpdump①监听来自eth0网卡且②通信协议为port 22,③目标数据包来源为192.168.1.108的数据包?
临时方法:
hostname linzhongniao
退出当前shell重新登录失效,只能临时修改文件名,重启系统后失效
永久方法:
方法以:
修改/etc/sysconfig/network配置文件。将HOSTNAME的值改成linzhongniao
修改/etc/hosts文件,将127.0.0.1对应的主机名也修改为linzhongniao
修改完这里还需要把/etc/hosts里面的127.0.0.1对应的主机名修改成linzhongniao。不用重启服务器的方法是临时方法和永久方法都要设置,这样不重启服务器主机名也是生效的。
提示:如果/etc/hosts不改,以后会遇到一些问题,如sendmail启动缓慢,ldap服务解析慢,sudo切换用户缓慢等等都是主机名和/etc/hosts中的解析不对应导致的。
提示:第一块网卡为ifcfg-eth0,第二块为ifcfg-eth1...
配置服务器以及DNS等网路配置的方法
setup-网络配置,然后修改
直接编写网卡的配置文件/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/resolv.conf==》dns的配置文件,网卡配置文件和setup设置的dns优先于dns配置文件配置的dns
提示:以上两种方法一般需要重新加载网卡生效。
方法一:修改/etc/sysconfig/network
方法二:修改网卡配置文件
特别注意:
/etc/sysconfig/network-scripts/ifcfg-bond0中配置的网关优先于/etc/sysconfig/network配置的网关,GATEWAY要大写。
方法三:通过命令行修改网关
添加默认网关:route add default gw 192.168.1.1
删除默认网关:route del default gw 192.168.1.1
注意:这种方法只是临时修改了网关重新加载或者启动网卡就会失效,解决办法就是将route add default gw 192.168.1.1添加到/etc/rc.local中或者/etc/init.d/network中让系统自动加载或者重启网卡也生效。
方法一:setup图形操作
方法二:修改/etc/resolv.conf 《==修改系统的dns配置文件
方法三:也可以修改网卡配置文件
提示:网卡配置文件里面修改的dns优先于dns配置文件配置的dns
用ifconfig,ifconfig eth0(指定网卡)或者ip addr
方法四:
方法五:
临时生效:
设置ip别名的作用
(1)测试用
测试www接口的浏览,建立一个虚拟的网络接口。可以立刻连接上ip路由器,也不会影响原来的网络参数配置
(2)有设备无法提供更多实体网卡时
如果某台机器需要连接多个网络,但该设备确无法提供安装更多网卡,可以设置ip别名提供服务。
永久生效:
添加虚拟设备的配置文件ifcfg-eth0:1
解答:缺省网关路由
默认网关就是数据包不匹配任何设定的路由规则,最后都流经的地址关口。网关按字面意思就是网络的关口,就相当于我们家里房子的门一样,如果外出都要经过房门,数据包也是一样的都要经过网关。
特别强调:实际上route add default gw 192.168.1.1就相当于route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.1.1
网络路由:即去往某一网络或网段的路由
解答实践:192.168.1.0网段的机器想通过192.168.1.1网关出去与172.16.1.0网段的机器互通。
方法二:想访问172.16.1.0网段从eth0网卡出去
总结:
特别强调:以上方法重启服务都会失效。怎么能够不失效呢?
方法一:
编辑默认不存在此文件需要创建。推荐生产环境使用
添加如下方式:
提示:重启网卡或系统都会生效
#默认不存在此文件
提示:写到配置文件里,重启系统和系统都会生效
编辑/etc/rc.local
提示:方法三只是在开机时加载,重启网络服务会失效,但是重启系统会生效
如果是默认网关可以添加到网卡配置里
主机路由:就是去往某一个主机地址如何配置路由
解答实践:
route命令扩展:
删除一条默认路由即Destination栏为0.0.0.0:
删除一条静态路由:
如:或者
删除主机路由:
既然主机想要将数据传送到不同的网段是需要通过路由器的帮忙,那么,路由器的主要功能就是转发网络数据包,也就是说,路由器会分析来源数据包的ip包头,在包头内找出需要的目标IP后,通过路由器的的路由表来将这个数据包向下一个目标传送,这就是路由功能,那么路由功能使如何实现呢?
硬件功能:如cisco等公司的硬件路由器,可以负责不同网段间的数据包的翻译与传递功能。
软件功能:如linux操作系统的内核就提供了数据包的传递的功能。
那么在以太网中最简单的路由器功能,建立两个不同的网段的连接在linux系统中是怎么实现的呢?
这个转发数据包的功能也是linux内核提供的,很简单查看内核功能的显示文件
要让0改成1最简单的方法就是直接编译,但是在下次重新启动系统时生效,所以建议直接修改系统内核配置文件的内容,即修改/etc/sysctl.conf
通常路由规划有两种: