harumaki.net

インフラ屋の覚書や、ラーメン食べある記とか。

Juniper network メモ 運用

[Juniper]SRX220 コンフィグのバックアップメモ

投稿日:2014年2月22日

Last Updated on 2023年5月4日 by かんりにん

今回はSRX220Hのコンフィグのバックアップを。
ちょこっとドキュメントを見てみたところ、SSGの時と異なり、SRX側から外部のリモートホストへのtftpが使えないっぽい?
もうちょっと詳しく調査しつつ、ひとまずリモートホストにコンフィグを引っ張ってくるため、苦し紛れなsshリモートコマンド実行でどうにか要件クリア。
またしても泥臭いやり方ではあるが、ひとまずこれで。

ホスト:SRX220H
リモートホスト:CentOS6

1)ベンダー技術情報

-参考:お世話になっております!
技術情報 SRXシリーズ コンフィグをバックアップする方法は?

バックアップ方法の引用

コンフィグレーションモードから下記コマンドを実行し、表示結果を保存する方法が一般的です。
set形式のコンフィグも同時に保存しておくと、確認や流し込みに利用でき便利です。
 
root@srx# show | no-more
 
root@srx# show | display set | no-more

tftpに関する情報はないが、ひとまず出力した情報をローカルに持ってこれればOK。
ということでsshに組み合わせてみる。

2)ssh経由でリモートコマンドを使ってshow 実行

とりあえずリモートホストからSRXに向けて試してみたワンライナー
ワンライナーというほどのものでは全くなく、単にsshでリモートホスト(SRX)でコンフィグを出力しつつ、ファイルにリダイレクトしてるだけ。

書式

コンソールに出力しつつ、ファイルにも出力する場合

 $ ssh USERNAME@HOST "show configuration | no-more" | tee FILENAME

ファイルにだけ出力する場合

リダイレクトをすればよいだけ。バッチで動かす場合などに。

 $ ssh USERNAME@HOST "show configuration | no-more" > FILENAME

