IOS XR 基本的な設定方法

前回の投稿で 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 などからもファイルの読み込みが可能です。

スポンサーリンク