⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dhcp-3.html

📁 Linux初学者最好的老师就是howto了。相当于函数man。
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312"> <META NAME="GENERATOR" CONTENT="ZH-SGML-Tools 1.0.9"> <TITLE>DHCP mini-HOWTO (DHCPd/DHCPcd): 设定用户端</TITLE> <LINK HREF="DHCP-4.html" tppabs="http://www.linux.org.tw/CLDP/gb/mini/DHCP-4.html" REL=next> <LINK HREF="DHCP-2.html" tppabs="http://www.linux.org.tw/CLDP/gb/mini/DHCP-2.html" REL=previous> <LINK HREF="DHCP.html#toc3" tppabs="http://www.linux.org.tw/CLDP/gb/mini/DHCP.html#toc3" REL=contents></HEAD> <BODY bgcolor=#FFFFFF MARGINHEIGHT=0 MARGINWIDTH=0> <A HREF="DHCP-4.html" tppabs="http://www.linux.org.tw/CLDP/gb/mini/DHCP-4.html"><IMG SRC="next.gif" tppabs="http://www.linux.org.tw/CLDP/gb/img/next.gif" ALT="Next"></A><A HREF="DHCP-2.html" tppabs="http://www.linux.org.tw/CLDP/gb/mini/DHCP-2.html"><IMG SRC="prev.gif" tppabs="http://www.linux.org.tw/CLDP/gb/img/prev.gif" ALT="Previous"></A><A HREF="DHCP.html#toc3" tppabs="http://www.linux.org.tw/CLDP/gb/mini/DHCP.html#toc3"><IMG SRC="toc.gif" tppabs="http://www.linux.org.tw/CLDP/gb/img/toc.gif" ALT="Contents"></A><HR><H2><A NAME="s3">3. 设定用户端</A></H2><H2><A NAME="ss3.1">3.1 下载用户端的监控程序</A></H2><P><P><B>核心 2.0.x </B><P><P><P>不论你使用的是哪一种 Linux 的发行版本,你都必需下载用户端的监控程序。你所需要下载的程序套件称为 dhcpcd ,目前的版本编号是 0.70。你可在<A HREF="javascript:if(confirm('ftp://metalab.unc.edu/pub/Linux/system/network/daemons/dhcpcd-0.70.lsm  \n\nThis file was not retrieved by Teleport Pro, because it did not meet the project\'s file type specifications.  \n\nDo you want to open it from the server?'))window.location='ftp://metalab.unc.edu/pub/Linux/system/network/daemons/dhcpcd-0.70.lsm'" tppabs="ftp://metalab.unc.edu/pub/Linux/system/network/daemons/dhcpcd-0.70.lsm">此处</A> 阅读到这个套件的内容说明。(ftp://metalab.unc.edu/pub/Linux/system/network/daemons/dhcpcd-0.70.lsm)<P><P><P><B>核心 2.2.x </B><P><P><P>由于在核心 2.1.x 和 2.2.x 中 ipv4 的网络程序套件曾被修改过(例如,它会在许多栏位设定预设值)dhcpcd 无法正常运作。除非你使用的是 RedHat 6.x(它目前提供了 dhcpcd 1.3.x 和 2.2.x 的核心)否则你就必须下载另一个版本的 dhcpcd(即 1.3.x)来使用,这是 Sergei Viznyuk <CODE>sergei@phystech.com</CODE> 为了避免上述问题所修改的版本。你可以在以下几个地方取得:<P><P><P><UL><LI><A HREF="javascript:if(confirm('ftp://phystech.dyn.ml.org/pub/  \n\nThis file was not retrieved by Teleport Pro, because it did not meet the project\'s file type specifications.  \n\nDo you want to open it from the server?'))window.location='ftp://phystech.dyn.ml.org/pub/'" tppabs="ftp://phystech.dyn.ml.org/pub/">ftp://phystech.dyn.ml.org/pub/</A></LI><LI><A HREF="javascript:if(confirm('http://www.cps.msu.edu/~dunham/out/dhcpcd-1.3.6.tar.gz  \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?'))window.location='http://www.cps.msu.edu/~dunham/out/dhcpcd-1.3.6.tar.gz'" tppabs="http://www.cps.msu.edu/~dunham/out/dhcpcd-1.3.6.tar.gz">http://www.cps.msu.edu/~dunham/out/dhcpcd-1.3.6.tar.gz</A></LI></UL><P><P><P>接下来所做的说明都是以此为基本的原则。<P><H2><A NAME="ss3.2">3.2 安装在 Slackware 之上</A></H2><P><P>你可以从任何 Metalab 的“镜射”(mirror)站台或以下几个地方,下载最新的 DHCPcd 程序套件:<P><UL><LI><A HREF="javascript:if(confirm('ftp://ftp.cdrom.com/pub/linux/metalab/system/network/daemons/  \n\nThis file was not retrieved by Teleport Pro, because it did not meet the project\'s file type specifications.  \n\nDo you want to open it from the server?'))window.location='ftp://ftp.cdrom.com/pub/linux/metalab/system/network/daemons/'" tppabs="ftp://ftp.cdrom.com/pub/linux/metalab/system/network/daemons/">ftp://ftp.cdrom.com/pub/linux/metalab/system/network/daemons/</A></LI><LI><A HREF="javascript:if(confirm('ftp://metalab.unc.edu/pub/Linux/system/network/daemons  \n\nThis file was not retrieved by Teleport Pro, because it did not meet the project\'s file type specifications.  \n\nDo you want to open it from the server?'))window.location='ftp://metalab.unc.edu/pub/Linux/system/network/daemons'" tppabs="ftp://metalab.unc.edu/pub/Linux/system/network/daemons">ftp://metalab.unc.edu/pub/Linux/system/network/daemons</A></LI><LI><A HREF="javascript:if(confirm('ftp://ftp.kobe-u.ac.jp/pub/PC-UNIX/Linux/network/dhcp  \n\nThis file was not retrieved by Teleport Pro, because it did not meet the project\'s file type specifications.  \n\nDo you want to open it from the server?'))window.location='ftp://ftp.kobe-u.ac.jp/pub/PC-UNIX/Linux/network/dhcp'" tppabs="ftp://ftp.kobe-u.ac.jp/pub/PC-UNIX/Linux/network/dhcp">ftp://ftp.kobe-u.ac.jp/pub/PC-UNIX/Linux/network/dhcp</A>(主站台在日本)</LI></UL><P><P><P>下载最新版本的 dhcpcd.tar.gz 最新版本<P><UL><LI>将 dhcpcd.tar.gz 解开<P><P><CODE>tar -zxvf dhcpcd-0.70.tar.gz</CODE><P></LI><LI>切换至套件解开後的子目录里,并编译 dhcpcd 程序 <P><CODE>cd dhcpcd-0.70</CODE><P><CODE>make</CODE><P></LI><LI>安装套件 (你必须以 root 的身份执行以下的命令)<P><CODE>make install</CODE><P></LI></UL><P>这个命令会建立 /etc/dhcpc 这个子目录,DHCPcd 套件会把 DHCP 的信息储存在该处,并且将 dhcpcd 程序档复制到 /usr/sbin 这个子目录里。<P>为能够在开机时,系统设定初值期间,使用 DHCP 的功能,请做如下的设定:<P><CODE>cd /etc/rc.d</CODE><P><CODE>mv rc.inet1 rc.inet1.OLD</CODE><P><P>上面的动作会将旧有的网络初值设定“命令稿”(script)移转至 rc.inet1.OLD。接下来,你必须建立新的 rc.inet1 命令稿。下面的程序码包含了必需的设定内容:<P><HR><PRE>#!/bin/sh## rc.inet1      这个 shell 的命令稿会在开机时处理 INET 系统的基本设定。      HOSTNAME=`cat /etc/HOSTNAME` # 这个命令或许不是必需的,但是我还是                             # 将它保留了下来。# 附接上 loopback(绕回)装置。/sbin/ifconfig lo 127.0.0.1/sbin/route add -net 127.0.0.0 netmask 255.0.0.0 lo# 若你有乙太网络的连线,则使用下面的命令来设定 eth0 界面。# 若你只有 loopback 或 SLIP 的连线,则不要在这个档案里使用下面的命令。 /usr/sbin/dhcpcd</PRE><HR><P>存档案之後请将电脑重新开机。<P><P><P>当你完成以上的动作後,请跳至 <A HREF="#nameserver">最後的步骤</A><P><H2><A NAME="ss3.3">3.3 安装在 RedHat 5.x 和 RedHat 6.x 之上</A></H2><P><P>DHCPcd 的设定在 RedHat 5.0 与以上的版本其实很容易。你所要作的事情,就是启动“控制台”(Control Panel),请输入<P><P><P><CODE>control-panel</CODE><P><P><P><UL><LI> 选取 Network Configuration 的图像</LI><LI> 以鼠标单击 Interfaces 栏标</LI><LI> 以鼠标单击 Add 按钮</LI><LI> 选用 Ethernet 项目</LI><LI> 在 Edit Ethernet/Bus Interface 对话框中勾选 <B>"Activate interface at boot time"</B>项目以及选取 <B>DHCP</B> 做为 <B>Interface configuration protocol</B> 项目的输入。</LI></UL><P><P><P>当你完成以上的动作後,请跳至 <A HREF="#nameserver">最後的步骤</A><P><P><H2><A NAME="ss3.4">3.4 在 RedHat 4.x 与 Caldera OpenLinux 1.1 上的设定</A></H2><P><P>DHCPcd 在标准的 RedHat 版本中是以 RPM 的包装方式来发行的,你可以在其所发行的 CD-ROM 上的 RPMS 目录中找到它,或到下面的网址下载:<P><P><P><A HREF="javascript:if(confirm('ftp://ftp.redhat.com/pub/redhat/redhat-4.2/i386/RedHat/RPMS/dhcpcd-0.6-2.i386.rpm  \n\nThis file was not retrieved by Teleport Pro, because it did not meet the project\'s file type specifications.  \n\nDo you want to open it from the server?'))window.location='ftp://ftp.redhat.com/pub/redhat/redhat-4.2/i386/RedHat/RPMS/dhcpcd-0.6-2.i386.rpm'" tppabs="ftp://ftp.redhat.com/pub/redhat/redhat-4.2/i386/RedHat/RPMS/dhcpcd-0.6-2.i386.rpm">ftp://ftp.redhat.com/pub/redhat/redhat-4.2/i386/RedHat/RPMS/dhcpcd-0.6-2.i386.rpm</A><P><P><P>然後安装它,如下所示:<P><CODE>rpm -i dhcpcd-0.6-2.i386.rpm</CODE><P><P><P>或者,你可以按照 Slackware 那节所描述的方法,编译一个属于你自己的版本。<P><P><P><CODE>感谢 nothing nothing@cc.gatech.edu 提供以下的信息给我</CODE><P><HR><PRE>我把静态的 ip 位址或网域名称,从档案 /etc/resolv.conf 中移除。但是,我留下了search 和 nameserver 的设定行(因为某些原因我的 dhcpcd 服务器不会产生档案 /etc/dhcpc/resol.conf,所以我必须使用静态的 /etc/resolv.conf)。在档案 /etc/sysconfig/network 里,我移除了 HOSTNAME 与 GATEWAY 的设定行。但是,我保留了其它的设定行(NETWORKING、DOMAINNAME、GATEWAYDEV)。在档案 /etc/sysconfig/network-scripts/ifcfg-eth0 里,我移除了 IPADDR、NETMASK、NETWORK、和 BROADCAST 等设定行。但是,我保留了 DEVICE 和 ONBOOT 的设定行,并将BOOTPROTO 的设定行,修改成 BOOTPROTO=dhcp。最後储存档案,并将电脑重新开机。</PRE><HR><P>当你完成以上的动作後,请跳至 <A HREF="#nameserver">最後的步骤</A><P><H2><A NAME="ss3.5">3.5 安装在 Debian 之上</A></H2><P><P>你可以在下面的网址找到以 deb 方式包装的 DHCPcd 程序套件:<P><P><P><CODE><A HREF="javascript:if(confirm('ftp://ftp.debian.org/debian/dists/slink/main/binary-i386/net/dhcpcd_0.70-4.deb  \n\nThis file was not retrieved by Teleport Pro, because it did not meet the project\'s file type specifications.  \n\nDo you want to open it from the server?'))window.location='ftp://ftp.debian.org/debian/dists/slink/main/binary-i386/net/dhcpcd_0.70-4.deb'" tppabs="ftp://ftp.debian.org/debian/dists/slink/main/binary-i386/net/dhcpcd_0.70-4.deb">ftp://ftp.debian.org/debian/dists/slink/main/binary-i386/net/dhcpcd_0.70-4.deb</A></CODE><P>或者,你可以按照 Slackware 那节所描述的方法来安装。<P>要安装这个 deb 包装的程序套件,请输入:<P><CODE>dpkg -i /where/ever/your/debian/packages/are/dhcpd*deb</CODE><P><P><P>你几乎不必做任何的 DHCPcd 设定,因为:<CODE>From: Heiko Schlittermann (heiko@os.inf.tu-dresden.de)</CODE><P><P><P>这个 dhcpcd 的程序套件如同其它的 debian 套件一样,会将启动命令稿安装在/etc/init.d/&lt;package_name&gt; 之上,此处为 /etc/init.d/dhcpcd,并将之链结到各个 /etc/rc?.d/ 目录中。<P><P><P>在 /etc/rc?.d/ 目录中所存放的各类档案,是开机时所执行的命令稿。<P><P><P><P>如果你在安装後不想重新开机,你应该考虑使用人工启动“监控程序”(daemon) 的方式:<P><P><CODE>/etc/init.d/dhcpcd start</CODE><P>当你完成以上的动作後,请跳至 <A HREF="#nameserver">最後的步骤</A><P><H2><A NAME="ss3.6">3.6 在 LinuxPPC 与 MkLinux 上的设定</A></H2><P><P>下面这节是 R. Shapiro 撰写的。<P><P><P>由 Yoichi Hariguchi 所发展的版本 0.65 和 0.7 的 dhcpcd 程序应该可以在使用核心2.1.24 的 LinuxPPC 与 MkLinux 上正常执行,但是,你必须注意以下几个要点:<P><P><P>* 如果你想要或需要,透过原始程序码来建立可执行的档案,请注意,ppc linux 上的编译器会将 'char' 假定为 'unsigned char',但是,Hariguchi 的原始程序码确将'char' 假定为 'signed char'。所以,要透过原始程序码来产生执行档,你必须编辑Makefile,让 CFLAGS 中包含 "-fsigned-char" 这个选项。<P><P><P>* 目前 linuxppc [就是所谓的 linux-pmac] 平台上最稳定的版本是 2.1.24,需要的话可到下面的网址取得 dhcpcd 的修正码:<A HREF="javascript:if(confirm('http://www.cro.net/~vuksan/dhcppatch  \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?'))window.location='http://www.cro.net/~vuksan/dhcppatch'" tppabs="http://www.cro.net/~vuksan/dhcppatch">2.1 版的修正码</A>(http://www.cro.net/&nbsp;vuksan/dhcppatch)。mklinux 平台上所发行的 DR2.1 和 DR3.0 这两个版本,采用的是 2.0 的核心 (2.0.33),所以,不必使用这个修正码,但是,即使安装了这个修正码也没有什么伤害。请注意,linuxppc 安装光碟片上 dhcpcd 程序的 rpm 包装里,并不包含这个 2.1 修正码,因此,它在 linuxppc 平台上无法正常运作,反倒是,可以在 mklinux 平台上正常执行。<P><P><P><P>* 当我们使用 linuxppc 平台的 2.1.24 核心时,在 dhcpcd 程序启动之後,你会看到一个简短的路由器警告讯息。你可以忽略它。<P><P><P>* Hariguchi 的 dhcpcd 程序会花一些时间,大约是 30 秒,来完成它初次连接服务器和设定路由的动作。当我们使用的是 linuxppc 平台的 2.1.24 核心时,上述的警告讯息,只是在说明,路由已经设定完成了。<P><P><P>对于比较新版的 linuxppc 核心而言,由 Hariguchi 所发展的 dhcpcd 程序都无法使用:此时你 <B>必须</B> 改采 Sergei Viznyuk 所发展的版本(目前的发行版本为 1.3.9)。麻烦的是 Viznyuk 的 dhcpcd 程序是以 glibc 2 为函式库来发展的,然而 linuxppc 2.1.1xx 却不使用这个函式库。结果,编译程序需要用到一些技巧 - 相关的细节请与我联络。一旦程序编译好之後,它就能够在较新版的核心上正常运作了(在 linuxppc 的2.1.24 版本或 MkLinux 的部分版本上还是不行)。<P><P><P>现在我们来讨论 Viznyuk 所发展的 dhcpcd 程序,我手上有一个 Viznyuk 版的 dhcpcd(v1.3.7)执行档,可以在最近发行的 linuxppc 核心:2.1.102、103、115、和 119,上执行,并且已经完成测试。你应该可以透过原始程序码来产生执行档,但是,我不知道实际的细节。Viznyuk 版的 dhcpcd 无法在 2.1.24 的核心上运作,然而修补过的 Hariguchi 版的 dhcpcd 程序却可以正常使用。要编译 Hariguchi 版的 dhcpcd 程序就容易多了。<P><P><P>摘要整理如下:<P><P><P><HR><PRE>MkLinux:  Hariguchi: 可用; Viznyuk: 不可用2.1.24:   Hariguchi: 如果修正过,可以正常使用(产生执行档很容易); Viznyuk: 不可用2.1.102+: Hariguchi: 不可用; Viznyuk: 可用(产生执行档需要技巧) </PRE><HR><P><P><P>请注意,Viznyuk 版的 dhcpcd 会把资料直接写到 /etc/resolv.conf 里(写入之前会先备份旧有的档案),因此你不必再自己从 /etc/dhcpc 复制或链结相关的信息。同时也请注意它通常会把执行档放到 /sbin 目录中而不是放到 /usr/sbin 里,所以它的命令列选项与 Hariguchi 版本之间会有一点不同。若你使用 ifup 来启动 dhcpcd ,则 ifup 这个命令稿也必须做一些小的修正。<P>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -