您的位置: 网站首页 > 千军万马 > Linux操作系统 > 第6章 DNS服务器配置 > 【6.9 配置DHCP服务器】

6.9 配置DHCP服务器

 

6.9  配置DHCP服务器

在为网络设置DHCP服务器前,必须设计希望使用的网络布局。

没有连接到Internet或通过执行网络地址转换(NAT)或伪装的路由器或网关连接的私有网络地址将使用在RFC 1918中定义的私有网络范围之一,如表6-3所示。

6-3  RFC 1918 私有网络地址

   

可用地址数目

基于类的地址分类

10.0.0.010.255.255.255

167 77 216

1A类网络,有16 777 216个地址

172.16.0.0172.31.255.255

1 048 576

16B类网络,每个有65 536个地址

192.168.0.0192.168.255.255

65 536

256C类网络,每个有256个地址

大多数小型网络使用以192.168为前缀的C类网络地址,产生256个地址。因为两个地址被保留用于广播和网络消息,会留下254个地址给计算机和网络设备(例如打印机),对于大多数家庭和小企业这是足够的。

DHCP可以分配两种地址类型的任意组合。

·    静态

地址总是分配给特定的计算机或网络设备并且从不改变。即使这些不改变,它们仍旧使用DHCP协议与设备通信。静态地址应当用于任何其他用户将需要连接到的主机,比如Web服务器或打印机。

·    动态

按先到先服务的原则从地址池中分配的地址。动态地址适合于计算机,比如桌面系统,它们将连接到远程主机但从不(或很少)成为网络连接的目标。

6-4显示了将使用网络前缀为192.168.1的家庭或小型办公网络的可能的网络配置。在这个例子中,可用的地址已经被分成4个范围,分别为服务器、网络设备、桌面和笔记本系统、网络构架。另外,0255是保留的地址。

6-4  小型办公网络配置的例子

地址范围和目标

主机地址

名字和描述

   

 

0

网络

保留的地址

163

服务器

1

Prime(名称服务器、Web服务器)

传统的名称服务器地址

2

CabinetSamba文件服务器)

 

3

ChatterboxAsterisk电话系统)

 

463

将来使用

 

64127

网络设备

(非计算机)

64

laser1

主激光打印机

65

multifunction1

打印机—扫描仪—复印机

66

webcam1

监视前门

67127

将来使用

 

128191

桌面和笔记本系统

 

 

动态分配

192254

网络构架

192253

将来使用

 

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...

}

这些是在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  硬件地址

硬件MAC地址

   

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

结合以上的设计修改的dhcpd.conf文件如下:

# 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来配置一个使用DHCPEthernet端口:

# dhclient eth0

在这个例子中,被配置的端口是eth0,第一个以太网连接。在其他Fedora 6系统上,可能需要使用dhcpcdpump代替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