我有一个嵌入式 VxWorks 目标,需要从我的 Ubuntu 计算机启动其内核。如何安装和运行 TFTP 服务器?
我之前使用的是 14.04,我能够设置并使 tftp 服务器和客户端工作。现在我升级到 14.10,tftp 服务器不再工作
这是我所做的:
安装软件包。
sudo apt-get install tftpd-hpa
Run Code Online (Sandbox Code Playgroud)编辑配置文件如下。
sudo vi /etc/default/tftpd-hpa
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-s -c -l"
Run Code Online (Sandbox Code Playgroud)创建 TFTP 文件夹。
sudo mkdir /tftpboot
sudo chmod -R 777 /tftpboot
sudo chown -R nobody /tftpboot
Run Code Online (Sandbox Code Playgroud)重新启动应用程序以应用新配置。
sudo service tftpd-hpa restart
Run Code Online (Sandbox Code Playgroud)(来源)
那个时候,我不知道那个tftpd-hpa
是TFTP服务器的包,tftp-hpa
是TFTP客户端的,所以我做的是为TFTP CLIENT安装另一个包。
安装以下软件包:
sudo apt-get install xinetd tftpd tftp
Run Code Online (Sandbox Code Playgroud)更改/etc/xinetd.d
目录权限。
sudo chmod –R 777 xinetd.d
Run Code Online (Sandbox Code Playgroud)在其中创建一个名为 tftp 的文件/etc/xinetd.d
并写入以下内容:
service tftp {
socket_type = dgram …
Run Code Online (Sandbox Code Playgroud)我一直在尝试使用我在网上找到的文章在新的 Ubuntu 14.04 版本上构建 TFTP 服务器数周,但我所有的尝试似乎都失败了,因为我安装的 TFTP 服务器似乎没有做出回应。无论我是 GET 还是 PUT,我总是收到超时错误。
我尝试过的最新文章是:
这两个都没有成功,每次都是 TFTP 客户端抱怨超时错误。
我已经向 UFW 和 iptables 添加(或至少我认为我有)规则以允许访问 UDP 端口 69,但没有任何成功。
我一直在从 mini.iso 文件构建我的基本 Ubuntu 14.04 操作系统,我从 Ubuntu 下载页面下载到在我的 Win7 pro 机器上运行的 VirtualBox VM(版本 4.3.8 r92456)。在初始构建期间没有安装其他软件包,但我在初始构建后安装了 SSH 和 NTP(两者似乎都在工作)。TFTP 客户端在我的 Win7 机器上运行,而 Ubuntu 机器有一个静态 IP 地址。
连接是从我的 Win7 机器上的远程 TFTP 客户端建立的。
$ netstat -apu
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 *:tftp …
Run Code Online (Sandbox Code Playgroud)