为使用TFTP网络引导准备文件

来源:软件水平考试    发布时间:2012-11-04    软件水平考试视频    评论

  如果您的机器连接到了一个局域网,您可以从网络上的另外一台机器上面通过 TFTP 来引导它。如果您倾向从另外一台机器上面引导安装系统,则引导文件需要放在那台机器上面的某个特殊地方,并且配置好能够能够支持对您的机器进行引导。
  您需要设置一台 TFTP 服务器,并且对于很多机器来说,还需要一台 DHCP 服务器 。
  DHCP (Dynamic Host Configuration Protocol) 是一个更灵活,向后兼容的 BOOTP 扩展。有些系统只能通过 DHCP 来配置。
  普通文件传输协议(Trivial File Transfer Protocol (TFTP))被用于为客户提供引导映像。理论上,任意服务器,在任意平台上只要实现了这些协议就都能够被应用。在这一节的一些例子里面,我们将提供在 SunOS 4.x、SunOS 5.x (即 Solaris) 和 GNU/Linux 上面的一些操作例子。
  设置 DHCP 服务器
  一个 DHCP 服务器自由软件是 ISC dhcpd。对于 Debian GNU/Linux,推荐使用 dhcp3-server 软件包。这里是它的一个简单的配置示例文件(参阅 /etc/dhcp3/dhcpd.conf):
  option domain-name "example.com";
  option domain-name-servers ns1.example.com;
  option subnet-mask 255.255.255.0;
  default-lease-time 600;
  max-lease-time 7200;
  server-name "servername";
  subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.200 192.168.1.253;
  option routers 192.168.1.1;
  }
  host clientname {
  filename "/tftpboot/tftpboot.img";
  server-name "servername";
  next-server servername;
  hardware ethernet 01:23:45:67:89:AB;
  fixed-address 192.168.1.90;
  }
  在这个例子中,一台服务器 servername 负责执行包括 DHCP 服务器、TFTP 服务器和网关在内的所有工作。您需要修改域名选项,以及服务器名和客户端硬件地址。filename 选项应该是将要从 TFTP 获取的文件名。
  在编辑了 dhcpd 配置文件后,您需要使用下面的命令重新启动:/etc/init.d/dhcpd3-server restart。
  开启 TFTP 服务器
  要准备好 TFTP 服务器,您首先需要确定 tftpd 已经启动。这通常可以在 /etc/inetd.conf 添加如下字句来实现:
  tftp dgram udp wait nobody /usr/sbin/tcpd in.tftpd /tftpboot
  Debian 包通常在安装后会自动把这条设置好。
  注意
  因为历史原因,TFTP 服务器使用 /tftpboot 作为映像文件目录。然而,Debian GNU/Linux 软件包遵守 Filesystem Hierarchy Standard 使用其他的目录。例如,tftpd-hpa 默认使用 /var/lib/tftpboot。您或许要适当地调整一下配置文件示例。
  检查 /etc/inetd.conf 文件记住被用作 in.tftpd 的参数的目录[2],您接下来将会需要它。如果必须修改 /etc/inetd.conf,您一定要提醒正在运行的 inetd 进程,该文件已经修改。在 Debian 系统中,应该执行 /etc/init.d/inetd reload;而在其它系统中,找到 inetd 所对应的进程 ID,并执行 kill -HUP inetd-pid。
  如果您想要在一台 SGI 上安装 Debian 并且您的 TFTP 服务器是一台运行 Linux 2.4 的 GNU/Linux 机器,需要对服务器进行如下设置:
  # echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc
  来关闭 Path MTU 查询,否则 SGI 的 PROM 不能下载内核。而且,您还要确保 TFTP 数据包是从一个不大于 32767 的端口送出,否则在第一包之后,下载将停止。重申一下,这是由于 Linux 2.4.X 触发了 PROM 里的一个 bug。您可以通过如下设置:
  # echo "2048 32767" > /proc/sys/net/ipv4/ip_local_port_range
  调整 Linux TFTP 服务器使用的源端口范围以避开这个错误。
  将 TFTP 映像放到适当的位置
  接下来,将 第 4.2.1 节 “在哪里能找到安装映像” 中找到的 TFTP 启动映像放置到 tftpd 引导映像目录中。您可能需要将该文件链接到 tftpd 所使用的引导特定客户端的文件名。不幸的是,这个文件名完全决定于 TFTP 客户程序,而且没有一个强制的标准。
  SGI TFTP 引导
  在 SGI 机器上您可以依靠 bootpd 来给出 FTFP 文件的名字。它既可以是以 bf= 形式在 /etc/bootptab 文件中设定,也可以是以 filename= 选项形式出现在 /etc/dhcpd.conf。
  Broadcom BCM91250A 与 BCM91480B TFTP 引导
  您不需要通过特殊方法设置 DHCP,因为您将传递文件的完全路径至装载的 CFE 。

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答