• 締切済み

tftpサーバの設定

VineLinux2.5上でtftp-0.16-5vl1を使いtftpサーバの構築をしていますがファイルを取得しようとしてもタイムアウトになってしまいます。 inetへの登録は tftp dgram udp wait root /usr/sbin/tcpd in.tftpd /tftpboot とし、設定の反映も行いました。 ファイルの取得方法としては tftp> connect 192.168.x.x tftp> get ファイル名 Transfer timed out. といった感じです。 デバッグ方法等があればお教えください

みんなの回答

回答No.2

※私は現在 RedHat7.3, 7.2, 7.1, 7.01 を使っているので外している かもしれません. inetd.conf を変更した場合は, #>kill -HUP inetdのプロセスID として,ハングアップシグナルを送るか,サービスの再起動を行う必要 があります. >tftp dgram udp wait root /usr/sbin/tcpd in.tftpd /tftpboot とのことですので,inetd が TCPWrappers で管理されていることと 思います.このため,"/etc/hosts.allow","/etc/hosts.deny"にて アクセス制限をされている場合は,これを解除しないと inetd 経由の 起動ができません. また,/tftpboot というディレクトリも作成しておく必要があります. ※ xinetd(拡張inetd)パッケージを使用される場合は,違うファイル (/etc/xinetd.d/tftp 等)の変更が必要です.

  • onosuke
  • ベストアンサー率67% (310/456)
回答No.1

まず,基礎知識編。 ”tftpでタイムアウトになる”=”tftpサーバと全く通信できていない。” この可能性が高いです。tftpでは,ファイル送受信時以外の通信をしません。つまり,connectの時点では,何の通信も行わない点に注目(ftpとは違う)。 次に,調べる。 netstat -a で tftp/udp なポートがちゃんとLISTEN状態になっているか。おかしければ,inetdの設定が悪い。 tcpdの設定でアクセス制限がかかっていないか。tcpdに止められるとログにその旨の情報があるはず。 ipchain, netfilter等のアクセス制限に引っかかっていないか。 等,タイムアウトだと,こんなところですかね。

apolo13
質問者

補足

回答ありがとうございます 調べてみたところLISTEN状態になっていませんでした。 inetdの設定として間違いを見つけられないのですが他に原因は考えられますでしょうか。 ipchainは停止しても変化はありませんでした。 /var/log/messagesにtftp関連のログはありませんでした

