一、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. https安全在哪里,原理是什么?

    转载请标明出处:http://blog.csdn.net/shensky711/article/details/52214842 本文出自: [HansChen的博客] Https通信基本过程 在通信 ...

  2. [ch04-01] 用最小二乘法解决线性回归问题

    系列博客,原文在笔者所维护的github上:https://aka.ms/beginnerAI, 点击star加星不要吝啬,星越多笔者越努力. 4.1 最小二乘法 4.1.1 历史 最小二乘法,也叫做 ...

  3. Netty-主从Reactor多线程模式的源码实现

    Netty--主从Reactor多线程模式的源码实现 总览 EventLoopGroup到底是什么? EventLoopGroup是一个存储EventLoop的容器,同时他应该具备线程池的功能. gr ...

  4. 九、Spring Boot 优雅的实现CORS跨域

    前言 我们的springboot 架手架已经包含了mysql,redis,定时任务,邮件服务,短信服务,文件上传下载,以及docker-compose 构建镜像等等. 接下来让我们解决另一个常见的问题 ...

  5. JS的引用顺序真的灰常重要

    JS的引用一定要记得顺序,不然常常会被小小的问题卡住很久.

  6. python20个骚操作

    Python小白需要知道的 20 个骚操作! Python 是一个解释型语言,可读性与易用性让它越来越热门.正如 Python 之禅中所述: 优美胜于丑陋,明了胜于晦涩. 在你的日常编码中,以下技巧可 ...

  7. shell脚本简单例子

    eg: Expect: 1.用环境变量RANDOM随机生成一个100以内的随机数 2.read读取当前输入 3.当前输入对比随机生成的数 4.当两个数相等时跳出苏循环,并计数(比较n次结果才相等) # ...

  8. Python中的Tcp协议应用之TCP服务端-协程版(推荐)

    利用gevent第三方库,实现协程. 通过协程实现一个服务端服务多个客户端需求. 使用协程的好处是协程比线程更加节省内存资源. gevent安装命令: pip3 install gevent 注意:在 ...

  9. L1 loss, L2 loss以及Smooth L1 Loss的对比

    总结对比下\(L_1\) 损失函数,\(L_2\) 损失函数以及\(\text{Smooth} L_1\) 损失函数的优缺点. 均方误差MSE (\(L_2\) Loss) 均方误差(Mean Squ ...

  10. 脚本shell每小时递增运行task

    下面 hello 是开始时间, world 是结束时间 #!/bin/bash START=$(date +%s); hello="20160911 00" world=" ...