実行例1

 $ touch srx.cfg
 $ ssh admin@192.168.240.254 "show configuration | no-more" | tee srx.cfg
 admin@192.168.240.254's password:
 ## Last commit: 2014-02-22 18:09:14 JST by admin
 version 12.1X44-D25.5;
	groups {
	    node0 {
	        system {
	            host-name srx-011;
	            backup-router 192.168.46.254 destination [ 0.0.0.0/1 128.0.0.0/1 ];
	        }
	        interfaces {
	            fxp0 {
	                unit 0 {
	                    family inet {
	                        address 192.168.46.252/24;
	                    }
	                }
 …以下略

srx.cfgにもコンフィグが出力されていることを確認。

上記をバッチで動かす場合

 $ ssh admin@192.168.240.254 "show configuration | no-more" > srx.cfg

実行例2 display setオプションで表示する場合

 $ touch srx_set.cfg
 $ ssh admin@192.168.240.254 "show configuration | display set | no-more" | tee srx_set.cfg
 admin@192.168.240.254's password:
 set version 12.1X44-D25.5
 set groups node0 system host-name ssm-gw01
 set groups node0 system backup-router 192.168.46.254
 set groups node0 system backup-router destination 0.0.0.0/1
 set groups node0 system backup-router destination 128.0.0.0/1
 set groups node0 interfaces fxp0 unit 0 family inet address 192.168.46.252/24
 set groups node1 system host-name srx-01
 …以下略

–バッチで動かす場合

ssh admin@192.168.240.254 "show configuration | display set | no-more" > srx.cfg

実際にはdisplay setのログだけあればOKか。
それにしても、一応目的はクリアしたけど、もうちょっとスマートな方法は無いかなーとボヤいてみたり。

-Juniper, network, メモ, 運用
-

執筆者:


  1. 和尚 より:

    立て続けにすみません。tips?です。

    |(パイプ)のあとに、saveコマンドを使ってみて下さい。
    saveの後ろに保管ファイルを指定します。
    ファイルはSRXのローカルまたはリモートが指定可能。
    リモート指定時にscpを使えます。
    実行例は後述します。

    set形式を流し込みに利用、とありますが。
    単にset形式のテキストをターミナルに貼り付けると失敗する可能性があります。
    (ciscoとかでも大量に貼るとデバイスが応答を返して、それとぐちゃぐちゃになりますよね)

    この場合は、[load]コマンドを使用して下さい。
    ・set形式のターミナル張り付け:[load set terminal]
    ・階層形式のターミナル張り付け:[load merge terminal]
    →全体書き換えの場合には[load override terminal]

    張り付け後、終了を示す「行先頭でのctrl+d」(=最後に改行してからctrl+d)を
    入力するまで、デバイスは応答せずに待ってくれます。
    これによって張り付け内容とデバイスの応答がぐちゃぐちゃになることはありません。
    なお、[override]はtop位置で行う必要があります。
    また、[override]にはありませんが、階層移動をマスターされているのであれば、
    [load merge terminal relative]のように[relative]オプションが必要なケースが
    発生しますので、[relative]はおまじないと付与する習慣をつけておくと良いかと。

    ===saveでのscp使用例は以下。FTPでもokです。

    ■@SRX
    kenji@srx100h-01> show configuration | save scp://kenji@x31.hostname.test/home/kenji/test.cfg
    Password:
    tempfile 100% 31KB 30.9KB/s 00:00
    Wrote 1152 lines of output to ‘scp://kenji@x31.hostname.test/home/kenji/test.cfg’

    ■@Server
    kenji@srx100h-01> ssh x31.hostname.test
    Password:

    The programs included with the Debian GNU/Linux system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.

    Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
    permitted by applicable law.
    You have new mail.
    Last login: Thu Jul 21 20:28:34 2016 from 10.77.54.79
    kenji@x31:~$ ls -al | grep test.cfg
    -rw-r–r– 1 kenji kenji 31593 Jul 23 00:42 test.cfg
    kenji@x31:~$ cat test.cfg
    ## Last commit: 2016-07-19 15:50:21 JST by kenji
    version 12.1X46-D52.1;
    groups {
    default-synchk-policy {
    security {
    policies {
    ~~~以下略

    ※さらにtips。
    BSDシェルモードでは、[mount]コマンドが利用可能です。(要root)
    nfsサーバがあれば、[mount -t nfs x.x.x.x:/mount /mnt]みたいに出来ます。
    (BSDシェル操作は基本的にはサポートされないのでご注意を。)

    そうすると、BSDシェルでは、[cp]コマンドでファイルをコピー出来ますし、
    オペレーショナルモードから、[show config | save /mnt/localfile]ってのアリです。
    なお、新シリーズSRX300等の15.1X49では、オペレーショナルモードの
    「request system storage」コマンドのオプションとして[mount]が追加されましたが、動作しないことを確認しています。同じく追加された[unmount]は動作します。

  2. admin より:

    和尚様
    こちらも有難うございます。
    saveコマンドは存じていませんでした。

    > 単にset形式のテキストをターミナルに貼り付けると失敗する可能性があります。
    これは往々にして可能性がありますね。
    併せて参考にさせていただきます!

comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

no image

[juniper] SRX220 syslog設定追加

  [pukiwiki] 今回はLAN内のsyslogサーバーにSRXのログを書き出す設定を。 SSG/screenosとは少々コマンド入力や動作が異なるので、備忘録として。 参考:SRX Getti …

[AWS]ただのメモ:ELBでSSL証明書をアップするときは秘密鍵をRSAで。

  ※AWSへSSL証明書一式をアップする際の注意事項 秘密鍵ファイルをかならずRSA PRIVATE KEYへ変更すること。 普段apache httpd serverでhttpsを使うときは秘密鍵 …

[AWS EC2] RHEL6のインスタンスでttyS0 のエラーが大量発生

  AWS EC2にてRedHat Enterprise Linux 6.5(以下RHEL6.5)のインスタンスを立ち上げ、MySQLサーバーをセットアップしてる最中 /var/log/message …

Linux環境でのgoogle driveクライアントをいろいろと下調べ

  これまでずっとdropbox.pyを利用してサーバーの設定ファイル、DBバックアップをDropboxにアップしたりといろいろやってきたが、無料プランでの容量の限界が近づいてきたので、サーバーのバッ …

no image

haproxyを試す 4.ソケット接続とステータス出力

  haproxyでステータスやバックエンドサーバーの状態やプールを確認する場合、コマンドラインからチェックできるツールは無い様子。代わりにソケットリレーツール”socat(SOcketを …