ネットワーク上の単一のデバイスにtelnetで接続し、telnetコマンドload
を使用してファイルをロードする分離サーバーがあります。別のPCで機能を再現しようとしています。古いコンピューターはCentOS6を実行し、私がセットアップしている新しいコンピューターはCentOS7を実行しています。
# tftp -v localhost
> get hello.txt
ハングし、1分後にタイムアウトします。 hello.txt
にファイル/var/lib/tftpboot
があります。このtftpboot
フォルダはnobody
が所有し、グループroot
に属しています。そのモードビットは777に設定されています。
同様に、単独のデバイスへのtelnetingは正常に機能しますが、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
}
このコンピューターに接続されている1つのデバイスに特定のIPアドレスを割り当てたいので、/etc/dhcp/dhcpd.conf
は1つの特定の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で正常に接続できることに注意してください。
'netstat -an|grep 69
'を使用して、tftpサーバーがポート69でリッスンしていることを確認します。リッスンしていない場合は、tftpを開始するためにxinetdデーモンをリロード/再起動する必要があります。
PS:また、IPv6に解決される可能性があるlocalhostの代わりにIPv4アドレス、つまり127.0.0.1を使用するようにしてください