web-dev-qa-db-ja.com

tftpd-hpaサーバー(クライアント側からのタイムアウト)助けてください

私はUbuntuのバージョン14.04に少し慣れています。
使用可能なLSBモジュールはありません。

主にCisco iosの設定をバックアップするために、tftpサーバーをセットアップしようとしています。私はできる限りすべてのチュートリアルに従ってきましたが、どこにも行き当たりません。問題は、クライアント側からの書き込み要求を待っているタイムアウトのようです:

転送を試みる前に:

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

Windows 7 tftpクライアントを使用してputリクエストを送信した後:

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    11:04   0:00 /usr/sbin/in.tftpd --listen --user tftp --address 0.0.0.0:69 --secure -c -vv -i /var/lib/tftpboot

2番目の接続が開かれ、タイムアウトすることがわかります。

次に、空のファイルを作成します。

-rw-rw-rw- 1 tftp tftp 0 Apr 28 11:04 AcousticList.txt

ディレクトリ内:

drwxrwxrwx 2 tftp tftp 4096 Apr 28 11:04 tftpboot

これらは私のデフォルトです:

:/etc/default$ more tftpd-hpa
# /etc/default/tftpd-hpa

#RUN_DAEMON="yes"
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure -c -vv -i"

ファイルを作成するための-c、1つのディレクトリに対して安全な、詳細なログのための-vvがあります。ヘルプファイルの1つにiオプションが見つかりました。それを追加しても、助けにも傷もありませんでした。常に同じことを行います。
UFWは無効です。

/etc/default$ Sudo service ufw status
ufw stop/waiting

これを止めるものは他にありません。

ルートおよびtftpユーザープロセスを-9で強制終了します。ルートプロセスはすぐにリッスンを再開します。 tftpユーザープロセスは、tftp転送を開始したときにのみ開始されます。これはupstartを使用しているだけです。私は同じ結果でスタンドアロンで実行しようとしました。

in.tftpd[8897]: WRQ from 192.168.0.6 filename AcousticList.txt

wiresharkSudo tcpdump -vvv -i eth0 | grep tftpを実行してみました

書き込み要求が送られてくる以上に実際にそれ以上進んでいないので、クライアント側でタイムアウトが発生します。

誰かが私を助けることができれば、私は行き止まりにいるので本当に感謝しています。

6
Jar_rod

このように私のために働く

以下のパッケージをインストールします。

Sudo apt-get install xinetd tftpd tftp

/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
}

/tftpbootフォルダーを作成します。これは、server_argsで指定したものと一致する必要があります。ほとんどはtftpbootになります

Sudo mkdir /tftpboot
Sudo chmod -R 777 /tftpboot
Sudo chown -R nobody /tftpboot

Xinetdサービスを再起動します。

Sudo /etc/init.d/xinetd restart
3
2707974

私は同じ問題を抱えていました。 Windowsファイアウォールが原因です。 tftpクライアントを追加した後、ファイアウォールで許可されていることを確認する必要があります

windowsに移動Firewall > allowed programs > allowed another program >tftp.exec:\windows\systems32\tftp.exeを見つけます

1
Eric

ファイアウォールの状態を確認して無効にします

$ Sudo ufw disable
Firewall stopped and disabled on system startup

次に、xinetdサービスを再起動します。

$ Sudo /etc/init.d/xinetd restart

 * Stopping internet superserver  xinetd  [ OK ] 
 * Starting internet superserver xinetd   [ OK ] 
0
user335660