web-dev-qa-db-ja.com

CentOS7でTFTPがタイムアウトする

ネットワーク上の単一のデバイスに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で正常に接続できることに注意してください。

1
paperduck

'netstat -an|grep 69'を使用して、tftpサーバーがポート69でリッスンしていることを確認します。リッスンしていない場合は、tftpを開始するためにxinetdデーモンをリロード/再起動する必要があります。

PS:また、IPv6に解決される可能性があるlocalhostの代わりにIPv4アドレス、つまり127.0.0.1を使用するようにしてください

1
VenkatC