首页 > 代码库 > 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 可执行文件 提供一种使用对象管理API(Object 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:指定额外的环境变量传递给子进程
-n:DHCP客户端可以直接不要试图配置任何接口信息
-nw:客户端也可以指示立即成为一个守护进程,而不是等到它已经获得了一个IP地址
p<port>:如果DHCP客户端应该侦听和传输的端口不是标准端口(端口68),可以使用-p标志
-r:用来释放分配的IP地址
-s:DHCP客户端向指定的服务器发送消息
网络接口:为指定的网络接口申请新的IP地址等参数。
3)日志文件:/var/log/massages
4)命令参数配置文件:/etc/sysconfig/dhcpd ##指定一个网络接口上提供服务
5)租约文件:/var/dhcpd/dhcpd.leases
本文出自 “11628205” 博客,请务必保留此出处http://11638205.blog.51cto.com/11628205/1852910
linux(DHCP服务)