我有一个在 Fedora 平台上运行的 tftp 服务器。
我尝试从 tftp 客户端连接到端口 69 上的 tftp 服务器,并尝试从服务器获取文件。
从客户端读取请求后,服务器端口将更改为随机。
是否有可能仅在定义的端口(例如:5800)上运行 tftp 服务器?
注意:TFTP 客户端是用 C 程序编写的。
答案1
不,tftp 固定运行在端口 69 上。您无法更改这一点。好吧,您可以,因为大多数服务器允许您更改端口,但客户端(尤其是嵌入硬件的客户端)会要求 tftp 运行在端口 69 上。
如果您确实想要这样做,您必须使用 iptables 将流量从 69 重定向到您任意选择的那个。
答案2
大多数 tftpd 服务器通过 inetd 运行,因此端口将在那里配置。根据您使用 inetd 还是 xinetd,配置将分别是 /etc/inetd.conf 或 /etc/xinetd/。
答案3
TFTP 使用端口 69 进行控制链路(发送读/写请求),服务器将从新分配的端口发回数据。
如果您希望该端口为静态端口,则可能必须修改 tftp 服务器的源代码。