DHCP
安装
yum install -y dhcp
配置文件
默认配置为/etc/dhcpd.conf
[root@samba ~]# [root@samba ~]# rpm -ql dhcp | grep conf.sample /usr/share/doc/dhcp-/dhcpd.conf.sample [root@samba ~]#
使用此示例配置文件覆盖/etc/dhcpd.conf
根据具体情况配置此文件
[root@samba ~]# cat /etc/dhcpd.conf ddns-update-style interim; ignore client-updates; subnet 100.1.1.0 netmask 255.255.255.0 { # --- default gateway option routers 100.1.1.1; option subnet-mask 255.255.255.0; option nis-domain "domain.org"; option domain-name "domain.org"; option domain-name-servers 114.114.114.114; option ; # Eastern Standard Time # option ntp-servers 192.168.1.1; # option netbios-name-servers 192.168.1.1; # --- Selects point-to-point node (default is hybrid). Don't change this unless # -- you understand Netbios very well # option netbios-node-type ; range dynamic-bootp 100.1.1.128 100.1.1.254; default-lease-; max-lease-; # we want the nameserver to appear at a fixed address host ns { next-server marvin.redhat.com; hardware ethernet ::::AB:CD; fixed-address 207.175.42.254; } }
关于配置文件内容跟参数选项意义参考一下:
/etc/dhcpd.conf通常包括三部分:parameters、declarations 、option。
1.DHCP配置文件中的parameters(参数):表明如何执行任务,是否要执行任务,或将哪些网络配置选项发送给客户。主要内容见表1
2. DHCP配置文件中的declarations (声明):用来描述网络布局、提供客户的IP地址等。主要内容见表2:
3. DHCP配置文件中的option(选项):用来配置DHCP可选参数,全部用option关键字作为开始,主要内容包括见表3:
注意:如果客户端使用的是视窗操作系统,不要选择"host-name"选项,即不要为其指定主机名称。
启动服务
service dhcpd start
或者
dhcpd -p -cf /etc/dhcpd.conf
查看端口是否监听
netstat -an |
启动脚本,可以查看很多相关记录文件信息
#!/bin/sh # ### BEGIN INIT INFO # Provides: dhcpd # Default-Start: # Default-Stop: # Should-Start: # Required-Start: $network # Required-Stop: # Short-Description: Start and stop the DHCP server # Description: dhcpd provides the Dynamic Host Configuration Protocol (DHCP) # server. ### END INIT INFO # # The fields below are left around for legacy tools (will remove later). # # chkconfig: - # description: dhcpd provides the Dynamic Host Configuration Protocol (DHCP) \ # server # processname: dhcpd # config: /etc/dhcpd.conf # config: /var/lib/dhcpd/dhcpd.leases # pidfile: /var/run/dhcpd.pid . /etc/rc.d/init.d/functions RETVAL= prog=dhcpd exec=/usr/sbin/dhcpd lockfile=/var/lock/subsys/dhcpd pidfile=/var/run/dhcpd.pid statedir=/var/lib/dhcpd [ -f /etc/sysconfig/dhcpd ] && . /etc/sysconfig/dhcpd # if the user specified a different config file, make sure we reference it findConfig() { for arg in $DHCPDARGS ; do ]; then [ -f "$arg" ] && echo "$arg" return fi if [ "$arg" = "-cf" ]; then found= continue fi done echo "/etc/dhcpd.conf" } config="$(findConfig "$DHCPDARGS")" if [ ! -f $statedir/dhcpd.leases ] ; then mkdir -p $statedir touch $statedir/dhcpd.leases [ -x /sbin/restorecon ] && [ -d /selinux ] && /sbin/restorecon $statedir/dhcpd.leases >/dev/>& fi configtest() { [ -x $exec ] || return [ -f $config ] || return $exec -q -t -cf $config RETVAL=$? ]; then $exec -t -cf $config else fi return $RETVAL } rh_status() { status -p $pidfile $exec } rh_status_q() { rh_status >/dev/>& } start() { [ ` ] || return [ -x $exec ] || return [ -f $config ] || return rh_status_q && return echo -n $"Starting $prog: " daemon --pidfile=$pidfile $exec $DHCPDARGS >/dev/null RETVAL=$? echo [ $RETVAL -eq ] && touch $lockfile return $RETVAL } stop() { [ ` ] || return rh_status_q || return echo -n $"Shutting down $prog: " killproc -p $pidfile $prog RETVAL=$? echo [ $RETVAL -eq ] && rm -f $lockfile return $RETVAL } usage() { echo $"Usage: $0 {start|stop|restart|force-reload|condrestart|try-restart|configtest|status}" } ]; then exit fi case "$1" in start) start ;; stop) stop ;; restart|force-reload) stop ; start ;; condrestart|try-restart) rh_status_q || exit stop ; start ;; reload) usage # unimplemented feature exit ;; configtest) configtest ;; status) rh_status ;; *) usage exit ;; esac exit $?
服务端查看已分配的IP地址
客户端的重新获取都会得到记录
[root@samba ~]# [root@samba ~]# [root@samba ~]# cat /var/lib/dhcpd/dhcpd.leases # All times in this file are in UTC (GMT), not your local timezone. This is # not a bug, so please don't ask about it. There is no portable way to # store leases in the local timezone, so please don't request this as a # feature. If this is inconvenient or confusing to you, we sincerely # apologize. Seriously, though - don't ask. # The format of this ) manual page. # This lease file was written by isc-dhcp-V3.0.5-RedHat lease 100.1.1.254 { starts // ::; ends // ::; binding state active; next binding state free; hardware ethernet :0c:::b2:b3; } lease 100.1.1.254 { starts // ::; ends // ::; binding state active; next binding state free; hardware ethernet :0c:::b2:b3; }
客户端查看相关信息
客户端上获取到IP地址后,dhclient 可以查看下相关信息,比如dhcp server等
[root@localhost ~]# [root@localhost ~]# pkill dhclient [root@localhost ~]# dhclient Internet Systems Consortium DHCP Client V3.0.5-RedHat Copyright - Internet Systems Consortium. All rights reserved. For info, please visit http://www.isc.org/sw/dhcp/ Listening on LPF/eth0/:0c:::b2:b3 Sending on LPF/eth0/:0c:::b2:b3 Sending on Socket/fallback DHCPREQUEST on eth0 to (xid=0x6656d649) DHCPACK from 100.1.1.100 (xid=0x6656d649) bound to seconds. [root@localhost ~]# [root@localhost ~]#
如果想查看更详细的信息,例如租期等等,可查看相关文件
[root@localhost ~]# ls /var/lib/dhclient/ dhclient-eth0.leases dhclient.leases [root@localhost ~]# [root@localhost ~]# cat /var/lib/dhclient/dhclient.leases lease { interface "eth0"; fixed-address 100.1.1.254; option subnet-mask 255.255.255.0; option ; option dhcp-lease-; option routers 100.1.1.1; option dhcp-message-type ; option dhcp-server-identifier 100.1.1.100; option domain-name-servers 114.114.114.114; option nis-domain "domain.org"; option domain-name "domain.org"; renew // ::; rebind // ::; expire // ::; } lease { interface "eth0"; fixed-address 100.1.1.254; option subnet-mask 255.255.255.0; option ; option routers 100.1.1.1; option dhcp-lease-; option dhcp-message-type ; option domain-name-servers 114.114.114.114; option dhcp-server-identifier 100.1.1.100; option nis-domain "domain.org"; option domain-name "domain.org"; renew // ::; rebind // ::; expire // ::; }
DHCP的更多相关文章
- 协议森林16 小美的桌号(DHCP协议)
作者:Vamei 出处:http://www.cnblogs.com/vamei 转载请先与我联系. DHCP协议用于动态的配置电脑的网络相关参数,如主机的IP地址,路由器出口地址.DNS域名服务器地 ...
- 获取 dhcp IP 过程分析 - 每天5分钟玩转 OpenStack(91)
前面我们已经讨论了 DHCP agent 的配置以及 namespace 如何隔离 dnsmasq 服务,本节将以 cirros-vm1 为例分析获取 DHCP IP 的详细过程. 在创建 insta ...
- dhcp协议交互报文
DHCP共有八种报文,分别为DHCP Discover.DHCP Offer.DHCP Request.DHCP ACK.DHCP NAK.DHCP Release.DHCP Decline.DHCP ...
- 7、二种 为二个不同的子网配置DHCP服务器(中继代理服务器)
环境如下: (参考之前,保证二个子网可以互相ping通) 虚拟机vm1 192.168.170.3 VMnet8 (NAT模式) 虚拟 ...
- PXE+Kickstart+DHCP+TFTP实现无人值守安装操作系统
PXE+Kickstart+DHCP+TFTP实现无人值守安装操作系统 PXE + Kickstart PXE的工作流程及配置文件 Kickstart的配置文件 Linux安装大致可以分为2个阶段 第 ...
- 思科交换机配置DHCP的四个方面
这里我们主要讲解了思科交换机配置DHCP的相关内容.我们对网络拓扑先进行一下了解,然后对于其在进行一下说明,之后对于配置的代码和命令再进行一下解析. 思科交换机配置DHCP一.网络拓扑 思科交换机配置 ...
- 协议分析 - DHCP协议解码详解
协议分析 - DHCP协议解码详解 [DHCP协议简介] DHCP,全称是 Dynamic Host Configuration Protocol﹐中文名为动态主机配置协议,它的前身是 ...
- 用 namspace 隔离 DHCP 服务 - 每天5分钟玩转 OpenStack(90)
Neutron 通过 dnsmasq 提供 DHCP 服务,而 dnsmasq 如何独立的为每个 network 服务呢? 答案是通过 Linux Network Namespace 隔离,本节将详细 ...
- 配置 DHCP 服务 - 每天5分钟玩转 OpenStack(89)
前面章节我们看到 instance 在启动过程中能够从 Neutron 的 DHCP 服务获得 IP,本节将详细讨论其内部实现机制. Neutron 提供 DHCP 服务的组件是 DHCP agent ...
随机推荐
- 2015-12-01 SQL查询语句基础
1.查询全体学生的学号与姓名select sno,snamefrom student;3.查询全体学生的详细信息select *from student;4.查询全体学生的姓名及其出生年份select ...
- MySQL 常用命令总结
http://blog.csdn.net/hanxin1987216/article/details/5976860 一.总结 1.Linux系统下启动MySQL的命令: mysqladmin sta ...
- Linux初识二
1. Linux上常用的文件管理命令及使用 (1) CP命令:复制文件或文件夹语法格式 cp [OPTION]... [-T] SOURCE DEST // 单源复制 cp [OPTION]... S ...
- 阿里技术协会好文推荐:Android绘制流程http://click.aliyun.com/m/8719/
一.前言 1.1.C++界面库 MFC.WTL.DuiLib.QT.Skia.OpenGL.Android里面的画图分为2D和3D两种: 2D是由Skia 来实现的,3D部分是由OpenGL实现的. ...
- [Top-Down Approach] Chatper 3 Notes
这里留下空白,提醒自己,第一章第二章尚待整理回顾. 此处缺了3.6/3.7两节拥塞控制的内容
- HDU 1856 Brave Game(巴什博奕)
十年前读大学的时候,中国每年都要从国外引进一些电影大片,其中有一部电影就叫<勇敢者的游戏>(英文名称:Zathura),一直到现在,我依然对于电影中的部分电脑特技印象深刻. 今天,大家选择 ...
- Spring 框架的架包分析、功能作用、优点,及jar架包简介
Spring 框架的架包详解 Spring的作用 Spring的优势 由于刚搭建完一个MVC框架,决定分享一下我搭建过程中学习到的一些东西.我觉得不管你是个初级程序员还是高级程序员抑或 ...
- [LeetCode] Max Points on a Line 共线点个数
Given n points on a 2D plane, find the maximum number of points that lie on the same straight line. ...
- Todo list and 学习心得
1. 理论实践要区分起来学习,结合起来运用. 2. 内事不决问百度外事不决问谷歌 3. 一个人走的快,一群人走得远或者更快 2016-09-01 23:27:58 九月目标:对程序从编译到执行的整个 ...
- C语言内存分配方法。
当C程序运行在操作系统上时,操作系统会给每一个程序分配一定的栈空间. 堆为所有程序共有的,需要时需要申请访问. 一.栈 局部变量.函数一般在栈空间中. 运行时自动分配&自动回收:栈是自动管理的 ...