IP : トリビアル ファイル転送プロトコル(TFTP)

NMS プラットフォーム上での TFTP の設定

2016 年 10 月 27 日 - 機械翻訳について
その他のバージョン: PDFpdf | ライター翻訳版 (2008 年 4 月 7 日) | 英語版 (2016 年 4 月 8 日) | フィードバック


目次


概要

トリビアル ファイル転送プロトコル(TFTP) は、ネットワーク デバイスとのファイルの相互転送に使用されます。

前提条件

要件

この文書の読者は、UNIX の root アカウント、およびシステム管理インターフェイス ツール(SMIT)またはシステム管理マネージャ(SAM)へアクセス可能な、経験豊富な UNIXユーザであるものとします。

使用するコンポーネント

このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づくものです。

  • IBM AIX 4.2 または IBM AIX 4.3

  • HP-UX 10.20 または HP-UX 11.0

  • Sun Solaris 2.6 または Solaris 2.8

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。 このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。 ネットワークが稼働中の場合は、コマンドが及ぼす潜在的な影響を十分に理解しておく必要があります。

表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

AIX の手順

/etc/inetd.conf - smit

SMTP アクセス メニューから TFTP サービスにアクセスするには、次の手順に従ってください。

/image/gif/paws/17844/cwm-tftp-config-hpux-1.gif

ここから、さまざまな inetd サービスを利用できます。 SMIT のさらに詳しい詳細については、IBM 技術文書を参照して下さい: AIX 4.3leavingcisco.com

loadrev コマンドまたは getfwrev コマンドを発行する際、WAN スイッチ ソフトウェアでは、ファイル名での単一のアルファベットによるスイッチ表記が大文字であり、/usr/users/svplus/images/ipxbpx にあるものと見なされます。 TFTP の保護モードを使用するには、TFTP デーモン(tftpd)に関するマニュアル エントリを読んで、/etc/tftpaccess.ctl を維持しなければならないことに注意してください。

ローカル TFTP の検証

TFTP から localhost に対して TFTP 設定を確認させるには、次の方式を使用します。

cwm001% cd /tmp

cwm001% tftp localhost

tftp> bin

tftp> get /usr/users/svplus/images/ipxbpx/9231G.img

Received 784 bytes in 0.3 seconds

tftp> quit

cwm001%

cwm001% ls -al 9231G.img

-rw-r--r--   1 svplus   svplus       784 Feb 5 10:50 9231G.img

cwm001% diff /usr/users/svplus/images/ipxbpx/9231G.img 9231G.img

cwm001%

上記方式が失敗した場合は、問題の識別と解決のために、診断メッセージが表示されます。

ファイル権限とケースの確認

UNIX ユーザ nodoby として TFTP を実行します。 ファイルは誰でも読み取り可能でなければなりません。また、パス内の全ディレクトリは、検索可能で読み取り可能でなければなりません。

cwm001% ls -al | more

total 4144

drwxr-xr-x   2 svplus   svplus     1902 Feb  6 15:44 .

drwxrwxrwt  10 svplus   svplus     2718 Feb  6 15:44 ..

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.000

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.001

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.002

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.003

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.004

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.005

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.006

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.007

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.008

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.009

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.010

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.011

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.012

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.013

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.014

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.015

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.016

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.017

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.018

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.019

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.020

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.021

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.022

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.023

-rw-r--r--   1 svplus   svplus     15148 Nov 29  1999 9230B.024

-rw-r--r--   1 svplus   svplus       784 Nov 29  1999 9230B.img

-rw-r--r--   1 svplus   svplus    502944 Mar 29  2000 rel-9230.pdf

cwm001%

HP-UX の手順

/etc/inetd.conf - SAM

SAM で、ネットワークおよび通信エリアから、ネットワーク サービスにアクセスします。

cwm-tftp-config-hpux-2.gif

cwm-tftp-config-hpux-3.gif

TFTP デーモン(tftpd)のデフォルト設定は、前述した通りです。 TFTP サービスをイネーブルにすると、TFTP ユーザに対してパスワード エントリが作成されます。 詳細については、tftp(1) と tftpd(1M) に関する HP-UX オンライン マニュアルのエントリ(man xxxx コマンドを使用)を参照してください。

