首页 > 代码库 > linux(DHCP服务)

linux(DHCP服务)

DHCP服务

1、基本信息:

1)网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-XXX

示例:

查看第一块网卡信息:

[root@ns ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0

输出如下:

DEVICE=eth0    ##设置网卡接口的名称

HWADDR=00:0C:29:86:2A:B0    ##物理网卡的MAC地址

TYPE=Ethernet     ##配置文件接口类型

ONBOOT=yes     ##设置网络接口是否在Linux系统启动时激活

NM_CONTROLLED=no   ##network manager的参数

BOOTPROTO=static   ##启动引导类型

IPADDR=192.168.100.100     ## IP地址

NETMASK=255.255.255.0     ##子网掩码

GATEWAY=192.168.100.1     ##默认网关

DNS1=192.168.100.100      ##设置DNS

2)软件包

RHEL 6 :光盘:/Packages

RHEL 5:光盘:/Server

源码包:http://www.isc.org

3)进程名:dhcpd

DHCP服务启动会自动启动一个名为dhcpd的进程,查看进程是否启动:

[root@ns ~]# ps -eaf |grep dhcpd

dhcpd     1201     1  0 05:30 ?        00:00:00 /usr/sbin/dhcpd -user dhcpd -group dhcpd eth0

root     20232 20215  0 08:41 pts/0    00:00:00 grep dhcpd

 

[root@ns ~]# ps aux |grep dhcpd

dhcpd     1201  0.0  0.0  48556    20 ?        Ss   05:30   0:00 /usr/sbin/dhcpd -user dhcpd -group dhcpd eth0

root     20245  0.0  0.3 103248   872 pts/0    S+   08:51   0:00 grep dhcpd

4)端口:67

DHCP服务启动后,默认在UDP协议的67端口监听服务,查看是否监听服务。

[root@ns ~]# netstat -anpu |grep dhcpd

udp        0      0 0.0.0.0:67                  0.0.0.0:*                               1201/dhcpd  

 

[root@ns ~]# netstat -utpln |grep dhcpd

udp        0      0 0.0.0.0:67                  0.0.0.0:*                               1201/dhcpd                 

5)防火墙所开放的端口号:system-config-firewall

[root@ns ~]# yum -y install system-config-firewall  #安装软件包

[root@ns ~]# system-config-firewall   ##输入

 技术分享

2、搭建服务:

[root@ns ~]# rpm -q dhcp   

dhcp-4.1.1-38.P1.el6.centos.x86_64   ##查看是否安装dhcpd软件包,显示已经安装。

[root@ns ~]# rpm -qa dhcp

dhcp-4.1.1-38.P1.el6.centos.x86_64    ###查看是否安装dhcpd软件包,显示已经安装。

[root@ns ~]# mount /dev/cdrom /mnt

mount: block device /dev/sr0 is write-protected, mounting read-only    ##挂载光盘,准备安装dhcpd软件包。

[root@ns ~]# yum -y install dhcpd    ##yum安装dhcpd软件包。

3、文件组成:

/etc/dhcp/dhcpd.conf  配置文件  DHCP服务的主配置文件

/etc/dhcp/dhcpd6.conf  配置文件  DHCPv6的主配置文件

/etc/dhcp/dhclient.d/nis.sh   Shell脚本文件

/etc/openldap/schema/dhcp.schema  配置文件

/etc/portreserve/dhcpd   配置文件  端口映射

/etc/rc.d/init.d/dhcpd   可执行文件    启动DHCP服务

/etc/rc.d/init/dhcp6   可执行文件    启动DHCPv6服务

/etc/rc.d/init.d/dhcrelay   可执行文件    启动DHCP中继服务

/etc/sysconfig/dhcpd   配置文件   用来配置DHCP命令参数

/etc/sysconfig/dhcp6   配置文件    用来配置DHCPv6服务命令参数

/etc/sysconfig/dhcrelay   配置文件    配置中继服务命令参数

/usr/bin/omshell    可执行文件    提供一种使用对象管理APIObject Management API)来查询和更改ISC DHCP 服务器的状态的方式。

/usr/sbin/dhcpd   可执行文件   启动DHCP服务

/usr/sbin/dhcrelay   可执行文件   启动DHCP中继服务

/var/lib/dhcpd/dhcp.leases 配置文件   DHCP 服务的租约文件

