前回の投稿で IOS XR では設定の反映/保存に commit が必要なことを説明しました。
今回は IOS XR での基本的な設定方法について説明したいと思います。
設定後に設定を保存したくない場合(exit)
設定モードから exit で no とするだけです。
RP/0/0/CPU0:R1(config)#hostname R3 RP/0/0/CPU0:R1(config)#exit Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]:no RP/0/0/CPU0:R1#
no とすると設定モードから抜け、設定途中だった内容は破棄されます。
設定中に設定差分を消去したい場合(clear)
設定途中でやっぱり設定をやり直したいといった場合や設定変更を無かったことにしたいという場合には clear が使えます。
RP/0/0/CPU0:R1#conf t Sun Feb 8 23:27:28.378 JST RP/0/0/CPU0:R1(config)#int gi0/0/0/0 RP/0/0/CPU0:R1(config-if)#ip address 1.1.1.1 255.255.255.0 RP/0/0/CPU0:R1(config-if) RP/0/0/CPU0:R1(config-if)#show config Sun Feb 8 23:27:52.740 JST Building configuration... !! IOS XR Configuration 4.1.1 interface GigabitEthernet0/0/0/0 ipv4 address 1.1.1.1 255.255.255.0 ! end RP/0/0/CPU0:R1(config-if)#
上記のようにインタフェースにIPアドレスを設定し、show config で設定差分が確認できます。
P/0/0/CPU0:R1(config-if)#clear RP/0/0/CPU0:R1(config)#show config Sun Feb 8 23:29:49.864 JST Building configuration... !! IOS XR Configuration 4.1.1 end
上記のように clear を実行すると show config で設定差分が消去されていることが確認できます。
一時的に設定を反映させる(commit confirmed)
反映させる設定により telnet/ssh 接続が切断される可能性がある場合などは、試しに一定時間のみ設定を反映させることができます。
RP/0/0/CPU0:R1#conf t Sun Feb 8 23:37:05.890 JST RP/0/0/CPU0:R1(config)#int lo0 RP/0/0/CPU0:R1(config-if)#ip address 10.10.10.10/32 RP/0/0/CPU0:R1(config-if)# RP/0/0/CPU0:R1(config-if)#commit confirmed ? <30-65535> Seconds until rollback unless there is a confirming commit minutes Specify the rollback timer in the minutes <cr> Commit the configuration changes to running RP/0/0/CPU0:R1(config-if)#commit confirmed 60
上記 commit confirmed 60 により 60秒間のみ 設定を反映させます。
RP/0/0/CPU0:R1(config-if)#do sh int lo0 Sun Feb 8 23:37:45.726 JST Loopback0 is up, line protocol is up Interface state transitions: 1 Hardware is Loopback interface(s) Internet address is 10.10.10.10/32 MTU 1500 bytes, BW 0 Kbit reliability Unknown, txload Unknown, rxload Unknown Encapsulation Loopback, loopback not set, Last input Unknown, output Unknown Last clearing of "show interface" counters Unknown
上記のように commit confirmed 直後では int lo0 が問題なく見えていますが、表示されるのは指定した 60秒間のみ です。
RP/0/0/CPU0:R1(config-if)#do sh int lo0 Sun Feb 8 23:39:18.473 JST Interface not found (Loopback0)
上記のように commit confirmed で指定した時間を経過した場合、設定が自動的に commit confirmed を実行する前に戻ります。
たとえば、上記 commit confirmed で疎通確認ができる時間を指定しておき、問題がないようであれば、指定した時間内にそのまま commit すれば反映されます。
RP/0/0/CPU0:R1(config-if)#commit Sun Feb 8 23:45:34.169 JST % Confirming commit for trial session.
設定中に他のユーザに設定変更をさせない(configure exclusive)
設定変更ができるのを自分のみとするには configure exclusive で設定モードに入ります。
RP/0/0/CPU0:R1#configure exclusive Sun Feb 8 23:50:05.424 JST RP/0/0/CPU0:R1(config)#
commit 時にコメントをつける(commit comment)
commit に comment オプションを付けることでコメントを付与することができます。設定を rollback する際にはコメントが役に立ちます。
RP/0/0/CPU0:R1#conf t Sun Feb 8 23:53:06.479 JST RP/0/0/CPU0:R1(config)#int lo0 RP/0/0/CPU0:R1(config-if)#ip address 10.10.10.10/32 RP/0/0/CPU0:R1(config-if)#exit RP/0/0/CPU0:R1(config)#commit comment created loopback0 interface Sun Feb 8 23:53:45.817 JST RP/0/0/CPU0:R1(config)#show configuration history last 1 detail Sun Feb 8 23:54:03.369 JST 1) Event: commit Time: Sun Feb 8 23:53:46 2015 Commit ID: 1000000021 Label: User: UNKNOWN Line: vty6:node0_0_CPU0 Client: CLI Comment: created loopback0 interface
手順書にしたがって作業をしている場合はコメントに作業項番を入れておくのもいいですね。
設定の初期化(commit replace)
設定の初期化です。もっといい方法があるのかもしれませんが、、commit replace で初期化できます。
RP/0/0/CPU0:R1(config)#commit replace Sun Feb 8 23:56:04.171 JST This commit will replace or remove the entire running configuration. This operation can be service affecting. Do you wish to proceed? [no]: y RP/0/0/CPU0:ios(config)#
通常 commit replace は設定ファイルなどを読み込み、設定内容を置き換えるのに使いますが、load コマンドで何も設定ファイルを読み込んでいない状態では初期設定に置き換えられ設定を初期化できます。
設定の保存保及び読み込みと置換(copy/load/commit replace)
設定の保存は IOS と同じく copy コマンドです。
RP/0/0/CPU0:ios#conf t Mon Feb 9 00:08:18.759 JST RP/0/0/CPU0:ios(config)#hostname R1 RP/0/0/CPU0:ios(config)#int lo0 RP/0/0/CPU0:ios(config-if)#ip address 10.10.10.10/32 RP/0/0/CPU0:ios(config-if)#commit Mon Feb 9 00:08:32.274 JST RP/0/0/CPU0:R1(config-if)#end RP/0/0/CPU0:R1#copy run disk0:config1.txt Mon Feb 9 00:08:53.457 JST Destination file name (control-c to abort): [/config1.txt]? Building configuration. 7 lines built in 1 second [OK] RP/0/0/CPU0:R1#
次に load で設定ファイルを読み込み、commit replace で設定を置換、show run で設定が変わっていることを確認しています。
RP/0/0/CPU0:R1(config)#load disk0:config2.txt Loading. 180 bytes parsed in 1 sec (179)bytes/sec RP/0/0/CPU0:R1(config)#commit replace Mon Feb 9 00:13:22.068 JST This commit will replace or remove the entire running configuration. This operation can be service affecting. Do you wish to proceed? [no]: y RP/0/0/CPU0:R1(config)#show run Mon Feb 9 00:13:35.276 JST Building configuration... !! IOS XR Configuration 4.1.1 !! Last configuration change at Mon Feb 9 00:12:23 2015 by UNKNOWN ! hostname R1 interface Loopback0 ipv4 address 20.20.20.20 255.255.255.255 ! end
load では IOS と同じく disk だけでなく TFTP/FTP などからもファイルの読み込みが可能です。