関連するQ&A

  • TFTPサーバ構築

    CentOS5.2でTFTPサーバーを構築し、Ciscoルータからcopy flash tftpをしたいのですが、なぜかtime outになってしまいます。 何が悪いのかご検討のつく方、アドバイスをお願いします。 cat /etc/xinetd.d/tftp -------------------- # default: off # description: The tftp server serves files using the trivial file transfer \ # protocol. The tftp protocol is often used to boot diskless \ # workstations, download configuration files to network-aware printers, \ # and to start the installation process for some operating systems. service tftp { socket_type = dgram protocol = udp wait = yes user = nobody server = /usr/sbin/in.tftpd server_args = -s /tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 } ------------------------------------------- ls -la / | grep tftpboot --------------------------------------------- drwxrwxrwx 2 nobody nobody 4096 3月 28 2007 tftpboot --------------------------------------------- Router#copy flash tftp Source filename []? c2600-io3-mz.123-6b.bin Address or name of remote host []? 192.168.1.5 Destination filename [c2600-io3-mz.123-6b.bin]? ..... %Error opening tftp://192.168.1.5/c2600-io3-mz.123-6b.bin (Timed out)

  • TFTPからIOSを起動できない。

    FLASH容量の少ないルータでIOSをTFTPから起動したいと思っていますが、次のエラーで起動できません。 %SYS-6-READ_BOOTFILE_FAIL: tftp://192.168.1.65/c1710-k9o3sy-mz[1].124-19.bin Fil e read failed -- Timed out. %SYS-6-BOOT_MESSAGES: Messages above this line are from the boot loader. boot of "tftp:c1710-k9o3sy-mz[1].124-19.bin 192.168.1.65" using boot helper "fla sh:c1710-k9o3sy-mz[1].122-8.T4.bin" failed error returned: File read failed -- Timed out loadprog: error - on file open boot: cannot load "tftp:c1710-k9o3sy-mz[1].124-19.bin 192.168.1.65" *TFTPはWinXP(192.168.1.65)の「POOR TFTP」です。ルータから左記XPにはPING到達できます。ルータはCisco1710。オリジナルIOSは、「c1710-k9o3sy-mz.122-8.T4.bin」。TFTPからの起動希望IOSは「c1710-k9o3sy-mz[1].122-8.T4.bin」。 ご指導をお願いします。

  • NTPサーバについて

    Solaris10のSPARK版でNTPサーバを作りたいのですが 今、/etc/inet/ntp.serverをコピーし/etc/inetntp.confを作りファイルの中を書き換えました。 restrict default nomodify notrap noquery server 133.40.41.175 server 130.69.251.23 server 127.127.1.0 fudge 127.127.1.0 stratum 10 #broadcast 224.0.1.1 ttl 4 #enable auth monitor driftfile /var/ntp/ntp.drift #statsdir /var/ntp/ntpstats/ #filegen peerstats file peerstats type day enable #filegen loopstats file loopstats type day enable #filegen clockstats file clockstats type day enable #keys /etc/inet/ntp.keys #trustedkey 0%) #requestkey 0%) #controlkey 0%) restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap logfile /var/log/ntp 同期が取れているか確認のコマンドを打つと # ntpq -p localhost: timed out, nothing received ***Request timed out となってしまいます。 何が原因なのでしょうか? 何方かご教示下さい。 宜しくお願い致します。

  • Solarisでネットワーク経由のブートができない

    ネットワーク経由でOBPのアップデートを試みています。 (ネットワークインストールも試みましたが、うまくいきませんでした) クライアントはSunBlade100で、既存のOBPのバージョンは4.0です。 TFTPサーバーはOpenSolaris[2009.06]で、Windows vista上でVirtualBoxにより稼働しています。 解決方法、設定ミスなどありましたら、ご教授頂けると幸いです。 以下、TFTPサーバーのネットワーク設定です。 尚、ルーターのアドレスは『192.168.11.1』になります。 /etc/hosts 127.0.0.1 localhost 192.168.11.4 x86opensolaris loghost # TFTPサーバー 192.168.11.5 sunblade100 # クライアント --- /etc/ethers xx:xx:xx:xx:xx:xx sunblade100 --- /etc/network loopback 127 arpanet 10 arpa # Historical tmpnet 192.168.11 --- /etc/netmasks 192.168.11.0 255.255.255.0 --- /etc/inetd.conf tftp dgram udp6 wait root /usr/sbin/in.tftpd in.tftpd -s /tftpboot --- /etc/nodename x86opensolaris --- /etc/hostname.e1000g0 x86opensolaris --- /etc/defaultrouter 192.168.11.1 --- /etc/resolv.conf nameserver 192.168.11.1 --- /etc/nsswitch.conf hosts: files dns ipnodes: files dns ### 行ったTFTPサーバーの設定 # # mkdir -p /tftpboot # chown root /tftpboot # chmod 755 /tftpboot # cd /tftpboot # ln -s . tftpboot # mv flash-update-Blade100-Blade150-latest /tftpboot # chmod 444 /tftpboot/flash-update-Blade100-Blade150-latest # ln -s flash-update-Blade100-Blade150-latest C0A80B05.SUN4U # inetconv inetconv: Notice: Service manifest for tftp already generated as /var/svc/manifest/network/tftp-udp6.xml, skipped // tftp確認 # svcs -a | grep tftp online 13:12:46 svc:/network/tftp/udp6:default // ポート確認 # netstat -a | grep tftp *.tftp Idle *.tftp Idle // tftp動作確認 # cd /tmp # tftp localhost tftp> get C0A80B05.SUN4U Received 1493061 bytes in 1.1 seconds tftp> quit # ls -la -rw-r--r-- 1 root root 1482292 2月 5 18:22 C0A80B05.SUN4U // rarp確認 # ps -ef | grep in.rarpd | grep -v grep root 446 1 0 13:12:35 ? 0:00 /usr/sbin/in.rarpd -a // rarp監視 # pkill -HUP in.rarpd # /usr/sbin/in.rarpd -ad ※クライアントを起動しても、ログは出力されませんでした。 ### クライアント(Blade100)のネットワーク周りの確認 // ケーブルチェック 使用する100Base-有線に物理的問題がないか、 ケーブルをWindows搭載機に接続し、正常に動作することを確認。 // 電源投入時自己診断(POST診断) ok diag-level max ok setenv diag-switch? true ok power-off 電源投入 xxx Probing /pci@1f,0 Device c network firewire usb mouse keyboard xxx SUNロゴ、アーキテクチャー、OBPバージョン、ethernetアドレスなどの表示 Power On Self Test Failed. Cause: OBMD // 不明 // OpenBoot診断 ok setenv auto-boot? false ok reset-all ok obdiag obdiag> test-all xxx Testing /pci@1f,0/network@c,1........passed xxx Testing /pci@1f,0/usb@c,3 ■ // ここで固まる。(関係ないとは思いますが) // Ethernetパケットの確認 ok watch-net Internal looplback test -- succeeded. Link is -- up Looking for Ethernet Packets. '.' is a good Packet. 'X' is a Bad Packet. Type any key to stop. ................... ### クライアント(Blade100)を起動 ok boot net Boot device: /pci@1f,0/network@c,1 File and args: Timeout waiting for ARP/RARP packet Timeout waiting for ARP/RARP packet . 数分経っても、エラーメッセージが出力され続けます。

  • objective-c iphoneからUDP送信

    iphoneからUDPで192.168.0.3、3054ポートに0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x02, 0x44, 0x33, 0x05の13バイトのバイナリデータを送信したいのですが、以下のソースで実行可能でしょうか?ご教授お願いします。 #import <CoreFoundation/CoreFoundation.h> #import <sys/socket.h> #import <netinet/in.h> CFSocketRef socket = CFSocketCreate(NULL, PF_INET, SOCK_DGRAM, IPPROTO_UDP, kCFSocketNoCallBack, NULL, NULL); struct sockaddr_in addr; addr.sin_len = sizeof(struct sockaddr_in); addr.sin_family = AF_INET; addr.sin_addr.s_addr = addr.sin_addr.s_addr = inet_addr(”192.168.0.3); addr.sin_port = htons(3054); CFDataRef address = CFDataCreate(NULL, (UInt8*)&addr, sizeof(struct sockaddr_in)); char* message = "\x42\42\0\0\0\0\2\0\1\2\x44\x33\5"; CFDataRef data = CFDataCreate(NULL, (UInt8*)message, strlen(message)); CFSocketSendData(socket, address, data, 3); CFRelease(socket); CFRelease(address); CFRelease(data); char*messageはおかしいですかね…。宜しくお願いします。

  • Visual Basic6.0 でのFTP転送

    Windows NT Visual Basic6.0(SP5)で開発しております。 インターネットトランスファーコントロール(Inet)を使い、EXEファイルを作成し、FTPサーバーに対して、"PUT"処理(InetのExecuteメソッドで)を実行したところ、下記アプリケーションエラーのメッセージが出ます。 「"0x7020e8fa"の命令が"0x7020e8fa"のメモリを参照しました。メモリが"read"になることはできませんでした。」 その後、このWindowのOKボタンをクリックし、落ちます。 但し、同じソースをWindows2000でコンパイルたEXEファイルでWindows2000上で走らせると、正常に動きます。 この正常に動くEXEファイルをWindows NT上で動かすとやはり同じエラーで落ちます。MicrosoftのHPを見ても、VB6.0からは、この問題は解決されているとしか載っておりません。環境設定や、DLL等のVersionの違いからくるのでしょうか?因みに、エラー時にVC++でデバッグすると、VB6.exeがおかしいとか出ておるのですが。

  • これは自宅サーバーがのっとられているのでしょうか・・・

    私は、自宅サーバー(OS:CentOS5)を市販のルーター経由で公開しております。 市販のルーターのパケットフィルタリング機能にてローカルのサーバーIPへ転送している状態です。 転送許可しておりますのは、 53(TCP,UDP) 80(TCP) 110(TCP) 25(TCP)のみの状態です。 また、/etc/http/conf/vhosts/以下のバーチャルドメインの設定先はpublic_html/.htaccessでローカルからしか参照出来ない設定です 下記のコマンド実行時、なぜかESTABLISHED状態がある状態です。 # netstat -an|grep tcp tcp 0 0 0.0.0.0:587 0.0.0.0:*LISTEN tcp 0 0 192.168.122.1:530.0.0.0:*LISTEN tcp 0 0 0.0.0.0:21 0.0.0.0:*LISTEN tcp 0 0 0.0.0.0:25 0.0.0.0:*LISTEN tcp 0 1 192.168.11.99:58849 219.153.***.***:80 LAST_ACK tcp 0 0 192.168.11.99:33220 83.217.***.***:80 ESTABLISHED tcp 0 0 192.168.11.99:33225 83.同じIP.212:80 ESTABLISHED tcp 0 0 192.168.11.99:33187 83.同じIP.212:80 FIN_WAIT2 tcp 0 0 192.168.11.99:33194 83.同じIP.212:80 FIN_WAIT2 tcp 1 0 192.168.11.99:50745 41.同じIP.43:80CLOSE_WAIT tcp 0 0 192.168.11.99:50746 41.同じIP.43:80ESTABLISHED tcp 0 0 192.168.11.99:44627 72.***.***.145:80ESTABLISHED tcp 0 0 :::993 :::* LISTEN tcp 0 0 :::995 :::* LISTEN tcp 0 0 :::110 :::* LISTEN tcp 0 0 :::143 :::* LISTEN tcp 0 0 :::80 :::* LISTEN tcp 0 0 :::22 :::* LISTEN tcp 0 0 :::443 :::* LISTEN tcp 0 0 ::ffff:192.168.11.99:80::ffff:209.同じIP.34:41903 ESTABLISHED tcp 052 ::ffff:192.168.11.99:22::ffff:192.168.11.30:1334 ESTABLISHED tcp 0 0 ::ffff:192.168.11.99:80::ffff:209.同じIP.34:41094 TIME_WAIT tcp 0 0 ::ffff:192.168.11.99:80::ffff:209.同じIP.34:41088 TIME_WAIT tcp 0 0 ::ffff:192.168.11.99:80::ffff:70.同じIP.130:49439 TIME_WAIT tcp 1 0 ::ffff:192.168.11.99:80::ffff:70.同じIP.130:48291 CLOSE_WAIT 自分でXenによる仮想OSは構築しておりません。 そして自分のグローバルIPでアクセスした際のdefaultユーザー(www)のアクセスログ(/var/log/httpd/access_log or error_log)を 見ておりましても、全然アクセスされている形跡がなく自分のローカルIPしか載っていない状態でございます。 #ifconfig eth0 Link encap:Ethernet HWaddr 00:0A:79:28:BA:09 inet addr:192.168.11.99 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::20a:79ff:fe28:ba09/64 Scope:Link eth1 Link encap:Ethernet HWaddr 00:90:99:7D:8B:42 UP BROADCAST MULTICAST MTU:1500 Metric:1 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 virbr0 Link encap:Ethernet HWaddr 00:00:00:00:00:00 inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0 inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:468 (468.0 b) 下記を参照した際や # netstat -an|grep tcp # tcpdump -i eth0 -l -x -s 1500 -v ! port 22 としてみた場合、あきらかにパケットが流れているのを確認できます。 # tcpdump -i eth1とvirbr0 -l -x -s 1500 -v ! port 22 としてみた場合は、特にパケットが流れている様子は確認できません。 上記のvirbr0は自分で作った覚えがないのですが、OSインストール時にデフォルトで存在していたかは、お恥ずかしながら覚えておりません。 また192.168.122.1:53のIPとポート53番を設定した覚えもございません。 ethカードは2枚挿さっておりますが、特にeth1を設定した覚えもございません。 # ll /etc/sysconfig/network-scripts/*virbr0*は確認できません。 お忙しい所恐縮ですが、これはどうゆう状態であるのか・・・を、先輩方のご経験とご判断をお伺い出来ましたらと思っております。 よろしくお願い致します。

  • 実行ファイルのweb掲載可否

    以下のプログラムの実行ファイルをweb上に載せることはできるのでしょうか? #include <winsock2.h> #pragma comment(lib,"ws2_32.lib") int main() { WSADATA wsaData; SOCKET sock; struct sockaddr_in addr; WSAStartup(MAKEWORD(2, 0), &wsaData); sock = socket(AF_INET, SOCK_DGRAM, 0); addr.sin_family = AF_INET; addr.sin_port = htons(3054); addr.sin_addr.S_un.S_addr = inet_addr("192.168.0.3 "); char data[] = { 0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x02, 0x44, 0x33, 0x05 }; sendto(sock, data, 13, 0, (struct sockaddr *)&addr, sizeof(addr)); closesocket(sock); WSACleanup(); return 0; }

  • FTPサーバからダウンロードするには?

    windowsXP,VB6,SP5で開発しています。 下のコードはヘルプからなんですが、 これをURLとファイル名を変更してやってみても、全然できません。 Private Sub Form_DblClick() Inet1.AccessType = icUseDefault Dim b() As Byte Dim strURL As String ' この URL は有効な URL であると仮定します。 strURL = "ftp://ftp.microsoft.com/" & _ "developr/drg/Win32/Autorun.zip" ' ファイルをバイト配列として取得します。 b() = Inet1.OpenURL(strURL, icByteArray) Open "C:\Temp\Autorun.zip" For Binary Access Write As #1 Put #1, , b() Close #1 MsgBox "完了しました。" End Sub ここの部分でタイムアウトになってしまいます。 b() = Inet1.OpenURL(strURL, icByteArray) FTPサーバのアドレスとかちゃんとあってます。 どなたか、解決方法をご教授くださいませm(_ _)m

  • iphoneアプリ実行結果について

    これを実行すると、iphoneの画面には何か表示されるのですか?真っ白とかですかね…。 #import<CoreFoundation/CoreFoundation.h> #import <sys/socket.h> #import <netinet/in.h> CFSocketRef socket = CFSocketCreate(NULL, PF_INET, SOCK_DGRAM, IPPROTO_UDP, kCFSocketNoCallBack, NULL, NULL); struct sockaddr_in addr; addr.sin_len = sizeof(struct sockaddr_in); addr.sin_family = AF_INET; addr.sin_addr.s_addr = addr.sin_addr.s_addr = inet_addr(''192.168.0.3''); addr.sin_port = htons(3054); CFDataRef address = CFDataCreate(NULL, (UInt8*)&addr, sizeof(struct sockaddr_in)); UInt8 message[] = {0x42, 0x42, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x02, 0x44, 0x33, 0x05}; CFDataRef data = CFDataCreate(NULL, (UInt8*)message, sizeof(message)); CFSocketSendData(socket, address, data, 3); CFRelease(socket); CFRelease(address); CFRelease(data);