アーカイブ

2011年09月

カテゴリ:

実行したコマンドを記録するにはarchiveを利用します。複数のルータがある場合、どのルータでどのコマンドを打ったのかが分からなくなる場合があります。この昨日を予め有効にしておくことで、コマンドの履歴を確認することが可能です。

R1(config)#archive
R1(config-archive)#log ?
  config  Logging changes to the running configuration

R1(config-archive)#log config
R1(config-archive-log-cfg)#?
commands for controlling config logging:
  default   Set a command to its defaults
  exit      Exit from the log config submode
  hidekeys  suppress output (e.g. passwords) when displaying logged commands
  logging   Modify config logging parameters
  no        Negate a command or set its defaults
  notify    Send logged commands to target applications
  record    What to record in the config logger

R1(config-archive-log-cfg)#logging enable

基本的な設定をした後にコマンドをいくつか実行し、archiveを表示します。

R1(config)#int s1/0
R1(config-if)#no sh
R1#show archive log config all
idx   sess           user@line      Logged command
    1     1        console@console  |  logging enable
    2     3        console@console  |interface Serial1/0
    3     3        console@console  | no shutdown

同じ作業をR2からTELNETでログインし、実行すると下記のように表示されます。

R1#show archive log config all
    7     0   unknown user@vty0     |!exec: enable
    8     4   unknown user@vty0     |interface Serial1/0
    9     4   unknown user@vty0     | shutdown

R1にユーザciscoを作成し、ログイン時に利用すると下記のように表示されます。

R1(config-line)#do sh arc log con all
   15     0          cisco@vty0     |!exec: enable
   16     6          cisco@vty0     |interface Serial1/0
   17     6          cisco@vty0     | no shutdown

初期値ではhidekeysが有効です。パスワード設定時の記録が伏字になることが分かります。

R1(config)#do sh run | b archive
archive
log config
  logging enable
  hidekeys

R1(config)#do sh arc log con all
   31     5        console@console  |username ccie secret *****

hidekeysを無効にすると、パスワードがそのまま表示されます。

R1(config-archive-log-cfg)#no hidekeys
R1(config-archive-log-cfg)#username ccde sec ccde
R1(config)#do sh arc log con all
   36     9        console@console  |  username ccde secret ccde

指定したユーザのみの情報を表示することも出来ます。

R1#show archive log config user cisco 0
idx   sess           user@line      Logged command
   15     0          cisco@vty0     |!exec: enable
   16     6          cisco@vty0     |interface Serial1/0
   17     6          cisco@vty0     | no shutdown
   24     0          cisco@vty0     |!exec: enable

履歴をそのままsyslogに送るにはnotifyコマンドを利用します。

R1(config-archive-log-cfg)#notify syslog
%PARSER-5-CFGLOG_LOGGEDCMD: User:cisco  logged command:no shutdown
%PARSER-5-CFGLOG_LOGGEDCMD: User:cisco  logged command:shutdown

statisticsで、統計情報が表示されます。

R1#show archive log config statistics
Config Log Session Info:
        Number of sessions being tracked: 1
        Memory being held: 3914 bytes
        Total memory allocated for session tracking: 15639 bytes
        Total memory freed from session tracking: 11725 bytes

Config Log log-queue Info:
        Number of entries in the log-queue: 40
        Memory being held by the log-queue: 10956 bytes
        Total memory allocated for log entries: 10956 bytes
        Total memory freed from log entries: 0 bytes

カテゴリ:

今回はダイナミックアクセスリストの設定を確認します。設定そのものはそれほど複雑ではないのですが、よく理解してから設定しないと混乱します。

R1は直接R2に接続され、R2は直接R3に接続されています。

R1(config)#do sh ip int b
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            12.12.12.1      YES manual up                    up
Loopback0                  17.17.1.1       YES NVRAM  up                    up

R2(config)#do sh ip int b
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            12.12.12.2      YES manual up                    up
Serial1/2                  23.23.23.2      YES manual up                    up
Loopback0                  17.17.2.2       YES NVRAM  up                    up

R3(config)#do sh ip int b
Interface                  IP-Address      OK? Method Status                Protocol
Serial1/3                  23.23.23.3      YES manual up                    up
Loopback0                  17.17.3.3       YES NVRAM  up                    up

3台全てのインターフェースでEIGRPを有効にしました。

R1(config)#do sh ip rou ei
     17.0.0.0/24 is subnetted, 3 subnets
D       17.17.2.0 [90/156160] via 12.12.12.2, 00:02:30, FastEthernet0/0
D       17.17.3.0 [90/2300416] via 12.12.12.2, 00:02:19, FastEthernet0/0
     23.0.0.0/24 is subnetted, 1 subnets
D       23.23.23.0 [90/2172416] via 12.12.12.2, 00:02:30, FastEthernet0/0

今回はR1からR3へのTELNET接続をダイナミックアクセスリスト使って行います。まずTELNETの設定をユーザ名 cisco、パスワード ciscoで行ないます。

