Linux命令:dhcp配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux命令:dhcp配置相关的知识,希望对你有一定的参考价值。

DHCP服务器学习之dhcp配置

    想要学好DHCP服务器的内容,对于它的基本概念和配置内容我们都要清楚。那么这里我们先来简单了解一下DHCP。DHCP基于客户/服务器模式。当DHCP客户端启动时,它会自动与DHCP服务器通信,由DHCP服务器为DHCP客户端提供自动分配IP地址的服务。当然高级的DHCP,不光只是分配地址这么简单,今天我们的课程只是架设一个普通的DHCP的服务器, client端能获取到上网必须的网络配置信息。安装了DHCP服务软件的服务器称为DHCP服务器,而启用了DHCP功能的客户机称为DHCP客端,DHCP服务器是以地址租约的方式为DHCP客户端提供服务的,它有以下两种方式:限定租期 和 永久租用。学DHCP服务器,就一定要知道DHCP服务器的工作原理:

DHCP DISCOVER(DHCP发现)

DHCP OFFER(DHCP提供)

DHCPREQUEST(DHCP请求)

DHCPACK(DHCP确认)

    这个4个步骤,是client获取IP地址必经的步骤

    DHCP提供的时候,服务器已经给client分配了IP地址,第二部分分给client的IP地址是临时的,client得到这个IP地址后,会发出DHCP请求,请求租用这个地址,服务器收到请求后,就会正式把这个地址分配给client,继而向client发送DHCP确认。 这个四步主要是应对同一网络多个DHCP服务器。

    后台进程:dhcpd

    脚本:/etc/rc.d/init.d/dhcpd

    使用端口:67

    所需RPM包:dhcp

    相关RPM包:

   dhcp-devel-3.0.5-7.el5.i386.rpm
   dhcpv6-0.10-33.el5.i386.rpm   
   dhcpv6_client-0.10-33.el5.i386.rpm  http://blog.51cto.com/user_index.php?action=addblog_new

    配置文件:/etc/dhcpd.conf

    日志:/var/log/xferlog

    再提示一点吧,网络启动方式也叫bootpc,这样获取的IP地址是不会受服务器的租期限制的,它永远有效好了,我们先安装DHCP服务器


一、下载或从光盘上找到DHCP服务安装包。


二、安装(dhcp*代表其安装包名称):

# rpm -ivh dhcp*


三、配置DHCP文件:

  复制/usr/share/doc/dhcp*/dhcpd.conf.sample 到/etc目录下,更名为:dhcpd.conf
  # cp /usr/share/doc/dhcp*/dhcpd.conf.sample /etc/dhcpd.conf  
  当然,也可以先vi /etc/dhcpd.conf,然后在末行模式运行以下命令:  
  r /usr/share/doc/dhcp*/dhcpd.conf.sample  
  这样这个dhcpd.conf.sample文件的内容就导进来了。  
  打开dhcpd.conf,要修改的几个地方:  
  subnet 后面接的是你所定义的网段,要与本机的IP地址同网段,  
  每一语句以分号“;”结尾,不要忘记。  

例如:我的IP是“192.168.2.11”,下面是我的配置文件:  
  ddns-update-style interim;  
  ignore client-updates;  
  subnet 192.168.2.0 netmask 255.255.255.0 {  
  option routers 192.168.2.1;  option subnet-mask 255.255.255.0;  
  option nis-domain   "domain.org";  
  option domain-name "domain.org";  
  option domain-name-servers 192.168.2.1;  
  option time-offset -18000;  
  range dynamic-bootp 192.168.2.100 192.168.2.254  
  default-lease-time 21600;  max-lease-time 43200;  
  filename "/pxelinux.0";  
  next-server 192.168.2.11;  
  host ns {  
  next-server marvin.redhat.com;  
  hardware ethernet 12:34:56:78:AB:CD;  
  fixed-address 207.175.42.254; 
      }  
}


