我在我的 Ubuntu 服务器上运行 tftpf-hpa 来从我的 Cisco 设备发送/接收图像和配置。
今天它不起作用。即使我手动尝试,服务也无法启动。它没有告诉我为什么它无法启动。如果我用 strace 运行 start-stop-daemon,我会得到很多输出,但我看不出问题是什么。
我尝试切换到 atftpd,但是当它尝试写入我从思科交换机发送的文件时,核心会转储...这是我经常做的事情,而且以前总是有效。
我也尝试使用 tftpd 软件包,但 syslog 表明它正在尝试发送我要求交换机发送的文件,而不是接收它。交换机指示“权限被拒绝”是问题所在。为了使用 tftpd 进行测试,我将 /var/lib/tftboot 及其所有内容的所有权更改为 nobody:nogroup。
我在另一台运行 Ubuntu 20.04 的服务器上安装了 tftpd-hpa,并且运行正常。因此,我并没有陷入困境,但那是一台辅助服务器。
有人能帮我在主 Ubuntu 服务器上安装一个可用的 tftp 服务器吗?如果有办法解决这些问题,请告诉我。
答案1
我最终弄清楚了问题所在,现在我又有一个可以正常工作的 tftp 服务器了。
我最近禁用了此服务器上的 ipv6,禁用后,tftpd-hpa 需要添加 --ipv4 选项,这样它就不会尝试绑定到 ipv6,这会失败。使用其他软件时没有遇到过这种情况……大多数软件只是记录一条警告,说它无法绑定到 ipv6。
这些是我现在在 /etc/default/tftpd-hpa 中拥有的选项:
TFTP_OPTIONS="--secure --ipv4 --create --permissive --umask 027"