/var/lib/dhcpd/dhcp6/leases 配置文件  DHCPv6服务的租约文件

/sbin/dhclient   可执行文件  DHCP服务器的客户端工具

4、建立配置文件:/etc/dhcp/dhcpd.conf

[root@ns ~]# cp  /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf

cp:是否覆盖"/etc/dhcp/dhcpd.conf"y

option domain-name "example.org";    ##默认搜索域

option domain-name-servers ns1.example.org, ns2.example.org;   ##DNS服务器地址

default-lease-time 600;   ##默认租约时间

max-lease-time 7200;     ##设置最大租约时间

subnet:设置子网属性

常见声明:

shared-network   ##用来告知是否为一些子网络分享相同网络

subnet   ##描述一个IP地址是否属于该子网

range    ##用来提供动态分配IP地址的范围

host    ##需要进行特别设置的主机,如为某个主机固定一个IP地址

group    ##为一组参数提供声明

allow unknown-clients

deny unknown-client     ##是否响应激活查询

allow booting

deny booting   ##是否响应使用者查询

filename   ##开始启动文件的名称,应用于无盘工作站

next-server   ##设置服务器从引导文件中装入主机名,应用于无盘工作站。

常见参数:

ddns-update-style   ##配置DHCP-DNS为互动更新模式

default-lease-time    ##指定默认租约时间的长度,单位为秒

max-lease-time     ##设置最大租约时间长度,单位为秒

hardware     ##设置网卡接口类型和MAC地址

server-name     ##告知DHCP客户端使用的IP地址

get-lease-hostnames flag    ##检查客户端一个固定的IP地址

fixed-address ip   ##分配给客户端一个固定的IP地址

authritative     ##拒绝不正确的IP地址的要求

常用选项:

subnet-mask      ##为客户端设置子网掩码

domain-name     ##为客户都指明DNS名字

domain-name-servers     ##为客户端指明DNS服务器IP地址

host-name   ##为客户端指明主机名称

routers     ##为客户端设定默认网关

broadcast-address     ##为客户端设定广播地址

ntp-server     ##为客户端设定网络时间服务器IP地址

time-server    ##为客户端设定和格林威治时间的偏移时间,单位为秒

实例:

subnet 10.5.5.0 netmask 255.255.255.224 {

  range 10.5.5.26 10.5.5.30;

  option domain-name-servers ns1.internal.example.org;

  option domain-name "internal.example.org";

  option routers 10.5.5.1;

  option broadcast-address 10.5.5.31;

  default-lease-time 600;

  max-lease-time 7200;

}

设置主机属性:host

host fantasia {

  hardware ethernet 08:00:07:26:c0:a5;

  fixed-address 192.168.1.1.0;

}

配置超级超级作用域:shared-network

用来告知是否一些子网络共享相同网络

shared-network 224-29 {

  subnet 10.17.224.0 netmask 255.255.255.0 {

    option routers rtr-224.example.org;

  }

  subnet 10.0.29.0 netmask 255.255.255.0 {

    option routers rtr-29.example.org;

  }

  pool {

    allow members of "foo";

    range 10.17.224.10 10.17.224.250;

  }

  pool {

    deny members of "foo";

    range 10.0.29.10 10.0.29.230;

  }

}

5、其他配置文件

1)/etc/rc.d/init.d/dhcpd 用来管理服务的运行情况

2)可执行程序文件:/sbin/dhclient   是一个客户端测试工具

dhclient [选项]  

-d:在调试模式下显示信息

-e:指定额外的环境变量传递给子进程

-nDHCP客户端可以直接不要试图配置任何接口信息

-nw:客户端也可以指示立即成为一个守护进程,而不是等到它已经获得了一个IP地址

p<port>:如果DHCP客户端应该侦听和传输的端口不是标准端口(端口68),可以使用-p标志

-r:用来释放分配的IP地址

-sDHCP客户端向指定的服务器发送消息

网络接口:为指定的网络接口申请新的IP地址等参数。

3)日志文件:/var/log/massages

4)命令参数配置文件:/etc/sysconfig/dhcpd   ##指定一个网络接口上提供服务

5)租约文件:/var/dhcpd/dhcpd.leases


本文出自 “11628205” 博客,请务必保留此出处http://11638205.blog.51cto.com/11628205/1852910

linux(DHCP服务)