📄 s1-dhcp-configuring-server.html
字号:
></PRE></TD></TR></TABLE><P><B>例 18-4. 范围参数</B></P></DIV><P> 要根据网卡的 MAC 地址给客户分配 IP 地址,使用 <TTCLASS="FILENAME">host</TT> 声明内的 <TTCLASS="FILENAME">hardware ethernet</TT> 参数。 如<AHREF="s1-dhcp-configuring-server.html#STATIC-IP">例 18-5</A>中所演示,<TTCLASS="FILENAME">host apex</TT> 声明表明:网卡的 MAC 地址为 00:A0:78:8E:9E:AA 的系统所分配的 IP 地址将一直是 192.168.1.4。 </P><P> 注意,你还可以使用可选的参数 <TTCLASS="FILENAME">host-name</TT> 来为客户分配主机名。 </P><DIVCLASS="EXAMPLE"><ANAME="STATIC-IP"></A><TABLECLASS="SCREEN"BGCOLOR="#DCDCDC"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"><TTCLASS="COMPUTEROUTPUT">host apex { option host-name "apex.example.com"; hardware ethernet 00:A0:78:8E:9E:AA; fixed-address 192.168.1.4;}</TT></PRE></TD></TR></TABLE><P><B>例 18-5. 使用 DHCP 的静态 IP 地址</B></P></DIV><DIVCLASS="TIP"><P></P><TABLECLASS="TIP"WIDTH="100%"BORDER="0"><TR><TDWIDTH="25"ALIGN="CENTER"VALIGN="TOP"><IMGSRC="./stylesheet-images/tip.png"HSPACE="5"ALT="窍门"></TD><THALIGN="LEFT"VALIGN="CENTER"><B>窍门</B></TH></TR><TR><TD> </TD><TDALIGN="LEFT"VALIGN="TOP"><P> 你可以使用 Red Hat Linux 9 的配置文件范例作为样板,然后在其上添加你自己定制的配置选项。使用下面的命令把它复制到正确的位置里:<TABLECLASS="SCREEN"BGCOLOR="#DCDCDC"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"><TTCLASS="COMMAND">cp /usr/share/doc/dhcp-<TTCLASS="REPLACEABLE"><I><version-number></I></TT>/dhcpd.conf.sample /etc/dhcpd.conf</TT></PRE></TD></TR></TABLE> (这里的 <TTCLASS="REPLACEABLE"><I><version-number></I></TT> 是你使用的 DHCP 版本)。 </P></TD></TR></TABLE></DIV><P> 要获取选项陈述及其作用的完整列表,请参阅 dhcp-options 的说明书(man)页。 </P></DIV><DIVCLASS="SECT2"><H2CLASS="SECT2"><ANAME="LEASE-DATABASE"></A>18.2.2. 租期数据库</H2><P> 在 DHCP 服务器上,<TTCLASS="FILENAME">/var/lib/dhcp/dhcpd.leases</TT> 文件中存放着 DHCP 的客户租期数据库。该文件不应该被手工修改。每个新近分配的 IP 地址的 DHCP 租期信息都会自动储存在租期数据库中。该信息 包括租期的长度;IP 地址被分配的对象;租期的开始和终止日期; 以及用来检索租期的网卡的 MAC 地址。 </P><P> 租期数据库中所用的时间是格林威治标准时间(GMT),不是本地时间。 </P><P> 租期数据库不时被重建,因此它不算太大。首先,所有已知的租期会被储存到一个临时的租期数据库中,<TTCLASS="FILENAME">dhcpd.leases</TT> 文件被重命名为 <TTCLASS="FILENAME">dhcpd.leases~</TT>,然后,临时租期数据库被写入 <TTCLASS="FILENAME">dhcpd.leases</TT> 文件。 </P><P> 在租期数据库被重命名为备份文件,新文件被写入之前,DHCP 守护进程有可能被杀死,系统也有可能会崩溃。如果发生了这种情况,启动服务所需的 <TTCLASS="FILENAME">dhcpd.leases</TT> 文件就不会存在。这时,请不要创建新租期文件。因为这样做会丢失所有原有的旧租期文件,从而导致更多问题。正确的办法是把 <TTCLASS="FILENAME">dhcpd.leases~</TT> 备份文件重命名为 <TTCLASS="FILENAME">dhcpd.leases</TT>,然后再启动守护进程。 </P></DIV><DIVCLASS="SECT2"><H2CLASS="SECT2"><ANAME="AEN7195"></A>18.2.3. 启动和停止服务器</H2><DIVCLASS="IMPORTANT"><P></P><TABLECLASS="IMPORTANT"WIDTH="100%"BORDER="0"><TR><TDWIDTH="25"ALIGN="CENTER"VALIGN="TOP"><IMGSRC="./stylesheet-images/important.png"HSPACE="5"ALT="重要"></TD><THALIGN="LEFT"VALIGN="CENTER"><B>重要</B></TH></TR><TR><TD> </TD><TDALIGN="LEFT"VALIGN="TOP"><P> 在你首次启动 DHCP 服务器之时,除非系统上存在 <TTCLASS="FILENAME">dhcpd.leases</TT> 文件,服务器将无法被启动。 如果这个文件不存在的话,使用 <TTCLASS="COMMAND">touch /var/lib/dhcp/dhcpd.leases</TT> 命令来创建一个。 </P></TD></TR></TABLE></DIV><P> 要启动 DHCP 服务,使用 <TTCLASS="COMMAND">/sbin/service dhcpd start</TT> 命令。要停止 DHCP 服务器,使用 <TTCLASS="COMMAND">/sbin/service dhcpd stop</TT> 命令。如果你想让守护进程在引导时自动启动,请参阅 <AHREF="ch-services.html">第14章 </A> 中关于如何管理服务的信息。 </P><P> 如果你的系统连接了不止一个网络界面,但是你只想让 DHCP 服务器启动其中之一,你可以配置 DHCP 服务器只在那个设备上启动。在 <TTCLASS="FILENAME">/etc/sysconfig/dhcpd</TT> 中,把界面的名称添加到 <TTCLASS="COMMAND">DHCPDARGS</TT> 的列表中: </P><TABLECLASS="SCREEN"BGCOLOR="#DCDCDC"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"><TTCLASS="COMPUTEROUTPUT"># Command line options hereDHCPDARGS=eth0</TT></PRE></TD></TR></TABLE><P> 如果你有一个带有两个网卡的防火墙机器,这种方法就会大派用场。一个网卡可以被配置成 DHCP 客户来从互联网上检索 IP 地址;另一个网卡可以被用作防火墙之后的内部网络的 DHCP 服务器。仅指定连接到内部网络的网卡使系统更加安全,因为用户无法通过互联网来连接它的守护进程。 </P><P> 其它可在 <TTCLASS="FILENAME">/etc/sysconfig/dhcpd</TT> 中指定的命令行选项包括: </P><P></P><UL><LI><P><TTCLASS="COMMAND">-p <TTCLASS="REPLACEABLE"><I><portnum></I></TT></TT> — 指定 dhcpd 应该监听的 udp 端口号码。默认值 为 67。DHCP 服务器在比指定的 udp 端口大一位的端口号码上把回应传输给 DHCP 客户。譬如,如果你接受了默认的端口 67,服务器在端口 67 上监听请求,然后在端口 68 上回应客户。如果你在此处指定了一个端口号码来使用 DHCP 转发代理,你所指定的 DHCP 转发代理的监听端口也必须是同一端口。详情请参阅 <AHREF="s1-dhcp-configuring-server.html#DHCP-RELAY-AGENT">第 18.2.4 节</A>。 </P></LI><LI><P><TTCLASS="COMMAND">-f</TT> — 把守护进程作为前台进程运行。这在调试时最常用。 </P></LI><LI><P><TTCLASS="COMMAND">-d</TT> — 把 DCHP 服务器守护进程记录到标准错误描述器中。这在调试时最常用。如果它没有指定,日志将被写入 <TTCLASS="FILENAME">/var/log/messages</TT>。 </P></LI><LI><P><TTCLASS="COMMAND">-cf <TTCLASS="REPLACEABLE"><I>filename</I></TT></TT> — 指定配置文件的位置。默认位置是 <TTCLASS="FILENAME">/etc/dhcpd.conf</TT>。 </P></LI><LI><P><TTCLASS="COMMAND">-lf <TTCLASS="REPLACEABLE"><I>filename</I></TT></TT> — 指定租期数据库文件的位置。如果租期数据库文件已存在,在 DHCP 服务器每次启动时使用同一个文件至关重要。强烈建议你只在无关紧要的机器上为调试目的才使用该选项。默认的位置是 <TTCLASS="FILENAME">/var/lib/dhcp/dhcpd.leases</TT>. </P></LI><LI><P><TTCLASS="COMMAND">-q</TT> — 在启动该守护进程时,不要显示整篇版权信息。 </P></LI></UL></DIV><DIVCLASS="SECT2"><H2CLASS="SECT2"><ANAME="DHCP-RELAY-AGENT"></A>18.2.4. DHCP 转发代理</H2><P> DHCP 的转发代理(<TTCLASS="COMMAND">dhcrelay</TT>)允许你把无 DHCP 服务器的子网内的 DHCP 和 BOOTP 请求转发给其它子网内的一个或多个 DHCP 服务器。 </P><P> 当某个 DHCP 客户请求信息时,DHCP 转发代理把该请求转发给 DHCP 转发代理启动时所指定的一列 DHCP 服务器。当某个 DHCP 服务器返回一个回应 时,该回应被广播或单播给发送最初请求的网络。 </P><P>除非使用 <TTCLASS="COMPUTEROUTPUT">INTERFACES</TT> 指令在 <TTCLASS="FILENAME">/etc/sysconfig/dhcrelay</TT> 文件中指定了接口,DHCP 转发代理监听所有接口上的 DHCP 请求。 </P><P> 要启动 DHCP 转发代理,使用 <TTCLASS="COMMAND">service dhcrelay start</TT> 命令。 </P></DIV></DIV><DIVCLASS="NAVFOOTER"><HRALIGN="LEFT"WIDTH="100%"><TABLESUMMARY="Footer navigation table"WIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top"><AHREF="ch-dhcp.html"ACCESSKEY="P">后退</A></TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><AHREF="index.html"ACCESSKEY="H">起点</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top"><AHREF="s1-dhcp-configuring-client.html"ACCESSKEY="N">前进</A></TD></TR><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top">动态主机配置协议(DHCP)</TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><AHREF="ch-dhcp.html"ACCESSKEY="U">上级</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top">配置 DHCP 客户</TD></TR></TABLE></DIV></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -