2012/07/22

Mac OS XのTFTPサーバを利用してCISCOルータのIOSをバックアップしてみるの巻

Cisco IOSのtftpサーバへのバックアップが必要となり、Mac OS上でtftpサーバを立ち上げて、

Router01#copy fla tftp

でOKかと思いきや。


%Error opening tftp://10.100.100.201/filename_arekore (Permission denied)

むむっ。


ふつーにtftpのサービスあげればOKと思っていたが、これが意外にハマッた。以下は手順。

まずはMacの標準tftpサーバの設定ファイルを変更する。


/System/Library/LaunchDaemons/tftp.plist


設定を変更する前にバックアップをとる。

$sudo cp /System/Library/LaunchDaemons/tftp.plist /System/Library/LaunchDaemons/tftp.plist.org


続いてファイルを変更する。


$sudo vi /System/Library/LaunchDaemons/tftp.plist


で以下の部分を


<string>/private/tftpboot</string>


こんな感じに変更して、


<string>/自分のhome/ios</string>


保存する。


続いてIOSをバックアップするフォルダを作る。
※先ほどのtftp.plistに記載した"/自分のhome/ios"に必ず一致させる。 


$cd ~
$mkdir ios


で権限をこんな感じに変更する。
$chmod 755 ios


次にバックアップするファイル名と同名の空ファイルをバックアップフォルダに作る。


$touch filename_arekore


権限を変更


$chmod 777 filename_arekore


続いてtftpサーバを起動する。


$sudo launchctl load -w /System/Library/LaunchDaemons/tftp.plist


確認する。


$sudo lsof -i:69


COMMAND PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
launchd   1 root   58u  IPv4 0x38ac679b9cb596ed      0t0  UDP *:tftp
launchd   1 root   59u  IPv6 0x38ac679b9185b875      0t0  UDP *:tftp


あとはルータに接続して普通にバックアップを取得する。

Router01#copy fla tftp


取得後、tftpサーバを終了させる。

$sudo launchctl unload -w /System/Library/LaunchDaemons/tftp.plist







ポイントはバックアップ側(localhost側/tftpサーバ)にバックアップするIOSのファイルと同名の空ファイルをあらかじめ作成しておき、アクセス権を777に設定しておくこと。

0 件のコメント:

コメントを投稿