一、DHCP 相关介绍

1、dhcp服务相关
软件名:
dhcp #DHCP服务软件包
dhcp-common #DHCP命令软件包(默认已安装)
服务名:
dhcpd #DHCP服务名
dhcrelay #DHCP中继服务名
端口号:
udp 67 #作为客户端的目标端口,接收客户端的请求DHCP请求
udp 68 #作为服务器的源端口,用来向客户端回复数据包
配置文件:
dhcpd /etc/dhcp/dhcpd.conf #此配置文件默认是空的,需要找模板文件重新生成
dhcpd.conf.sample /usr/share/doc/dhcp-4.*.*/dhcpd.conf.sample
#DHCP的模板配置文件
dhcrelay /etc/sysconfig/dhcrelay #该文件时中继配置文件
2、配置文件解释

vim /etc/dhcp/dhcpd.conf

subnet  100.100.100.0  netmask  255.255.255.0{    #声明要分配的网段和子网掩码
range 100.100.100.120 100.100.100.130; #声明可用 IP 地址池
option domain-name "centos" ; #设置 DNS 域,可选。
option domain-name-servers 114.114.114.114 ; #设置 DNS 服务器地址 ,可选
option routers 100.100.100.2; #默认网关的地址
option broadcast-address 100.100.100.255; #广播地址,可选
default-lease-time 600; #默认租约(s)
max-lease-time 7200; #最大租约(s)

二、DHCP实验

1、基本实验
1.1、环境准备

1、使用自定义nat模式,网段为100.100.100.0,方便一些软件包的安装。

2、关闭虚拟机的自带的dhcp配置,防止对自定义的dhcp服务造成干扰。

3、关闭服务器的防火墙,及selinux服务

1.2、dhcp服务器配置网络

使用setup工具配置网络

1.3、安装dhcp服务
 yum install dhcp -y
1.4、生成配置文件
cp -a /usr/share/doc/dhcp-4.*.*/dhcpd.conf.sample  /etc/dhcp/dhcpd.conf
cp: overwrite `/etc/dhcp/dhcpd.conf'? y
vim /etc/dhcp/dhcpd.conf

添加以下代码

subnet  100.100.100.0  netmask  255.255.255.0{
range 100.100.100.120 100.100.100.130; #设置ip地址范围
option domain-name-servers 114.114.114.114; #设置dns服务器
option routers 100.100.100.2; #设置网关
}
1.5 重启dhcp服务,设置客户机dhcp自动获取ip
[root@centos ~]# service dhcpd restart
Starting dhcpd: [ OK ]
#使用setup工具设置dhcp自动获取ip
#重启客户机网络





可查看日志信息,

tail /var/log/messages

Dec 21 15:17:17 centos dhclient[2235]: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3 (xid=0x73189009)
Dec 21 15:17:17 centos dhclient[2235]: DHCPOFFER from 100.100.100.100
Dec 21 15:17:17 centos dhclient[2235]: DHCPREQUEST on eth0 to 255.255.255.255 port 67 (xid=0x73189009)
Dec 21 15:17:17 centos dhclient[2235]: DHCPACK from 100.100.100.100 (xid=0x73189009)
2、固定地址分配

dhcp服务器,将一个IP地址固定的分配给一台客户机。

2.1、获取客户端的mac地址
[root@centos ~]# arp -a
? (100.100.100.1) at 00:50:56:c0:00:08 [ether] on eth0
? (100.100.100.2) at 00:50:56:eb:dc:de [ether] on eth0
? (100.100.100.120) at 00:0c:29:ee:12:a5 [ether] on eth0
2.2、修改/etc/dhcp/dhcpd.conf文件
host fantasia {
hardware ethernet 00:0c:29:ee:12:a5; #客户机mac地址
fixed-address 100.100.100.200; #要分配的ip,子网段就行
}
2.3、重启DHCP服务,查看IP地址是否获取成功
service  dhcpd   restart
重启客户机网卡验证IP获取是否成功 service network restart
3、超级作用域

一个DHCP服务器,为一个局域网内部客户机分配不同网段的ip,以解决IP地址不足问题。

3.1、修改DHCP服务器网卡配置
cp -a ifcfg-eth0 ifcfg-eth0:0 #编辑此文件,留下重要信息就行。
DEVICE=eth0:0
ONBOOT=yes
IPADDR=200.200.200.200
NETMASK=255.255.255.0
3.2、开启路由转发:

vim /etc/sysctl.conf

net.ipv4.ip_forward = 1  #此选项修改为1即可
sysctl -p #刷新内核参数配置文件
3.3、修改dhcpd配置文件
shared-network 224-29 {
subnet 100.100.100.0 netmask 255.255.255.0 {
option routers 100.100.100.100;
range 100.100.100.130 100.100.100.130; #只分配一个ip更好看到效果
}
subnet 200.200.200.0 netmask 255.255.255.0 {
option routers 200.200.200.200;
range 200.200.200.230 200.200.200.230;
}
}
3.4、重启DHCP服务,重启两台客户机的网络
service  dhcpd restart
service network restart
4、dhcp中继

Relay(DHCPR)DHCP中继是一个小程序,可以实现在不同物理网段之间处理和转发dhcp信息的功能

4.1、实验准备

1、三台主机

2、拓扑图

4.2、服务器配置
修改/etc/dhcp/dhcpd.conf文件:
subnet 100.100.100.0 netmask 255.255.255.0 {#此处配置用不到,但不配置服务将会报错
range 100.100.100.120 100.100.100.120;
option routers 100.100.100.101;
}
subnet 10.10.10.0 netmask 255.255.255.0 {
range 10.10.10.20 10.10.10.30;
option routers 10.10.10.10;
}
重启dhcpd服务:
service dhcpd start
4.3、中继器配置
1、软件安装
yum -y install dhcp
2、修改配置文件
vim /etc/sysconfig/dhcrelay
INTERFACES="eth0 eth1"
DHCPSERVERS="100.100.100.100"
3、开启路由转发
vim /etc/sysctl.conf
netipv4.ip_forward = 1
sysctl -p
4、重启中继服务
service dhcrelay start
4.4 重启客户机网络

DHCP服务相关实验的更多相关文章

  1. httpd服务相关实验

    实验环境: CentOS6.8 1.连接测试: 在/etc/httpd/conf/httpd.conf telnet 172.16.252.242 80 GET /index.html HTTP/1. ...

  2. PXE 自动安装物理机 (DHCP服务由路由提供, 不能再配置)

    目录 1. PXE 自动安装物理机 (DHCP服务由路由提供, 不能再配置) 1.1. 需要的软件 1.2. 启动 proxy dhcp 服务 1.3. 关键的几个配置文件 PXE 自动安装物理机 ( ...

  3. 末学者笔记--NFS服务和DHCP服务讲解

    NFS服务端概述 一.概念: NFS,是Network File System的简写,即网络文件系统.网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS:NFS允许一个系统在网络上与他 ...

  4. [DHCP服务]——一个验证DHCP原理实验(VMware)

    大致实验拓扑图 DHCP Server端的配置 1. 安装DHCP # yum -y install dhcp 2. 拷贝配置文件 # /dhcpd.conf.sample /etc/dhcp/dhc ...

  5. rsync 服务介绍及相关实验

    一.rsync 简介 rsync 是类 unix 系统下的数据镜像备份工具.一款支持快速完全备份和增量备份的工具,支持本 地复制,远程同步等,类似于 scp 命令:rsync 命令在同步文件之前要先登 ...

  6. DHCP协议格式、DHCP服务搭建、DHCP协商交互过程入门学习

    相关学习资料 http://www.rfc-editor.org/rfc/rfc2131.txt http://baike.baidu.com/view/7992.htm?fromtitle=DHCP ...

  7. 第4章 DHCP服务

    基础服务类系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html DHCP前身是BOOTP,在Linux的网卡配置中也能看到显示的是BOOTP,D ...

  8. 编写脚本实现DHCP服务与DHCP中继自动化执行

    编写脚本实现DHCP服务与DHCP中继自动化执行 本脚本是在liunx搭建DHCP服务器以及DHCP中继服务器实验环境下实现的https://www.cnblogs.com/yuzly/p/10539 ...

  9. 配置DHCP服务

    配置DHCP服务 一.DHCP的简介 1.DHCP是Dynamic Host Configuration Protocol(动态主机配置协议)的缩写: 2.DHCP是从BOOTP(Bootstrap ...

随机推荐

  1. W5500设计方案

    W5500是韩国一款集成全硬件 TCP/IP 协议栈的嵌入式以太网控制器,W5500同时也是一颗工业级以太网控制芯片,最近发现我们国内也有和W5500 芯片一样芯片 介绍给大家 如下图:

  2. Git使用和介绍-基础指令

    转载请标明出处:http://blog.csdn.net/shensky711/article/details/52210625 本文出自: [HansChen的博客] 查看已有配置 取消已有的配置 ...

  3. centos 7 MysSQL 5.6.39 源码安装

    MySQL 5.6.39 二进制安装 CentOS 7 将默认数据库MySQL替换成了Mariadb. 这里会从系统的环境准备开始一步一步安装. 环境准备 系统版本 内核版本 IP地址 Centos ...

  4. python_thread

    多任务编程:可以有效的利用计算机资源,同时执行多个任务进程:进程就是程序在计算机中一次执行的过程进程 和 程序的区别:    1.程序是一个静态文件的描述,不占计算机的系统资源    2.进程是一个动 ...

  5. Linux安装图像页面的命令

    在shell里输入: sudo apt-get install x-window-system-core #安装x-windows的基础 sudo apt-get install gdm #安装登录管 ...

  6. Android DataBinding不能自动生成ViewDataBinding类的解决方法

    如果Build.gradle和Layout文件配置正确,仍无法生成ViewDataBinding类. 经测试,Gradle的sync无效,clean project无效,invalidate and ...

  7. tp5实现支付宝电脑支付(详解)

    首先吐槽一下支付宝的官方文档,它只是简单介绍一下开发的流程和参数,而对于新人来说如果只看它的官方文档很多时候是看不懂的,我也是边看文档边网上查资料才把它弄懂.下面我详细介绍支付宝的电脑支付是如何实现 ...

  8. 使用Jq实现弹出层

    对于前端程序员来说,弹出层是经常用到的,下面我叫大家如何用实现JQuery实现弹出层的效果,代码如下: CSS:弹出层的效果 .mask { position: absolute; top: 0px; ...

  9. Android组合Windows环境下Frida的安装步骤

    Frida是什么     我觉得官网已经说得很清楚了.简单的说就是一款动态代码检测工具,可用于各种系统,这里的主要用途是动态检测Android代码,配合Windows系统环境使用.     Frida ...

  10. python中for循环删除不全的问题

    以前遇到过一次,删除列表中符合条件的元素,for循环挨个判断是否符合条件,符合就删除,删完结果发现有一个符合条件的没有删掉. 那么如果想删除某些列表中的元素,比如有一个a列表,a=[11,22,33, ...