loadrev コマンドまたは getfwrev コマンドを発行する際、WAN スイッチ ソフトウェアでは、ファイル名での単一のアルファベットによるスイッチ表記が大文字であり、/usr/users/svplus/images/ipxbpx にあるものと見なされます。 TFTP の保護モードを使用するには、/tftpboot/usr/users/svplus/images/ipxbpx パス名を指定しなければなりませんが、この場合シンボリック リンクは使用できません。 これを実現するには、ファイル階層を作成し、すべてのスイッチ ソフトウェアとファームウェアを /tftpboot の下に保存します。 /usr/users/svplus/images/ipxbpx /tftpboot/usr/users/svplus/images/ipxbpxから指しているシンボリック リンクが存在することがあります。

ファイル名でスイッチ表記に小文字が使われていたり、Cisco WAN Manager(CWM)ワークステーションにそのファイルが存在しない場合、スイッチ ソフトウェアにより、CWM ワークステーションと通信できないというメッセージが誤表示されることがあります。

/etc/inetd.conf が修正されると、セキュア モードの tftp は次のようになります。

# Before uncommenting the "tftp" entry below, please make sure

# that you have a "tftp" user in /etc/passwd. If you don't

# have one, please consult the tftpd(1M) manual entry for

# information about setting up this service.


tftp        dgram udp wait   root /usr/lbin/tftpd   tftpd /tftpboot

inetd プロセスでは、HUP 信号を送信して、 /etc/inetd.conf の再読み込みを実行する必要があります。 更に詳しい情報については、tftp(1) および tftpd(1M) のための HP-UX オンライン Manual エントリを参照して下さい。

ローカル TFTP の検証

TFTP から localhost に対して TFTP 設定を確認させるには、次の方式を使用します。

cwm001% cd /tmp

cwm001% tftp localhost

tftp> bin

tftp> get /usr/users/svplus/images/ipxbpx/9231G.img

Received 784 bytes in 0.3 seconds

tftp> quit

cwm001%

cwm001% ls -al 9231G.img

-rw-r--r--   1 svplus   svplus       784 Feb 5 10:50 9231G.img

cwm001% diff /usr/users/svplus/images/ipxbpx/9231G.img 9231G.img

cwm001%

上記方式が失敗した場合は、問題の識別と解決のために、診断メッセージが表示されます。

ファイル権限とケースの確認

UNIX ユーザ nodoby として TFTP を実行します。 ファイルは誰でも読み取り可能でなければなりません。また、パス内の全ディレクトリは、検索可能で読み取り可能でなければなりません。

cwm001% ls -al | more

total 4144

drwxr-xr-x   2 svplus   svplus     1902 Feb  6 15:44 .

drwxrwxrwt  10 svplus   svplus     2718 Feb  6 15:44 ..

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.000

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.001

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.002

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.003

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.004

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.005

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.006

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.007

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.008

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.009

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.010

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.011

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.012

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.013

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.014

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.015

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.016

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.017

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.018

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.019

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.020

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.021

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.022

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.023

-rw-r--r--   1 svplus   svplus     15148 Nov 29  1999 9230B.024

-rw-r--r--   1 svplus   svplus       784 Nov 29  1999 9230B.img

-rw-r--r--   1 svplus   svplus    502944 Mar 29  2000 rel-9230.pdf

cwm001%

Solaris 用の手順

/etc/inetd.conf

/etc/inetd.conf からの TFTP デーモン(tftpd)に対するデフォルト設定は、次のようになります。

#

# Tftp service is provided primarily for booting. Most sites run this

# only on machines acting as "boot servers."

#

tftp    dgram   udp     wait    root    /usr/sbin/in.tftpd      in.tftpd

#

loadrev コマンドまたは getfwrev コマンドを発行する際、WAN スイッチ ソフトウェアでは、ファイル名での単一のアルファベットによるスイッチ表記が大文字であり、/usr/users/svplus/images/ipxbpx にあるものと見なされます。 TFTP の保護モードを使用するには、/tftpboot/usr/users/svplus/images/ipxbpx パス名を指定しなければなりませんが、この場合シンボリック リンクは使用できません。 これを実現するには、ファイル階層を作成し、すべてのスイッチ ソフトウェアとファームウェアを /tftpboot の下に保存します。 /usr/users/svplus/images/ipxbpx /tftpboot/usr/users/svplus/images/ipxbpxから指しているシンボリック リンクが存在することがあります。

スイッチ名に対するファイル名に小文字が使われているか、CWM ワークステーションにそのファイルが存在しない場合、スイッチ ソフトウェアでは誤って、CWM ワークステーションと通信できないというメッセージを表示することがあります。

/etc/inetd.conf を変更した後、保護モードの tftp は次のように表示されます。