四、详细注解:

    ddns-update-style interim; #定义所支持的DNS动态更新类型(必选),一般我们设置成关闭,  
    #interim和none都是关闭的意思  
    allow/ignore client-updates;   #允许/忽略客户机更新DNS记录  
    allow/deny unknown-clients; #是否动态分配IP给未知的使用者  
    allow/deny bootp;   #是否响应激活查询  
    allow/deny booting;   #是否响应使用者查询  
    subnet 192.168.2.0 netmask 255.255.255.0 { #设置子网声明  
    # --- default gateway  
    option routers 192.168.2.1; #设置缺省网关为192.168.2.1  
    option subnet-mask 255.255.255.0; #设置客户端的子网掩码  
    option nis-domain "domain.org"; #为客户设置NIS域  
    option domain-name "domain.org"; #为客户设置域名  
    option domain-name-servers 192.168.2.1; #为客户设置域名服务器  
    option time-offset -18000; # Eastern Standard Time #为客户端指定格林威治时间偏移时间,单位秒,  
    # 该选项可以在全局配置、局部配置均可使用  
    # option ntp-servers 192.168.2.1; #NTP是时间服务器  
    # option netbios-name-servers 192.168.2.1;   设置wins服务器  
    # --- Selects point-to-point node (default is hybrid). Don‘t change this unless  
    # -- you understand Netbios very well  
    # option netbios-node-type 2; #设置netbios节点类型 我不清楚这个netbios节点是什么东西  
    range dynamic-bootp 192.168.2.28 192.168.2.254; #设置动态的地址池  
    default-lease-time 21600; #设置缺省的地址租期  
    max-lease-time 43200; #设置客户端最长的地址租期  
    # we want the nameserver to appear at a fixed address  
    filename "/pxelinux.0"; #开始启动文件的名称,应用于无盘安装,可以是tftp的相对或绝对路径  
    next-server 192.168.2.11; #This is the name of the server they should get it from  
     #tftp服务器,可以和dhcp服务器不在同一机器上,一般是PXE网络使用此参数  
    #设置主机声明  
        host ns {  
      next-server marvin.redhat.com; #设置由于定义服务器从引导文件中装入的主机名,用于无盘站  
      hardware ethernet 12:34:56:78:AB:CD; #指定dhcp客户的mac地址  
      fixed-address 207.175.42.254; #给指定的mac地址分配ip  
         }  
    }

 

五、配置好dhcpd.conf文件后就可以启动dhcp服务了:

# service dhcpd restart

这时可以用“netstat -nlutp”命令查看dhcp服务是否有启动。


六、其它相关文件:

1、这个文件/var/lib/dhcpd/dhcpd.leases,可以看到被租出去的IP地址和相关信息。

2、这个文件/etc/sysconfig/dhcpd是指定DHCP服务器监听的网卡,如果只有一个网卡,一般不用设置 DHCPDARGS=eth0 或者是eth1 ,如果全部监听就不用管。

3、这个文件/etc/sysconfig/dhcrelay就是设置DHCP中继的文件,大家打开看看吧。interfaces 就是来自这个端口的DHCP DISCOVER(请求)都会转发到后面的DHCPSERVERS服务器。设置了DHCP中继,需要启动中继服务:service dhcrelay start


七、在linux客户机下面,你可以手动配置你的dhcp:

察看你的网络配置文件,如果你没有设置为自动启动联网,则要修改你的网络配置文件。

  1. # vi /etc/sysconfig/network  

  2. 添加“NETWORKING=yes”(让引导的时候启动联网)  

  3. 或者使用  

  4. # @echo “NETWORKING=yes> /etc/sysconfig/network  

  5. 然后再修改你的网卡配置文件  

  6. /etc/sysconfig/network-scriptes/ifcfg-eth0 文件应该包含这几行:  

  7. DEVICE=eth0 

  8. BOOTPROTO=dhcp 

  9. ONBOOT=yes

[[email protected] ~]# ifconfig eth0 down

[[email protected] ~]# dhclient     # -d 可以前端工作
Internet Systems Consortium DHCP Client V3.0.5-RedHat
Copyright 2004-2006 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
Listening on LPF/eth0/00:50:56:9c:2a:c4
Sending on   LPF/eth0/00:50:56:9c:2a:c4
Sending on   Socket/fallback
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPACK from 192.168.1.3
bound to 192.168.1.20 -- renewal in 10695 seconds.

[[email protected] ~]# netstat -nlutp

[[email protected] ~]# ps aux |grep dhclient     #查看该进程

[[email protected] ~]# killall dhclient       #清除该进程


---end---

以上是关于Linux命令:dhcp配置的主要内容,如果未能解决你的问题,请参考以下文章

Linux网络——网络设置(DHCP原理及配置)

linux服务器DHCP配置问题

Linux 命令(195)—— dhclient 命令

谁知道linux中如何配置DHCP

谁知道linux中如何配置DHCP

我在linux中配置了dhcp我想重新配置怎么办哈