R3(config)#username cisco password cisco
R3(config)#line vty 0 4
R3(config-line)#login local

R1からの接続を確認します。

R1(config)#do telnet 17.17.3.3
Trying 17.17.3.3 ... Open
〜略〜
Username: cisco
Password:
R3>

R2でアクセスリストを設定します。まずはEIGRPのみを通し、それ以外全てを拒否するリストDYNAMIC_LISTを作成します。

R2(config)#ip access-list extended DYNAMIC_LIST
R2(config-ext-nacl)#10 permit eigrp any any
R2(config-ext-nacl)#100 deny ip any any
R2(config-ext-nacl)#do sh ip acce
Extended IP access list DYNAMIC_LIST
    10 permit eigrp any any
    100 deny ip any any

これをR1に直結するF0/0で利用します。

R2(config-ext-nacl)#int f0/0
R2(config-if)#ip access-group DYNAMIC_LIST in
R2(config-if)#do sh ip int f0/0 | i Inbound
  Inbound  access list is DYNAMIC_LIST

この時点では当然ながらTELNETは拒否されます。

R1(config)#do telnet 17.17.3.3
Trying 17.17.3.3 ...
% Destination unreachable; gateway or host down

これからダイナミックアクセスリストの設定を行います。ここではR2へのTELNETが成功した場合に、R3へのTELNETが許可されるという形で進めます。

R2に対してのTELNETをユーザ名 ccie、パスワード ccieで許可します。

R2(config-if)#username ccie pass ccie
R2(config)#line vty 0 4
R2(config-line)#login local
R2(config-line)#ip access-list extended DYNAMIC_LIST
R2(config-ext-nacl)#20 permit tcp any host 17.17.2.2 eq telnet
R2(config-ext-nacl)#do sh ip acce
Extended IP access list DYNAMIC_LIST
    10 permit eigrp any any (267 matches)
    20 permit tcp any host 17.17.2.2 eq telnet
    100 deny ip any any (3 matches)

R1より接続出来ることを確認します。

R1(config)#do telnet 17.17.2.2
Trying 17.17.2.2 ... Open
〜略〜
R2>

ダイナミックアクセスリストをTELNETと名前を指定して作成します。

R2(config-line)#ip access-list extended DYNAMIC_LIST
R2(config-ext-nacl)#30 dynamic TELNET permit tcp any host 17.17.3.3 eq telnet
R2(config-ext-nacl)#do sh ip acce
Extended IP access list DYNAMIC_LIST
    10 permit eigrp any any (2955 matches)
    20 permit tcp any host 17.17.2.2 eq telnet (285 matches)
    30 Dynamic TELNET permit tcp any host 17.17.3.3 eq telnet
    100 deny ip any any (3 matches)

TELNETで有効にするためにline vtyに対して、autocommandコマンドを指定します。

R2(config)#line vty 0 4
R2(config-line)#autocommand access-enable host timeout 10

R1からR2にTELNETで接続します。するとログイン後、自動的にログアウトします。

R1(config)#do telnet 17.17.2.2
Trying 17.17.2.2 ... Open
〜略〜
Password:
[Connection to 17.17.2.2 closed by foreign host]

ここでR2のアクセスリストを確認するとR1からR3へのTELNETが有効になっていることが確認できます。

R2(config-ext-nacl)#do sh ip acce
Extended IP access list DYNAMIC_LIST
    10 permit eigrp any any (2991 matches)
    20 permit tcp any host 17.17.2.2 eq telnet (351 matches)
    30 Dynamic TELNET permit tcp any host 17.17.3.3 eq telnet
       permit tcp host 12.12.12.1 host 17.17.3.3 eq telnet
    100 deny ip any any (3 matches)

この状態でR1からR3へのTELNET接続が可能であることを確認しています。

R1(config)#do telnet 17.17.3.3
Trying 17.17.3.3 ... Open
〜略〜
Password:
R3>

カテゴリ:

今回はIOSでログを利用する際の小技を紹介します。

コマンドを売っている時にログが表示されると画面が見づらくなります。

R1(config)#do deb ip icmp
ICMP packet debugging is on
R1(config)#do pin 17.17.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 17.17.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/3/12 ms
R1(config)#
ICMP: echo reply sent, src 17.17.1.1, dst 17.17.1.1
〜略〜
ICMP: echo reply rcvd, src 17.17.1.1, dst 17.17.1.1 ←カーソルの位置

logging synchronousコマンドを設定すると割り込みの表示があった際も、カーソル中は元の利用位置に留まります。

R1(config)#line console 0
R1(config-line)#logging synchronous

R1(config-line)#do pin 17.17.1.1
〜略〜
ICMP: echo reply rcvd, src 17.17.1.1, dst 17.17.1.1
R1(config-line)# ←カーソルの位置

表示されたログはスクロールアップして辿っていくという使い方もありですが、logging bufferedコマンドを利用してログを保存すると確認が用意になります。

