所以,我已经使用 Ubuntu 多年了,并且擅长寻找解决方案,但我完全被难住了,而我能找到的帮助假设我知道这些文件在哪里.....
我设置了 2 个客户端作为瘦客户端,并设法使一切正常运行,但在尝试使用瘦客户端时响应时间太慢,而且没有 youtube 等多媒体,它对我的目的毫无用处。所以,我决定尝试使用胖客户端。做了很多事情后,我清除并重新安装了 Ubuntu 16.04LTS,并开始了胖客户端安装过程。
因此,我遵循了以下步骤(https://help.ubuntu.com/community/UbuntuLTSP/FatClients) 设置一个胖客户端,这样我就可以让 2 个客户端连接到我家里的服务器。
“本地化”部分让我困惑,但它看起来是我并不关心的东西,因为使用客户端的人只是想上网和查看电子邮件。
我能够毫无问题地创建 debconf.seeds 文件。
我不使用 Oneiric,所以我不关心下一部分。
我构建了客户端(是的,这花了很长时间),一切似乎都很好。我连接好一切进行测试,结果出现错误 PXE-e53 No Boot Filename received。
现在,作为瘦客户端,它可以连接并加载,但现在作为胖客户端,我收到此错误。我进行了一些搜索,找到了对 lts.conf 和 dhcpd.conf 文件的引用,但我在任何地方都找不到它们。这些文件可能是我收到此错误的原因吗?
如果是,这些文件中应该包含什么内容?我应该在哪里创建它们?我在网上找到的帮助假定我知道我要用这些东西做什么,虽然我反应很快,但网络并不是我的强项。
答案1
我首先感到困惑,因为胖客户端通常不是 LTSP 所称的。胖客户端是一台传统 PC,其本地硬盘包含操作系统和应用程序等。
LTSP 的“胖客户端”实际上是“适合客户端”:没有本地硬盘,但一切仍在本地运行。您的适合客户端从远程服务器安装其分区并从那里运行。
您的前瘦客户端尝试 PXE 启动。我猜您的 Fit/Fat 客户端也必须进行 PXE 启动。因此它必须从 DHCP/PXE 服务器获取 IP 配置。此配置必须具有 IP 地址、网络掩码等,以及“网络启动文件名”(dhcp 选项 66,有时在 dhcpd.conf 或 bootpd.conf 中命名为“filename”),以及可选的 TFTP 服务器 IP 地址(在 dhcpd.conf 或 bootpd.conf 中命名为“next-server”),以便从中下载启动文件名。如果没有提供 TFTP 服务器,客户端通常会假定 DHCP/PXE 服务器也是 TFTP 服务器。
所有这些都是通过您的 DHCP 或 PXE 服务器配置完成的。如果网络上有另一个 DHCP/PXE 服务器(例如您的有线/DSL 网关中的服务器),则此 DHCP 服务器不会将所需的详细信息发送给您的客户端。但 PXE 服务器可以。PXE 服务器也称为代理 DHCP 服务器。
然后,运行 LTSP 服务器的 PC 可以充当 DHCP 服务器或 PXE 服务器并提供正确的详细信息。如果您安装了 ltsp-server-standalone(而不是 ltsp-server),则软件包中应该有一个 dhcp 服务器。然后,您必须确保重新启动网络和 dhcpd 服务:
sudo service networking restart
sudo service ltsp-server restart
sudo service isc-dhcp-server restart
sudo service dnsmasq restart
(我不知道 ltsp-server-standalone 包如何管理 DHCP 和/或您是否安装或配置了特定的 dhcp 服务器。它可以使用 isc-dhcp-server、dnsmasq 或其他东西。您可能必须使用 ltps-config 运行或更新您的配置,如下所述:http://wiki.ltsp.org/wiki/Ltsp-config)。
看来 dhcp 服务器 conf 可能在这里(如果您使用 isc-dhcp-server):
/etc/ltsp/dhcpd.conf
如果您使用 dsnmasq,请尝试找到 dnsmasq.conf(可以在 /etc/ltsp/dnsmasq.conf 或 /etc/dnsmasq.conf 中)
可以确定的是,你必须确保Fit客户端的网络启动文件名正确。
因此,您必须找出哪个 dhcp 服务器应该提供 IP 地址。如果您的网络上运行着另一个 dhcp 服务器,则应运行 dnsmasq 作为您的 PXE 服务器(又称为 DHCP 代理)。查看此页面以了解更多见解,例如: https://help.ubuntu.com/community/UbuntuLTSP/ProxyDHCP
答案2
从代码来看,您收到的错误是由网络适配器的 PXE ROM 生成的:
PXE-e53 No Boot Filename received
无法从 DHCP 服务器获取 PXE 引导加载程序的文件名(即
pxelinux.0
:)。LTSP 的默认设置取决于
isp-dhcp-server
首先查看哪个配置文件:/etc/ltsp/dhcpd.conf
如果不存在,则将其置于其自身:
/etc/dhcp/dhcpd.conf
供参考,请阅读此评论
$ more /etc/dhcp/dhcpd.conf # # Sample configuration file for ISC dhcpd for Debian # # Attention: If /etc/ltsp/dhcpd.conf exists, that will be used as # configuration file instead of this file.
如果修改了,则唯一的例外是:
$ more /etc/default/isc-dhcp-server # Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf). #DHCPD_CONF=/etc/dhcp/dhcpd.conf
或者您正在使用另一个 DHCP 服务器(该服务器已经占用了监听端口)
一些调试提示:
我建议检查 DHCP 服务器是否正在运行并正确配置,如果您需要更多帮助,请在问题中添加更多信息:
sudo netstat -lunp
more /etc/dhcp/dhcpd.conf
您也可以尝试使用dhcpdump
和进行调试dhcping -V