在为网络设置DHCP服务器前,必须设计希望使用的网络布局。
没有连接到Internet或通过执行网络地址转换(NAT)或伪装的路由器或网关连接的私有网络地址将使用在RFC 1918中定义的私有网络范围之一,如表6-3所示。
表6-3 RFC 1918 私有网络地址
可用地址数目 |
基于类的地址分类 | |
10.0.0.0~10.255.255.255 |
167 77 216 |
1个A类网络,有16 777 216个地址 |
172.16.0.0~172.31.255.255 |
1 048 576 |
16个B类网络,每个有65 536个地址 |
192.168.0.0~192.168.255.255 |
65 536 |
256个C类网络,每个有256个地址 |
大多数小型网络使用以192.168为前缀的C类网络地址,产生256个地址。因为两个地址被保留用于广播和网络消息,会留下254个地址给计算机和网络设备(例如打印机),对于大多数家庭和小企业这是足够的。
DHCP可以分配两种地址类型的任意组合。
地址总是分配给特定的计算机或网络设备并且从不改变。即使这些不改变,它们仍旧使用DHCP协议与设备通信。静态地址应当用于任何其他用户将需要连接到的主机,比如Web服务器或打印机。
· 动态
按先到先服务的原则从地址池中分配的地址。动态地址适合于计算机,比如桌面系统,它们将连接到远程主机但从不(或很少)成为网络连接的目标。
表6-4显示了将使用网络前缀为192.168.1的家庭或小型办公网络的可能的网络配置。在这个例子中,可用的地址已经被分成4个范围,分别为服务器、网络设备、桌面和笔记本系统、网络构架。另外,0和255是保留的地址。
表6-4 小型办公网络配置的例子
主机地址 |
名字和描述 |
注 解 | |
|
0 |
网络 |
保留的地址 |
1~63 服务器 |
1 |
Prime(名称服务器、Web服务器) |
传统的名称服务器地址 |
2 |
Cabinet(Samba文件服务器) |
| |
3 |
Chatterbox(Asterisk电话系统) |
| |
4~63 |
将来使用 |
| |
64~127 网络设备 (非计算机) |
64 |
laser1 |
主激光打印机 |
65 |
multifunction1 |
打印机—扫描仪—复印机 | |
66 |
webcam1 |
监视前门 | |
67~127 |
将来使用 |
| |
128~191 桌面和笔记本系统 |
|
|
动态分配 |
192~254 网络构架 |
192~253 |
将来使用 |
|
254 |
网关(路由器;到Internet的路径) |
对网关的传统地址 | |
|
255 |
广播 |
保留的地址 |
DHCP通过文本文件/etc/dhcpd.conf被配置,它包含配置语句和注释。dhcpd.conf文件以global语句开始,只有一条是需要的:
ddns-update-style none;
这会阻止DHCP服务器试图更新DNS服务器上的记录(这是被Fedora的默认SELinux配置所禁止的)。
配置语句的剩余部分作为subnet语句的一部分放在一个块中:
subnet 192.168.1.0 netmask 255.255.255.0
{
# Statements that apply only to this subnet...
}
option routers 192.168.1.254
默认网关。去往不在本地网络的主机的包会发送到该网关来转寄。
option subnet-mask 255.255.255.0
子网掩码,它被用于确定一个IP地址是否在本地网络上(这确定路由)。
option domain-name-servers 192.168.1.1
这个子网的名字服务器(它们可能在子网中,或在外部)。如果多于一个,把它们都列出,使用逗号把IP地址或主机名分开。
option domain-name " fedorabook.com "
这个子网上机器的域名。这对主机名查询被用作默认域,因此如果用户输入一个命令比如telnetserver42,主机名会被查询(使用名字服务器)为server42.fedorabook.com。
option time-offset -21600
本地时区与世界协调时(UTC)的时差(以秒为单位)。-21 600表示在英国格林威治之后6个小时的时区(北美东部标准时间)。
option ntp-servers pool.ntp.org
任何可用的网络时间协议服务器的主机名或地址。主机名pool.ntp.org访问一台从公共可访问的时间服务器池中随机抽取的服务器。可以预先考虑的ISO国家代码来仅选择国家的时间服务器;例如,ca.pool.ntp.org将会随机选择一个加拿大的时间服务器。
range 192.168.1.128 192.168.1.191
将被分配的动态IP地址的地址范围。
default-lease-time 86400
正常的租约时间,以秒为单位。86 400秒相当于一天。
max-lease-time 172800
最大租约时间,以防客户请求长于默认值的租约。
要配置静态主机,语句被放在host语句块中:
host hostname
{
# Statements that apply only to this host...
}
hardware ethernet aa:bb:cc:dd:ee:ff
确定哪个以太网硬件MAC地址会匹配这个host块。如果由DHCP客户发送的主机名与host语句中的主机名匹配,或者客户的以太网卡有与hardware语句相同的MAC地址,这个块会被选中。
fixed-address 192.168.1.1
对该主机指定静态地址。
假设各个网络设备所对应的硬件MAC地址如表6-5所示。
表6-5 硬件地址
主 机 名 | |
00:0c:0d:99:99:99 |
prime |
00:0c:0d:aa:aa:aa |
cabinet |
00:0c:0d:bb:bb:bb |
chatterbox |
00:0c:0d:cc:cc:cc |
laser1 |
00:0c:0d:dd:dd:dd |
multifunction1 |
00:0c:0d:ee:ee:ee |
gateway1 |
# Sample /etc/dhcpd.conf file
# Don't update DNS
ddns-update-style none;
# The local network is 192.168.1.X
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.254; # Default gateway
option subnet-mask 255.255.255.0; # Client netmask
option domain-name "fedorabook.com"; # Domain
option domain-name-servers 172.16.97.1; # Nameserver is .1
option time-offset -21600; # Eastern Standard Time
option ntp-servers pool.ntp.org; # Timeservers
default-lease-time 86400; # 1 day
max-lease-time 172800; # 2 days
# Dynamic configuration
range 192.168.1.128 192.168.1.191
# Static configuration for various hosts
host prime {
hardware ethernet 00:0c:0d:99:99:99 ;
fixed-address 192.168.1.1 ;
}
host cabinet {
hardware ethernet 00:0c:0d:aa:aa:aa ;
fixed-address 192.168.1.2 ;
}
host chatterbox {
hardware ethernet 00:0c:0d:bb:bb:bb ;
fixed-address 192.168.1.3 ;
}
host laser1 {
hardware ethernet 00:0c:0d:cc:cc:cc ;
fixed-address 192.168.1.64 ;
}
host multifunction1 {
hardware ethernet 00:0c:0d:dd:dd:dd ;
fixed-address 192.168.1.65 ;
}
host webcam1 {
hardware ethernet 00:0c:0d:ee:ee:ee ;
fixed-address 192.168.1.66 ;
}
host gateway1 {
hardware ethernet 00:0c:0d:ff:ff:ff ;
fixed-address 192.168.1.254 ;
}
}
一旦配置已经保存在/etc/dhcpd.conf中,使用“服务”图形化配置工具或下面这个命令重启动dhcpd来激活它:
# service dhcpd restart
如果在的配置文件中有错误,dhcpd可能不能启动。检查文件/var/log/messages的结尾来查看是否有任何出错消息:
# tail -50 /var/log/messages|less
如果没有出错消息,客户可以开始使用dhcpd服务器来获取它们的IP地址。将需要在防火墙配置中打开端口68 UDP以便于允许客户到达dhcpd。也应当校验在网络上没有其他DHCP服务器正在运行(检查添加到计算机的路由器和网关装置)。
如果配置通过DHCP获取IP信息,客户系统将在启动时联系DHCP服务器。也可以强制它们在任何时间联系DHCP服务器。
在Fedora Core 6中可以使用dhclient来配置一个使用DHCP的Ethernet端口:
# dhclient eth0
在这个例子中,被配置的端口是eth0,第一个以太网连接。在其他Fedora 6系统上,可能需要使用dhcpcd或pump代替dhclient。
在Windows系统上,可以使用ipconfig来获取或更新DHCP租约:
C:> ipconfig /renew
Windows IP Configuration
Ethernet adapter 1:
Connection-specific DNS Suffix . : fedorabook.com
IP Address. . . . . . . . . . . . : 192.168.1.207
Subnet Mark . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.254