马哥教育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
参考资料
- Zuul:构建高可用网关之多维度限流
- Hystrix:HystrixCollapser请求合并
- oauth2.0 实现spring cloud nosession
- 基于自定义向导的C++单元测试环境自动化配置
- 【spring cloud】自定义jwt实现spring cloud nosession
- R语言的三种聚类方法
- ArrayList foreach 循环里进行元素的 remove add 操作有什么现象?
- 10个令人相见恨晚的R语言包
- 小心Windows旧版认证暴露你的系统帐户密码
- DNS Shell初体验
- 如何在Weka中加载CSV机器学习数据
- 老司机教你部署Cowrie蜜罐
- 时间序列预测如何变成有监督学习问题?
- 追踪溯源 | 希拉里邮箱泄露事件
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- P1003 铺地毯
- 花10分钟写一个 Python 脚本,搞定了初中老师一个下午的工作
- 微信小程序导航栏页面滑动切换
- SwiftUI:本地通知
- 领导大怒:建表不加主键的都是耍流氓
- (美团)巧用数组下标,轻轻松松找出所有元素
- Docker容器网络-基础篇
- 【Java面试总结】常用框架之Spring
- 【学以致用】C++操作Redis
- 商业鬼才教你 工厂方法 && 抽象工厂 模式
- redis学习(十四)
- 用动态路由打通各Virtual L2网络 By HKL,
- 《深入RabbitMQ》笔记
- Nginx学习日志(六)Linux下设置开机自启动
- 轻松学会 React 钩子:以 useEffect() 为例