我有一个现有的 PXE syslinux 环境,我想设置一个类似的基于 EFI 的网络引导环境。
我非常喜欢下面的屏幕截图中显示的各种菜单,我想找到类似的东西。
理想的功能是:
什么软件可以满足这些需求?
![]()
操作系统是Scientific Linux 6.3(类似于redhat、centos和fedora),我安装了dnsmasq,配置如下
interface=eth1
domain=hpclab
expand-hosts
dhcp-range=10.0.2.51,10.0.2.100,static
dhcp-option=42,0.0.0.0
dhcp-boot=pxelinux.0
enable-tftp
tftp-root=/var/lib/tftpboot
dhcp-host=08:00:27:69:73:7A,ws04,10.0.2.51
Run Code Online (Sandbox Code Playgroud)
和当前节点(运行 dnsmasq)有这个 ip
eth1 Link encap:Ethernet HWaddr 08:00:27:A9:20:C0
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fea9:20c0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Run Code Online (Sandbox Code Playgroud)
但是,尝试启动 dnsmasq 服务时出现错误
[root@localhost mahmood]# /etc/init.d/dnsmasq status
dnsmasq is stopped
[root@localhost mahmood]# /etc/init.d/dnsmasq start
Starting dnsmasq:
dnsmasq: failed to create listening socket: Address already in use
[FAILED]
Run Code Online (Sandbox Code Playgroud)
netstat 命令显示以下信息
[root@localhost mahmood]# netstat -anlp | grep -w LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1252/rpcbind
tcp 0 …Run Code Online (Sandbox Code Playgroud) 我在 VirtualBox VM 中运行 Ubuntu 12.04。我已经安装了这个tftpd-hpa包。我用它来启动一个嵌入式 Linux 系统,我注意到在我的虚拟机第一次启动时,它不起作用,但重新启动tftpd-hpa服务使它每次都能工作,直到下次启动。
今天,我运行了德州仪器 (TI) 的一个 shell 脚本,该脚本可能会破坏我的 tftpd 配置,现在我根本无法让它工作。我能够连接,但传输超时,甚至到本地主机(我也尝试过 127.0.0.1):
steve@steve-VirtualBox:~$ tftp
tftp> connect localhost
tftp> status
Connected to localhost.
Mode: netascii Verbose: off Tracing: off
Rexmt-interval: 5 seconds, Max-timeout: 25 seconds
tftp> get zImage
Transfer timed out.
tftp>
Run Code Online (Sandbox Code Playgroud)
请注意,/var/lib/tftpboot/zImage确实存在,但是对于不存在的文件,我得到了完全相同的行为。
以下是内容/etc/default/tftpd-hpa:
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
Run Code Online (Sandbox Code Playgroud)
这是/etc/xinetd.d/tftp:
service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user …Run Code Online (Sandbox Code Playgroud) 我在 Centos 5.4 服务器上通过 xinetd 运行 TFTPD。我可以通过 tftp 很好地访问文件,所以我知道服务运行正常。但是,每当我尝试上传文件时,都会收到 0 Permission denied 消息。
我已经在 /tftpboot 中创建了该文件并将权限设置为 666。
我的 tftpd 配置有详细的日志记录 (-vvvv),但我在 /var/log/messages 中看到的是:
开始:tftp pid=20383 from=192.168.77.4
我看到有人提到 SELinux 可以阻止 TFTPD 上传,但我希望在日志中看到一些内容。我将 SELinux 设置为许可模式。
有任何想法吗?
我有许多 Cisco IP 电话以以下方式运行(过于简化):
这里的问题是我有一些电话需要放在小型办公室或人们的家中。我需要能够随时更新配置文件,所以我不能只是预先配置手机并将其发送出去。如何通过 Internet 确保 TFTP 访问安全并防止未经授权的人访问配置文件?我知道我可以执行基于 IP 的 ACL,但这并不能阻止有人欺骗 IP 的可能性。
我在 ESX 4.0 机器上的 Windows Server 2008 R2 上运行 Windows 部署服务。这是此 VM 实例的唯一功能,尽管它以前用作 AD 域控制器。我的 DHCP 服务器在我们的主域控制器上运行,它也是 Server 2008 R2,但在金属上运行。一切都运行良好,直到最近我们的备用发电机在停电期间发生故障,导致我们所有的服务器和网络设备断电一段时间。当我们把所有的设备都带回来时,除了WDS之外,一切都按预期工作。
我们的网络被分成几个不同的 vlan。现在,根据客户端计算机所在的 vlan,尝试 PXE 引导到 WDS 时它的行为会有所不同。我们的服务器位于 10.55.xx vlan,由于其性质,其中没有活动的 DHCP 服务器。我们插入的第一台计算机恰好在 10.99.xx 的 vlan 中,该 vlan 应该是为网络管理设备(即交换机)保留的,但我们偶尔会在其他情况下使用它。那台计算机给了我们 PXE-E11 ARP 超时错误。当我们移动到 10.19.xx VLAN 上的另一台计算机(用于一般用途)时,它最终从 DHCP 获取 IP,但它向我们展示了一个非常棘手的 PXE-E32 TFTP 打开超时错误。在停电之前,设备在哪个 vlan 上并不重要;它会 PXE 启动和映像就好了。
我没有对服务器端的任何内容进行任何更改。一切都以与断电前在我的 WDS 和 DHCP 服务器上完全相同的方式进行配置。我试过几台不同的电脑,包括不同的型号。所有这些,再加上取决于 vlan 的古怪行为,让我觉得我们的一个或多个交换机出了问题,可能是因为停电。不幸的是,我不是网络专家,我对如何正确配置我们的交换机知之甚少。
这是开关等的问题吗?如果是这样,我该如何解决?是否有一些我不知道的神奇选择?有没有人有任何预感?我已经用尽了我的想法。
我正在尝试在 CentOS 6.2 上设置 TFTP 服务器。该/etc/xinet.d/tftp配置文件如下:
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot -vvv
per_source = 11
cps = 100 2
flags = IPv4
}
Run Code Online (Sandbox Code Playgroud)
selinux 和防火墙被禁用。在/etc/hosts.allow和/etc/hosts.deny文件是空的。当我尝试从 TFTP 服务器获取文件时,文件传输总是失败,我看到以下错误/var/log/messages
Jul 11 03:16:53 localhost xinetd[4155]: xinetd Version 2.3.14 started with libwrap loadavg labeled-networking options compiled in.
Jul 11 03:16:53 localhost xinetd[4155]: Started working: 1 available service …Run Code Online (Sandbox Code Playgroud) 背景: WDS Server 2012 R2(在 2012 R2 Hyper-v 服务器上运行),DHCP 服务器在不同物理 LAN 中的不同服务器上运行。两个 LAN 都进入同一个第 3 层交换机。目前,我所有使用 PXE 引导的客户端都与 WDS 服务器位于同一 LAN。我还在 WDS 服务器上设置了安装和启动映像,还使用了服务器设置和 TFTP 块大小。尝试设置 udp 端口范围并允许 WINsock 提供它们。我也未初始化,然后也初始化了 WDS 服务器。此外,我还尝试添加 DHCP 选项 66,67 和 60,但是在我的 DCHP 服务器上添加 DCHP 选项似乎让事情变得更糟,我得到了不同的错误。
问题:每 10 次尝试中有 3-4 次网络引导成功,我可以从 WDS 服务器安装映像。但是,很多时候客户端找到 WDS 服务器,但在 TFTP 传输过程中失败以获取引导映像。我收到以下错误:
TFTP 重启失败 TFTP 下载失败
我在网上发现很多人都有这个错误,但对他们来说,它要么总是失败,要么就是工作正常。对我来说,更多的是她爱我她爱我而不是关系。
关于为什么这有时有效而很多时候无效的任何想法?我的设置详述如下。
====WDS 服务器属性==== PXE 响应选项卡 -PXE 响应策略响应所有客户端(已知和未知) -PXE 响应延迟 5 秒
AD DS 选项卡保留默认设置
引导选项卡 PXE 引导策略 - 已知客户端:除非用户按下 ESC 键,否则继续 PXE 引导 …
tftp wds pxe-boot windows-server-2012-r2 hyper-v-server-2012-r2
我正在尝试 pxe 启动一台机器(客户端),在此过程中我尝试设置一个 tftp 服务器,该服务器可以启动该机器。
在运行 Ubuntu 10.10 的服务器上,我设置了 dhcp、dns、nfs 和 tftp-hpa 服务器。所有服务器/守护进程都开始正常。我通过使用 tftp 客户端并下载服务器目录托管的文件来测试 tftp 服务器。
我的 /etc/xinet.d/tftp 看起来像这样
service tftp
{
disable = no
socket_type = dgram
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = -v -s /var/lib/tftpboot
only_from = 10.1.0.0/24
interface = 10.1.0.1
}
Run Code Online (Sandbox Code Playgroud)
我的 /etc/default/tftpd-hpa 看起来像这样
RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
Run Code Online (Sandbox Code Playgroud)
我的/var/lib/tftpboot/目录看起来像这样
initrd.img-2.6.35-25-generic-pae
vmlinuz-2.6.35-25-generic-pae
pxelinux.0
pxelinux.cfg
-- default
Run Code Online (Sandbox Code Playgroud)
我做到了
sudo chmod 644 /var/lib/tftpboot/pxelinux.cfg/default
chmod 755 /var/lib/tftpboot/initrd.img-2.6.35-25-generic-pae
chmod 755 …Run Code Online (Sandbox Code Playgroud) 这看起来应该很简单,但我找不到任何实际信息:是否有可能有两个单独的服务器,一个运行 dnsmasq 执行 DHCP,而 TFTP(或 HTTP)服务器在另一台机器上运行?