ネットワーク上の単一のデバイスにtelnetで接続し、telnetコマンドを使用してファイルをロードするスタンドアロンサーバーがありますload
。別のコンピュータでその機能を再現しようとしています。既存のコンピュータはCentOS 6を実行し、設定した新しいコンピュータはCentOS 7を実行しました。
# tftp -v localhost
> get hello.txt
1分後に中断され、タイムアウトします。hello.txt
にファイルがあります/var/lib/tftpboot
。フォルダtftpboot
はグループが所有し、nobody
グループに属しますroot
。モードビットは777に設定されます。
同様に、単一のデバイスの Telnet は正常に動作しますが、load
コマンドがタイムアウトします。
これまで、次のコマンドを使用してこれをインストールしました#yum install <package-name>
。
systemlinux
tftp
dhcp
#ps -e | grep -i ftp
何も返しません。
#ps -e | grep -i inet
1241 ? 00:00:00 xinetd
/etc/xinetd.d/tftp
次のようになります。
service tftp
{
disable = no
socket_type = dgram
protocol = udp
port = 69
wait = yes
user = root
server = /user/sbin/in.tftpd
server_args = -vs /var/lib/tftpboot
per_source = 11
cps = 100 2
flags = IPv4
}
このコンピュータに接続されているすべての個々のデバイスに特定のIPアドレスを割り当てたいので、/etc/dhcp/dhcpd.conf
特定のIPアドレスを割り当てます。
authoritative;
subnet 169.254.0.0 netmask 255.255.0.0 {
range 169.254.0.100 169.254.0.100;
max-lease-time 10;
}
DHCP機能はうまく機能し、個々のネットワークデバイスはIPアドレスを受信するので、Telnetで接続できます。
答え1
tftpサーバーが「」を使用してポート69でリッスンしていることを確認してくださいnetstat -an|grep 69
。そうでない場合は、tftpを起動するためにxinetdデーモンを再ロード/再起動する必要があります。
PS:また、IPv6として識別されるlocalhostの代わりにIPv4アドレス(例:127.0.0.1)を使用する必要があります。