动态主机配置协议(DHCP)是用来自动给客户机器分配 TCP/IP 信息的网络协议。每个 DHCP 客户都连接到中央位置的 DHCP 服务器,该服务器会返回包括 IP 地址、网关和 DNS 服务器信息的客户网络配置。
18.1. 为什么使用 DHCP
DHCP 在快速发送客户网络配置方面很有用场。当配置客户系统时,管理员可以选择 DHCP,并不必输入 IP 地址、子网掩码、网关、或 DNS 服务器。客户从 DHCP 服务器中检索这些信息。DHCP 在管理员想改变大量系统的 IP 地址时也大有用途。与其重新配置所有系统,管理员只需编辑服务器上的一个 DHCP 配置文件即可获得新 IP 地址集合。如果某机构的 DNS 服务器改变了,这种改变只需在 DHCP 服务器上而不必在 DHCP 客户上进行。一旦客户的网络被重新启动(或客户重新引导系统),改变就会生效。
除此之外,如果便携电脑或任何类型的可移计算机被配置使用 DHCP,只要每个办公室都有一个允许它联网的 DHCP 服务器,它就可以不必重新配置而在办公室间自由移动。
18.2. 配置 DHCP 服务器
你可以使用配置文件 /etc/dhcpd.conf 来配置 DHCP 服务器。
DHCP 还使用 /var/lib/dhcp/dhcpd.leases 文件来贮存客户租期数据库。详情请参阅第 18.2.2 节。
18.2.1. 配置文件
配置 DHCP 服务器的第一步是创建贮存客户网络信息的配置文件。全局选项可以为所有客户声明,可选选项可以为每个客户系统声明。
该配置文件可以使用任何附加的制表符或空行来进行简单格式化。关键字是区分大小写的,起首为井号(#)的行是注释。
目前实现了两种 DNS 更新方案 — 特殊 DNS 更新模式和过渡性 DHCP-DNS 互动草图更新模式。如果这两种模式被接受为 IETF 标准进程的一部分,就会出现第三个模式 — 标准 DNS 更新方法。DHCP 服务器必须配置使用这两种当前方案中的一种。版本 3.0b2pl11 以及更早的版本使用特殊模式;不过,这种模式已经过时。如果你想保留相同的行为方式,在配置文件的开头添加以下一行:
ddns-update-style ad-hoc;
要使用推荐的模式,在配置文件的开头添加以下一行:
ddns-update-style interim;
请阅读 dhcpd.conf 的说明书(man)页来获得有关不同模式的细节。
配置文件中有两类陈述:
参数 — 表明如何执行任务,是否要执行任务,或将哪些网络配置选项发送给客户。
声明 — 描述网络的布局;描述客户;提供客户的地址;或把一组参数应用到一组声明中。
某些参数必须以 option 关键字开头,它们也被称为选项。选项配置 DHCP 的可选选项;而参数配置的是必选的或控制 DHCP 服务器行为的值。
在使用大括号({ })的部分之前声明的参数(包括选项)通常被当做全局参数。全局参数应用位于其下的所有部分。
重要:如果你改变了配置文件,这些改变在你使用 service dhcpd restart 命令来重新启动 DHCP 守护进程之后才会生效。
在例 18-1中, routers 、 subnet-mask 、 domain-name 、 domain-name-servers 和 time-offset 选项被用于所有在它们下面声明的 host 声明中。
如例 18-1所示,你可以声明 subnet 。你必须为你的网络中的每一个子网包括一个 subnet 声明,否则, DHCP 服务器可能无法启动。
在这个例子中,子网中的每个 DHCP 客户都带有全局选项,并且声明了 range 。客户被分配给 range 之内的 IP 地址。
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.254;
option subnet-mask 255.255.255.0;
option domain-name "example.com";
option domain-name-servers 192.168.1.1;
option time-offset -18000; # Eastern Standard Time
range 192.168.1.10 192.168.1.100;
}
例 18-1. 子网声明
所有共享同一物理网络的子网应该在 shared-network 声明之内声明,如例 18-2所示。在 shared-network 之内,但在被包围起来的 subnet 声明之外的参数被当做全局参数。 shared-network 的名称应该是对网络有描述性的标题,例如,使用 test-lab 来描述所有处于实验室(test lab)环境中的子网。
shared-network name {
option domain-name "test.redhat.com";
option domain-name-servers ns1.redhat.com, ns2.redhat.com;
option routers 192.168.1.254;
more parameters for EXAMPLE shared-network
subnet 192.168.1.0 netmask 255.255.255.0 {
parameters for subnet
range 192.168.1.1 192.168.1.31;
}
subnet 192.168.1.32 netmask 255.255.255.0 {
parameters for subnet
range 192.168.1.33 192.168.1.63;
}
}
例 18-2. 共享网络声明
如例 18-3 中所演示, group 声明可以用来把全局参数应用到一组声明中。你可以组合共享的网络、子网、主机或其它组群。
group {
option routers 192.168.1.254;
option subnet-mask 255.255.255.0;
option domain-name "example.com";
option domain-name-servers 192.168.1.1;
option time-offset -18000; # Eastern Standard Time
host apex {
option host-name "apex.example.com";
hardware ethernet 00:A0:78:8E:9E:AA;
fixed-address 192.168.1.4;
}
host raleigh {
option host-name "raleigh.example.com";
hardware ethernet 00:A1:DD:74:C3:F2;
fixed-address 192.168.1.6;
}
}
例 18-3. 组群声明
要配置将动态 IP 地址租给子网内系统的 DHCP 服务器,用你的数值来修改例 18-4。它为客户声明一个默认租期、最长租期、以及网络配置值。范例中把 range 192.168.1.10 和 192.168.1.100 之间的 IP 地址分配给客户。
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name "example.com";
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
}
例 18-4. 范围参数
要根据网卡的 MAC 地址给客户分配 IP 地址,使用 host 声明内的 hardware ethernet 参数。 如例 18-5 中所演示, host apex 声明表明:网卡的 MAC 地址为 00:A0:78:8E:9E:AA 的系统所分配的 IP 地址将一直是 192.168.1.4。
注意,你还可以使用可选的参数 host-name 来为客户分配主机名。
host apex {
option host-name "apex.example.com";
hardware ethernet 00:A0:78:8E:9E:AA;
fixed-address 192.168.1.4;
}
例 18-5. 使用 DHCP 的静态 IP 地址
窍门:你可以使用 Red Hat Linux 9 的配置文件范例作为样板,然后在其上添加你自己定制的配置选项。使用下面的命令把它复制到正确的位置里:
【相关文章】
|
|||
| · 网管系统介绍 · 网络管理系统如何支撑I.. · CISSP认证成长之路 · 51CTO国庆充电专题之好.. · 网络技术经典基础教程 · 51CTO主编推荐经典专题 · RAID——磁盘阵列基础 · 充电计划之热门IT认证.. |
· 51CTO技术自测 挑战自.. · AMD Phenom三核处理器.. · 国际文档格式标准开战 · 2007年互联网大会 · 我是黑客我怕谁——讲.. · ARP攻击防范与解决方案 · Solaris 10 配置管理 · Solaris基础知识入门 |
||
|
|||
| · Java基础教程 · VPN技术 · ARP攻击防范与解决方案 · SQL Server 2005全解 · SOA 面向服务架构 · SQL Server 2005全解 · Java编程开发手册 · RAID——磁盘阵列基础 |
· 三层交换技术专题 · SQL Server入门到精通 · Windows Server 2003企.. · Windows远程桌面应用 · C#技术开发指南 · VPN技术 · C#技术开发指南 · Solaris 10 配置管理 |
||
|
|||
| · ARP攻击防范与解决方案 · VPN技术 · SQL Server 2005全解 · Java基础教程 · SQL Server入门到精通 · SQL Server 2005全解 · SOA 面向服务架构 · Java编程开发手册 |
· C#技术开发指南 · 三层交换技术专题 · C#技术开发指南 · Windows远程桌面应用 · RAID——磁盘阵列基础 · Windows Server 2003企.. · 邮件服务器专题 · wimax技术与趋势 |
||
| ·DB2 Viper快速入门 ·DB2 9数据库的镜像分割与.. |
·将XML应用程序从DB2 8.x.. ·DB2 9中的pureXML:如何.. |
| ·服务器中的“傻瓜机”在.. ·盖茨也喜欢登录Youtube看.. |
· · |
| ·体验Windows Server 2008.. ·将超星图书转成PDF文档 |
·使用 Office Communicati.. ·VMware Workstation 6.01.. |
| ·强烈质疑“步行1公里就能.. ·国庆期间新闻回顾:微软.. |
·9月第3周回顾:微软和英.. ·9月第2周回顾:四核之战.. |
| · 华为、贝恩资本22亿美元.. · NGN:下一代网络 · 网络访问中断大排查 |
· 教你使用Anti ARP Sniff.. · 网络嗅探教程:使用Snif.. · 常见病毒手工清除方法大.. |
| · C++是垃圾语言?! · 2007年IT界七大抄袭事件 · Java实用开发全集 |
· 解析Ajax开发框架 走进A.. · 基于Google Maps与Ajax.. · 基于Google Maps与Ajax.. |
| · 热门 IT 培训认证官方资.. · Ubuntu 中文开源频道 · Solaris基础知识入门 |
· Google推出唯一硬件——.. · 硬盘之父获得诺贝尔物理.. · 理性面对四核服务器选购 |
| · 甲骨文Oracle 11g正式发.. · Oracle数据库开发之PL/S.. · Oracle数据库开发基础教.. |
· 硬盘之父获得诺贝尔物理.. · 存储2006,一个并购的大.. · IDC宣布浪潮蝉联存储市.. |