R1(config)#logging buffered
R1(config)#do pin 17.17.1.1
〜略〜
R1(config)#do sh logging
〜略〜
Log Buffer (4096 bytes):

ICMP: echo reply sent, src 17.17.1.1, dst 17.17.1.1
ICMP: echo reply rcvd, src 17.17.1.1, dst 17.17.1.1

ログに通し番号を付けるにはservice sequence-numbersコマンドを利用します。

R1(config)#service sequence-numbers
R1(config)#do pin 17.17.1.1
〜略〜
000221: ICMP: echo reply sent, src 17.17.1.1, dst 17.17.1.1
000222: ICMP: echo reply rcvd, src 17.17.1.1, dst 17.17.1.1

初期値ではログやデバグに日時は表示されません。service timestampsコマンドを使うことで日時を併せて表示できます。この時、当然ながら時計が正しく設定されていないと意味がありません。

R1(config)#service timestamps debug datetime ?
  localtime      Use local time zone for timestamps
  msec           Include milliseconds in timestamp
  show-timezone  Add time zone information to timestamp
  year           Include year in timestamp
  <cr>

R1(config)#service timestamps debug datetime localtime
R1(config)#service timestamps log datetime localtime
R1(config)#do pin 17.17.1.1
〜略〜
Sep 13 15:21:08: ICMP: echo reply sent, src 17.17.1.1, dst 17.17.1.1
Sep 13 15:21:08: ICMP: echo reply rcvd, src 17.17.1.1, dst 17.17.1.1
R1(config)#do sh clock
15:22:50.971 JST Tue Sep 13 2011

カテゴリ:

今回はアクセスリストでの"log"の利用方法を確認します。R1とR2はF0/0で接続されており、EIGRPが設定されています。

R1(config)#do sh ip int b
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            12.12.12.1      YES manual up                    up
Loopback0                  17.17.1.1       YES NVRAM  up                    up

R2(config)#do sh ip int b
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            12.12.12.2      YES manual up                    up
Loopback0                  17.17.2.2       YES NVRAM  up                    up

R1(config)#do sh ip ei 100 int
IP-EIGRP interfaces for process 100

                        Xmit Queue   Mean   Pacing Time   Multicast    Pending
Interface        Peers  Un/Reliable  SRTT   Un/Reliable   Flow Timer   Routes
Fa0/0              1        0/0        12       0/1           50           0
Lo0                0        0/0         0       0/1            0           0

R1(config)#do sh ip rou ei
     17.0.0.0/24 is subnetted, 2 subnets
D       17.17.2.0 [90/156160] via 12.12.12.2, 00:08:57, FastEthernet0/0

R1(config)#do pin 17.17.2.2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 17.17.2.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/8/12 ms

pingを通すためのアクセスリストを作成します。EIGRPも併せて許可しています。

R2(config)#ip access-list extended LIST1
R2(config-ext-nacl)#10 permit icmp an an
R2(config-ext-nacl)#100 per eigrp an an
R2(config-ext-nacl)#do sh ip acce
Extended IP access list LIST1
    10 permit icmp any any
    100 permit eigrp any any

F0/0に適用して、pingコマンドを実行します。

R2(config-ext-nacl)#int f0/0
R2(config-if)#ip access-group LIST1 in
R2(config-if)#do sh ip int f0/0 | i LIST1
  Inbound  access list is LIST1

実行後、R1よりpingを実行します。

R1(config)#do pin 17.17.2.2
〜略〜
!!!!!

R2でアクセスリストを確認すると"15 matches"となっており、正しく適用されたことが分かります。

R2(config)#do sh ip acce
Extended IP access list LIST1
    10 permit icmp any any (15 matches)
    100 permit eigrp any any (6 matches)

ICMPの行に"log"を追加します。

R2(config)#ip access-list extended LIST1
R2(config-ext-nacl)#no 10 per icmp an an
R2(config-ext-nacl)#10 per icm an an log
R2(config-ext-nacl)#do sh ip acce
Extended IP access list LIST1
    10 permit icmp any any log
〜略〜

R1でpingを実行すると、下記のようなログがR2に表示されます。

Sep  5 06:12:46.347: %SEC-6-IPACCESSLOGDP: list LIST1 permitted icmp 12.12.12.1 -> 17.17.2.2 (0/0), 5 packets

"log"を"log-input"に変更します。

R2(config-ext-nacl)#no 10
R2(config-ext-nacl)#10 permit icmp an an log-input

R1でpingを実行すると、下記のようなログがR2に表示されます。"log"と違い、MACアドレスが表示されることが分かります。

Sep  5 06:14:30.551: %SEC-6-IPACCESSLOGDP: list LIST1 permitted icmp 12.12.12.1 (FastEthernet0/0 c200.163f.0000) -> 17.17.2.2 (0/0), 5 packets

このページのトップヘ

見出し画像
×