16.Linux搭建DHCP服务器及ansible入门

1、搭建DHCP服务,为局域网内用户提供10.1.1.0/24网段的IP,且租约期默认为48小时

  1. 简介:dhcp(动态主机路由配置协议),通常应用在大型局域网中,主要作用是集中管理,分配IP地址,使网络环境中的主机能够实时获得可用的IP地址及释放IP地址,提升IP地址的利用率。
  2. Linux下搭建dhcp服务器
1.安装dhcp
[root@localhost centos]# yum install dhcp -y

2.修改dhcp配置文件/etc/dhcp/dhcpd.conf,修改完保存后重启
default-lease-time 172800;	//设置租约期为48小时,单位是秒
max-lease-time 180000;		//最大租约期
subnet 10.1.1.0 netmask 255.255.255.0 {
   		//网段为10.1.1.0,24位掩码
  range 10.1.1.10 10.1.1.20;	//地址范围是10.1.1.10-10.1.1.20	
  option routers 10.1.1.7;	//指定默认网关是10.1.1.7
}
[root@localhost dhcp]# systemctl start dhcpd.service	//启动服务
[root@localhost dhcp]# ss -unl		//监听在udp协议的67号端口
State      Recv-Q Send-Q      Local Address:Port                     Peer Address:Port              
UNCONN     0      0                       *:51236                               *:*                  
UNCONN     0      0           192.168.122.1:53                                  *:*                  
UNCONN     0      0                       *:67                                  *:*                  
UNCONN     0      0                *%virbr0:67                                  *:*    
3.配置客户端,使用命令动态获取dhcp地址		//我这里使用的是192.168.164.0网段测试
[root@node2 centos]# dhclient -d	
Internet Systems Consortium DHCP Client 4.2.5
Copyright 2004-2013 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/virbr0-nic/52:54:00:f4:1a:f7
Sending on   LPF/virbr0-nic/52:54:00:f4:1a:f7
Listening on LPF/virbr0/52:54:00:f4:1a:f7
Sending on   LPF/virbr0/52:54:00:f4:1a:f7
Listening on LPF/ens33/00:0c:29:ee:c5:9a
Sending on   LPF/ens33/00:0c:29:ee:c5:9a
Sending on   Socket/fallback
DHCPDISCOVER on virbr0-nic to 255.255.255.255 port 67 interval 6 (xid=0x7c2d372c)
DHCPDISCOVER on virbr0 to 255.255.255.255 port 67 interval 4 (xid=0x7477d2bc)
DHCPREQUEST on ens33 to 255.255.255.255 port 67 (xid=0x2200a5d5)
DHCPACK from 192.168.164.154 (xid=0x2200a5d5)		//dhcp服务器地址
bound to 192.168.164.10 -- renewal in 67843 seconds.	//从服务器获取到的IP地址,证明dhcp服务器可用

2、在上述实验基础上,实现DHCP中继

  1. 所谓dhcp中继,即在dhcp服务器与客户端之间在添加一个dhcp服务器实现中转,该中继服务器需要开启报文转发功能
  2. 在(1)中我们已搭建好dhcp服务器,现在配置中继服务器
1.打开路由转发功能
[root@node3 centos]# echo "1" > /proc/sys/net/ipv4/ip_forward
[root@node3 centos]# vi /etc/sysctl.conf 
net.ipv4.ip_forward = 1 
[root@node2 centos]# sysctl -p

2.准备另外一台主机配置中继服务器,也要先安装dhcp包
[root@node3 centos]# vim /etc/sysconfig/dhcrelay  
INTERFACES="ens33"    #侦听接口
DHCPSERVERS="192.168.164.153" #DHCP服务器IP地址
[root@node3 centos]# systemctl enable dhcrelay.service#开机自启动 
[root@node3 centos]# systemctl start dhcrelay.service #启动中继服务

3.客户端请求
[root@node4 centos]#dhclient -d

3、借助Ansible Playbook自动化搭建LNMP环境(可借助yum)

  1. ansible简介:是一款自动化运维工具,基于python研发,高度模块化,支持playbook编排任务;YAML格式编排任务;
  2. 组成部分:
    ANSIBLE PLAYBOOKS:任务剧本,ansible根据顺序依次执行
    INVENTORY:Ansible管理主机的清单/etc/anaible/hosts
    MODULES:Ansible执行命令的功能模块,多数为内置核心模块,也可自定义
    PLUGINS:模块功能的补充,如连接类型插件、循环插件、变量插件、过滤插 件等,该功能不常用
    API:供第三方程序调用的应用程序编程接口
    ANSIBLE:组合INVENTORY、API、MODULES、PLUGINS的绿框,可以理解 为是ansible命令工具,其为核心执行工具
  3. 配置文件 :
    /etc/ansible/ansible.cfg 主配置文件,配置ansible工作特性
    /etc/ansible/hosts 主机清单
    etc/ansible/roles/ 存放角色的目录
  4. 程序 :
    /usr/bin/ansible 主程序,临时命令执行工具
    /usr/bin/ansible-doc 查看配置文档,模块功能查看工具
    /usr/bin/ansible-galaxy 下载/上传优秀代码或Roles模块的官网平台
    /usr/bin/ansible-playbook 定制自动化任务,编排剧本工具
    /usr/bin/ansible-pull 远程执行命令的工具
    /usr/bin/ansible-vault 文件加密工具
    /usr/bin/ansible-console 基于Console界面与用户交互的执行工具
  5. ansible命令使用:
    ansible [-m module_name] [-a args]
参数 含义
–version 显示版本
-m module 指定模块,默认为command
-v 详细过程
–vv,vvv 更详细
–list-hosts 显示主机列表,可简写 --list
-k, --ask-pass 提示输入ssh连接密码,默认Key验证
-C, --check 检查,并不执行
-T, --timeout=TIMEOUT 执行命令的超时时间,默认10s
-u, --user=REMOTE_USER 执行远程执行的用户
-b, --become 代替旧版的sudo 切换 --become-user=USERNAME 指定sudo的runas用户,默认为root
-K, --ask-become-pass 提示输入sudo时的口令
  1. ansible命令执行过程
    1.加载自己的配置文件 默认/etc/ansible/ansible.cfg
    2.加载自己对应的模块文件,如command
    3.通过ansible将模块或命令生成对应的临时py文件,并将该文件传输至远程服 务器的对应执行用户$HOME/.ansible/tmp/ansible-tmp-数字/XXX.PY文件
    4.给文件+x执行
    5.执行并返回结果
    6.删除临时py文件,退出

  2. 执行状态:
    1.绿色:执行成功并且不需要做改变的操作
    2.黄色:执行成功并且对目标主机做变更
    3.红色:执行失败

  3. 常用模块
    1.Command:在远程主机执行命令,默认模块,可忽略-m选项

    示例:ansible srvs -m command -a ‘service vsftpd start’  
    ansible srvs -m 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值