#

# Tftp service is provided primarily for booting. Most sites run this

# only on machines acting as "boot servers."

#

tftp    dgram   udp     wait    root    /usr/sbin/in.tftpd      in.tftpd -s /tftpboot

#

inetd プロセスでは、HUP 信号を送信して、 /etc/inetd.conf の再読み込みを実行する必要があります。

ローカル TFTP の検証

TFTP から localhost に対して TFTP 設定を確認させるには、次の方式を使用します。

cwm001% cd /tmp

cwm001% tftp localhost

tftp> bin

tftp> get /usr/users/svplus/images/ipxbpx/9231G.img

Received 784 bytes in 0.3 seconds

tftp> quit

cwm001%

cwm001% ls -al 9231G.img

-rw-r--r--   1 svplus   svplus       784 Feb 5 10:50 9231G.img

cwm001% diff /usr/users/svplus/images/ipxbpx/9231G.img 9231G.img

cwm001%

上記方式が失敗した場合は、問題の識別と解決のために、診断メッセージが表示されます。

ファイル権限とケースの確認

UNIX ユーザ nodoby として TFTP を実行します。 ファイルは誰でも読み取り可能でなければなりません。また、パス内の全ディレクトリは、検索可能で読み取り可能でなければなりません。

cwm001% ls -al | more

total 4144

drwxr-xr-x   2 svplus   svplus     1902 Feb  6 15:44 .

drwxrwxrwt  10 svplus   svplus     2718 Feb  6 15:44 ..

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.000

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.001

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.002

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.003

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.004

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.005

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.006

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.007

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.008

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.009

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.010

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.011

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.012

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.013

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.014

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.015

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.016

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.017

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.018

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.019

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.020

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.021

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.022

-rw-r--r--   1 svplus   svplus     65536 Nov 29  1999 9230B.023

-rw-r--r--   1 svplus   svplus     15148 Nov 29  1999 9230B.024

-rw-r--r--   1 svplus   svplus       784 Nov 29  1999 9230B.img

-rw-r--r--   1 svplus   svplus    502944 Mar 29  2000 rel-9230.pdf

cwm001%

truss

tftp デーモンを起動する場合、inetd から実行されます。 検索対象のファイルを特定した後、root tftpd プロセスから 子 tftpd プロセスが起動され、UNIX ユーザ nodoby として実行されます。 これらのプロセスに対して truss コマンドを実行すると、動作状態の詳細が表示されます。 次の例では、root tftpd プロセス で truss コマンドを実行すると、存在しない /usr/users/svplus/images/ipxbpx/9235B.img というファイルを開こうとしていることがわかります。

truss -fae -o /tmp/tftpd.truss -p 10748

この例では、root tftpd プロセスの プロセス ID は 10748 です。

# cat /tmp/tftpd.truss

10748:  psargs: in.tftpd 

10748:  poll(0xEFFFDD88, 1, 60000)       (sleeping...) 

10748:  poll(0xEFFFDD88, 1, 60000)                      = 1 

10748:  recvfrom(0, "\001 / u s r / u s e r s".., 516, 0, 0x000245C4, 0x00023BF0) = 50 

10748:  alarm(0)                                        = 0 

10748:  so_socket(2, 1, 0, "", 1)                       = 3 

10748:  bind(3, 0x0002362C, 16)                         = 0 

10748:  fork()                                          = 10754 

10754:  fork()          (returning as child ...)        = 10748 

10754:  setegid(60001)                                  = 0 

10754:  seteuid(60001)                                  = 0 

10754:  stat("/usr/users/svplus/images/ipxbpx/9235B.img", 0xEFFFFC88) Err#2 ENOENT 

10754:  setegid(0)                                      = 0 

10754:  seteuid(0)                                      = 0 

10754:  time()                                          = 982191999 

10754:  write(4, " :8B0F7F\0\0\001\0020403".., 24)      = 24 

10754:  llseek(0, 0, SEEK_CUR)                          Err#29 ESPIPE 

10754:  _exit(0) 

10748:  close(3)                                        = 0

10748:  poll(0xEFFFDD88, 1, 60000)      (sleeping...) 

10748:  poll(0xEFFFDD88, 1, 60000)                      = 0 

10748:  kill(10749, SIGKILL)                            = 0 

10748:  llseek(0, 0, SEEK_CUR)                          Err#29 ESPIPE 

10748:  _exit(0)

#

関連情報


Document ID: 17844