马哥教育N36第九周作业

时间:2019-04-18
本文章向大家介绍马哥教育N36第九周作业,主要包括马哥教育N36第九周作业使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1、讲述dhcp服务的原理

dhcp服务可分以下几个阶段:

  • 搜寻dhcp服务阶段
    dhcp 客户端启动时,网卡启动自动在网络中发送 discover 报文广播,并且它现在的IP地址是0.0.0.0 子网掩码是 255.255.255.255 。网络中所有主机都会收到这个报文,但是只有dhcp 服务器会回应。
  • dhcp 服务器响应阶段
    dhcp 服务器收到 discover 报文后,通过解析报文,在地址池中选择合适的IP地址,然后以dhcp offer 报文的形式通知客户端,这里可以提供dhcp的服务。
  • 客户端请求提供服务阶段
    此时客户端向 dhcp 服务器发起 request 服务请求,获取 IP、子网掩码、网关、DNS等信息
  • dhcp 服务器确认阶段
    服务器收到请求后,确认该IP还可用,然后便响应一个包含IP等信息的 ack 报文,同时服务器标记这个IP已被使用。客户端绑定这个IP后,网络中的其他dhcp 服务器则回收之前提供的IP。
  • dhcp 客户端重新登录网络阶段
    通过上次获取的dhcp服务器的地址,重新发送使用该IP的请求,服务器收到请求后,尝试让客户端使用原来的IP地址,并回一个ack报文。如果该IP被占用,将回一个nak报文,重新分配新的IP给客户端。
  • dhcp 客户端续约阶段
    服务器提供IP地址是有一定的有效期,客户端需要发送续约请求才能继续使用。客户端在租期的50%时,向服务器发送 renew 续租报文。
2、用ansible安装nginx服务
ansible all -m yum -a'name=nginx'
3、详细叙述ansible的工作原理

工作原理我们可以简单这样理解:ansible 读取yaml文件,转换成相应的python code ,然后通过ssh协议copy到目标主机上执行,最后将结果传回来。

4、叙述dns服务的原理

主机查询FQDN对应的IP地址的流程如下:

  • 主机首先查找本地的hosts文件是否有对应的记录
  • 没有查到后向配置DNS服务器发起请求,这时DNS服务器将在自己的缓存查找,没有的话将向根服务器发起请求
  • 根服务器回一个下一级域名的服务器地址,DNS服务器再向下一级服务器发起请求
  • DNS服务器再得到一个二级域名的服务器地址,再发起查询请求,这样一级一级递归查询,直到查询到IP后,将结果返回给查询主机。DNS将这个查询结果缓存在自己服务器上,供下次查询使用。
5、讲述vmlinuz、initrd.img的作用

vmlinuz 是内核程序,用于系统初始化,运行用户空间第一个应用程序 /sbin/init
initrd.img是 在为了内核加载根分区阶段,为其提供相应的驱动支持

6、使用ansible在多台机器上添加用户
# 新建一个 user.yaml 的playbook文件
---
- hosts: all
  remote_user: root
  
  tasks:
    - name: "create user"
      user: name=test state=present 

# 然后在命令行中调用
ansible-playbook user.yaml

参考资料