我有一个嵌入式 VxWorks 目标,需要从我的 Ubuntu 计算机启动其内核。如何安装和运行 TFTP 服务器?
在 Ubuntu 的世界中,您似乎要么总是运行 FTP 服务器,要么从未运行过。也许我是第一个需要使用 Ubuntu 刷新 Cisco、Checkpoint 或 Nokia 映像的网络分析师……我需要一个 FTP 服务器大约 5 分钟,仅此而已。
我正在寻找一个简单的、用户启动的 FTP 服务器。我知道它可能必须与 sudo 一起运行。没关系 - 但我想像普通程序一样启动/停止它。
在 Windows 平台上,这样的工具不胜枚举——我使用 3CDaemon 多年,最近发现了 CoreFTP。两者都很棒。您配置一个用户,将其指向一个目录,然后点击“开始”按钮。几分钟后,您通常已完成并点击“停止”按钮。任务完成。
Ubuntu 上似乎不存在此类工具。我发现了一个Google Code 项目,它可以相当好地创建一个 TFTP 实例(假设它仍然在运行——我已经有大约一年没有使用它了,而且 python 已经开始使用了),但是 FTP 怎么样?外面有什么吗?
我有一台运行 Ubuntu 12.04 的笔记本电脑,它使用 NetworkManager 通过 eth0 接口与另一台机器共享其 wifi 连接。这似乎是由 dnsmasq 完成的。
现在我需要在另一台机器上设置 PXE/TFTP 启动,所以我想配置通过 NetworkManager 产生的 dnsmasq 实例为 PXE/TFTP 添加几行。这是怎么做的?它似乎忽略了 /etc/dnsmasq.conf。
以前的答案似乎表明配置被硬编码到 NetworkManager 中。现在还是这样吗?如果是这样,是否有一种简单的方法可以实现我在这里要做的事情?我想我可以在 NetworkManager 中禁用网络共享并手动设置它,但如果可能的话,我宁愿将这一切都集中在一个地方。
编辑:确实,似乎 dnsmasq 配置仍然在 NetworkManager 中硬编码。请参阅此处的来源。在我看来,在这里简单地指定一个备用的 dnsmasq.conf 文件会是一个更好的解决方案,但我确信有些问题我没有考虑过。
我已经在 Ubuntu 12.04 上安装了 atftpd,但看起来我无法启动 tftp 服务器,而且 tftpd 守护进程也有问题。使用 Ubuntu 11.10 没有问题。
ureadahead will be reprofiled on next reboot
atftpd (0.7.dfsg-11) wird eingerichtet ...
unknown protocol: udp4
Run Code Online (Sandbox Code Playgroud)
使用 rlinetd 以及作为守护程序,它不起作用。
与ps -afe我没有看到过程。
/var/log/syslog 说它不能绑定到IP地址。
使用选项--bind-adress atftpd 服务器启动但也不起作用。
我有一个 52 u 机架,带有多个 cisco 交换机和路由器。我还有一个安装了 kvm 的 ubuntu 服务器。我创建了一个安装了 ubuntu 12.04 的虚拟机,用作 tftp 服务器在它和我的网络设备之间传输图像。我根据本网站和其他网站上的各种指南在其上安装了 tftp-hpa、tftpd-hpa 和 xinetd。
在经历了很多痛苦和挫折之后,我能够在主机和我的 Windows 机器上本地进行 tftp。问题是我必须使用以下命令为 /var/lib/tftpboot 目录中的“nobody”用户下的每个要上传到服务器的文件创建空文件:
sudo -u nobody sh <<< "cd /var/lib/tftpboot; touch filename; chmod 777 filename"
Run Code Online (Sandbox Code Playgroud)
BOTTOM LINE UP FRONT:我只想能够“tftp put”我想要的任何文件,而不必先使用上面的命令来创建一个文件。在我开始破坏昂贵的东西之前,请帮助我!这是我的 xinetd.d tftp 配置:
service tftp
{
disable = no
socket_type = dgram
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -v -s /var/lib/tftpboot
}
Run Code Online (Sandbox Code Playgroud) 我对 Ubuntu 14.04 版有点陌生:
没有可用的 LSB 模块。
我正在尝试设置 tftp 服务器,主要用于备份 cisco ios 配置。我已经按照我可以的所有教程进行了操作,但一无所获。问题好像是超时了,等待客户端的写请求:
在我尝试转移之前:
ps -aux | grep tftp
root 7804 0.0 0.0 15128 160 ? Ss 10:48 0:00 /usr/sbin/in.tftpd --listen --user tftp --address 0.0.0.0:69 --secure -c -vv -i /var/lib/tftpboot
Run Code Online (Sandbox Code Playgroud)
在我使用 Windows 7 tftp 客户端发送放置请求后:
jarrod@Dangerfield:~$ ps -aux | grep tftp
root 7804 0.0 0.0 15128 160 ? Ss 10:48 0:00 /usr/sbin/in.tftpd --listen --user tftp --address 0.0.0.0:69 --secure -c -vv -i /var/lib/tftpboot
tftp 8819 0.0 0.0 15132 632 ? S …Run Code Online (Sandbox Code Playgroud) 我之前使用的是 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)系统信息:
Linux ravi-Inspiron-N5010 3.13.0-46-generic #79-Ubuntu SMP Tue Mar 10
20:08:14 UTC 2015 i686 i686 i686 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
使用 Ubuntu 14.04.2 LTS。
我正在努力运行 tftp localhost。
尝试过:
root@ravi-Inspiron-N5010:/home/ravi/Desktop# service tftpd-hpa restart
tftpd-hpa stop/waiting
tftpd-hpa start/running
root@ravi-Inspiron-N5010:/home/ravi/Desktop# service tftpd-hpa status
tftpd-hpa start/running
Run Code Online (Sandbox Code Playgroud)
现在我收到错误:
root@ravi-Inspiron-N5010:/home/ravi/Desktop# tftp 127.0.0.1
tftp> put test
Error code 2: Access violation
tftp>
Run Code Online (Sandbox Code Playgroud)
我试图放置的文件的权限是:
root@ravi-Inspiron-N5010:/home/ravi/Desktop# ls -ld test
-rwxrwxrwx 1 ravi ravi 0 Mar 21 20:09 test
Run Code Online (Sandbox Code Playgroud)
/tftpboot文件夹的权限:
root@ravi-Inspiron-N5010:/# ls -ld tftpboot/
drwxrwxrwx 2 nobody root 4096 Mar 15 15:34 tftpboot/
Run Code Online (Sandbox Code Playgroud)
附加信息 …
我查看了以下问题但没有成功:
我尝试过使用 tftp-hpa、atftpd 和 tftp。我又回到了 tftp,因为使用其他的没有什么区别。
到目前为止我有:
安装了tftp
sudo apt-get install xinetd tftpd tftp
Run Code Online (Sandbox Code Playgroud)
设置/etc/xinetd.d/tftp
service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = /tftpboot
disable = no
}
Run Code Online (Sandbox Code Playgroud)
创建 /tftpboot 文件夹并为其运行以下命令:
sudo chmod -R 777 /tftpboot
sudo chown -R nobody /tftpboot …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) 我想在tftp不进入“tftp命令行”的情况下执行命令。
我尝试了以下命令:
tftp xx.xx.xx.xx -c put file1 file2
tftp xx.xx.xx.xx -m binary -c file1 file2
Run Code Online (Sandbox Code Playgroud)
但我得到了:
usage:tftp host-name [port]
tftp>
Run Code Online (Sandbox Code Playgroud)
在“用法:”消息之后,它进入tftp命令行。
我已经在打开详细选项的情况下尝试过。
我只想知道我给出的命令是否正常工作。“用法:”消息使它看起来好像不是tftp命令的正确用法。
此命令将从 Bash 文件中调用,该文件将从我正在处理的 CLI 应用程序中调用。
我已遵循此链接上的建议:https : //superuser.com/questions/581812/put-file-with-tftp-client-in-linux
tftp ×11
server ×6
networking ×4
permissions ×2
12.04 ×1
14.04 ×1
14.10 ×1
bash ×1
command-line ×1
dnsmasq ×1
ftp ×1
iptables ×1
pxe ×1
upstart ×1