カテゴリ

カテゴリ:Cisco

カテゴリ:

使うと便利ですが、慣れないと設定が分かりづらいのがmenuコマンドです。ここではごく簡単な設定をして利用方法を確認します。

R1に設定を行います。まずmenuコマンドに続いて、設定するメニューの名前を指定します。ここではMYMENUとします。併せてメニューのタイトルを指定します。分かりづらいですが、行末に使った文字で最後に閉じます。

R1(config)#menu MYMENU title -
Enter TEXT message.  End with the character '-'.
This is my menu
-
R1(config)#

続けて実際に表示するメニューを作成します。今回は1番がshow ip route、2番がshow ip interface bried、3番がexitを設定してみます。

1番をまず設定します。textに続けて"1"を入力し、その後表示する文字列を指定します。

R1(config)#menu MYMENU text ?
  WORD  Menu item number or character

R1(config)#menu MYMENU text 1 ?
  LINE  Text for this menu item

R1(config)#menu MYMENU text 1 show ip route

次に実際に実行されるコマンドを指定します。

R1(config)#menu MYMENU command 1 ?
  LINE  Command for this menu item

R1(config)#menu MYMENU command 1 show ip route

この手順で2番と3番も設定します。

R1(config)#menu MYMENU text 2 show ip interface brief
R1(config)#menu MYMENU command 2 show ip interface brief
R1(config)#menu MYMENU text 3 finish this menu
R1(config)#menu MYMENU command 3 exit

設定されたメニューはTELNETでユーザciscoでログインした場合に実行される設定を行います。

R1(config)#username cisco secret cisco
R1(config)#username cisco autocommand menu MYMENU
R1(config)#line vty 0 4
R1(config-line)#login local

TELNETで接続するとメニューが表示されることが分かります。

R1(config-line)#do telnet 17.17.1.1
Trying 17.17.1.1 ... Open

User Access Verification

Username: cisco
Password:
This is my menu

    1          show ip route

    2          show ip interface brief

    3          finish this menu

この状態で"1"を押すと下記のように表示されます。

Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     17.0.0.0/24 is subnetted, 2 subnets
C       17.17.1.0 is directly connected, Loopback0
D       17.17.2.0 [90/156160] via 12.12.12.2, 00:26:11, FastEthernet0/0
     12.0.0.0/24 is subnetted, 1 subnets
C       12.12.12.0 is directly connected, FastEthernet0/0
This is my menu

    1          show ip route

    2          show ip interface brief

    3          finish this menu

次に"2"を押すと下記のようになります。

Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            12.12.12.1      YES manual up                    up
FastEthernet0/1            unassigned      YES unset  administratively down down
Serial1/0                  unassigned      YES unset  administratively down down
Loopback0                  17.17.1.1       YES NVRAM  up                    up
This is my menu

    1          show ip route

    2          show ip interface brief

    3          finish this menu

最後に"3"で終了となります。

[Connection to 17.17.1.1 closed by foreign host]

上手く活用すれば初心者に管理を任せることも可能になるでしょう。

カテゴリ:

実行したコマンドを記録するには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

カテゴリ:

今回はIPv6 RIPにおける経路の集約を行います。R1とR2はF0/0で接続されていて、Lo0と共にそれぞれリンクローカルアドレスを設定してあります。R2のLo0には集約で使うアドレスを4つ追加しました。

R1(config)#do sh ipv int b
FastEthernet0/0            [up/up]
    FE80::1
Loopback0                  [up/up]
    FE80::1

R2(config-if)#do sh ipv int b
FastEthernet0/0            [up/up]
    FE80::2
Loopback0                  [up/up]
    FE80::2
    2001:0:0:2::2
    2001:0:0:22::2
    2001:0:0:222::2
    2001:0:0:2222::2

R1とR2のF0/0でRIPを有効にします。

R1(config)#do sh run int f0/0
〜略〜
interface FastEthernet0/0
ipv6 address FE80::1 link-local
ipv6 rip RIP6 enable

R1(config)#do deb ipv rip
RIP Routing Protocol debugging is on
R1(config)#do sh ipv rip RIP6
RIP process "RIP6", port 521, multicast-group FF02::9, pid 246
     Administrative distance is 120. Maximum paths is 16
     Updates every 30 seconds, expire after 180
     Holddown lasts 0 seconds, garbage collect after 120
     Split horizon is on; poison reverse is off
     Default routes are not generated
     Periodic updates 58, trigger updates 11
  Interfaces:
    Loopback0
    FastEthernet0/0
  Redistribution:
    None

R1のルーティングテーブルにR2のアドレスが表示されることが分かります。

R1(config-if)#do sh ipv rou rip
IPv6 Routing Table - 5 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
       U - Per-user Static route, M - MIPv6
       I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
       O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
       ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
       D - EIGRP, EX - EIGRP external
R   2001:0:0:2::/64 [120/2]
     via FE80::2, FastEthernet0/0
R   2001:0:0:22::/64 [120/2]
     via FE80::2, FastEthernet0/0
R   2001:0:0:222::/64 [120/2]
     via FE80::2, FastEthernet0/0
R   2001:0:0:2222::/64 [120/2]
     via FE80::2, FastEthernet0/0

4つのアドレスにpingを実行します。

R1(config)#do pin 2001:0:0:2::2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:0:0:2::2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/10/28 ms
R1(config)#do pin 2001:0:0:22::2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:0:0:22::2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/8/12 ms
R1(config)#do pin 2001:0:0:222::2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:0:0:222::2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/7/8 ms
R1(config)#do pin 2001:0:0:2222::2

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

pingの実行が確認できたので集約を行います。利用するのはipv6 rip summary-addressコマンドで、ここでは単純に/64を/48に集約します。コマンドを設定するのは集約アドレスを流したいインターフェースで、この場合はR2のF0/0上で利用します。

R2(config-if)#int f0/0
R2(config-if)#ipv rip RIP6 summary-address 2001::/48

RIPでのこの様な設定はOSPFやEIGRPと違い、反映に時間がかかります。CCIE Lab受験時など早く結果を得たい時にはインターフェースを一度shutしルーティングテーブルを消してからno shutします。

設定後、確認すると下記のようにすっきりした形になります。

R1(config)#do sh ipv rou rip
IPv6 Routing Table - 2 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
       U - Per-user Static route, M - MIPv6
       I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
       O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
       ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
       D - EIGRP, EX - EIGRP external
R   2001::/48 [120/2]
     via FE80::2, FastEthernet0/0

pingを実行します。ここではforeachを使っています。CCIE Lab受験時には多くのアドレスに対してpingを実行しますので、foreachの使い方を覚えおくと便利です。

R1(tcl)#foreach router {
+>(tcl)#2001:0:0:2::2
+>(tcl)#2001:0:0:22::2
+>(tcl)#2001:0:0:222::2
+>(tcl)#2001:0:0:2222::2
+>(tcl)#} { puts [ exec "ping $router"]}

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

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

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

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

R1(tcl)#tclquit

カテゴリ:

今回はIPv6のRIPでメトリックを指定する方法を確認します。現在R1とR2はF0/0とS1/0(フレームリレー)で直接接続されています。

R1(config-if)#do sh ipv int b
FastEthernet0/0            [up/up]
    FE80::1
Serial1/0                  [up/up]
    FE80::1

Loopback0                  [up/up]
    FE80::1
    2001:1::1

R2(config-if)#do sh ipv int b
FastEthernet0/0            [up/up]
    FE80::2
Serial1/0                  [up/up]
    FE80::2
Loopback0                  [up/up]
    FE80::2
    2001:2::2

R1(config)#do pin fe80::2
Output Interface: fastethernet0/0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to FE80::2, timeout is 2 seconds:
Packet sent with a source address of FE80::1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/7/8 ms
R1(config)#do pin fe80::2
Output Interface: serial1/0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to FE80::2, timeout is 2 seconds:
Packet sent with a source address of FE80::1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/9/24 ms

R1とR2それぞれでF0/0, S1/0, Lo0でIPv6 RIPを有効にします。

R1(config)#int f0/0
R1(config-if)#ipv6 rip RIP6 enable
R1(config-if)#int s1/0
R1(config-if)#ipv6 rip RIP6 enable
R1(config-if)#int lo0
R1(config-if)#ipv6 rip RIP6 enable
R1(config-if)#do sh ipv rip RIP6
RIP process "RIP6", port 521, multicast-group FF02::9, pid 255
     Administrative distance is 120. Maximum paths is 16
     Updates every 30 seconds, expire after 180
     Holddown lasts 0 seconds, garbage collect after 120
     Split horizon is on; poison reverse is off
     Default routes are not generated
     Periodic updates 103, trigger updates 6
  Interfaces:
    Serial1/0
    FastEthernet0/0
    Loopback0
  Redistribution:
    None

R1からR2へのLo0アドレス(2001:2::2)へのルートを確認します。メトリックが2で、2つのインターフェースを利用していることが分かります。

R1(config-if)#do sh ipv rou 2001:2::2
IPv6 Routing Table - 4 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
       U - Per-user Static route, M - MIPv6
       I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
       O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
       ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
       D - EIGRP, EX - EIGRP external
R   2001:2::/64 [120/2]
     via FE80::2, FastEthernet0/0
     via FE80::2, Serial1/0

R1のインターフェースでメトリック値を指定してみます。ipv6 rip RIP6 metric-offsetコマンドを利用し、3を指定してみました。

R1(config-if)#int f0/0
R1(config-if)#ipv6 rip RIP6 metric-offset 3
R1(config-if)#int s1/0
R1(config-if)#ipv6 rip RIP6 metric-offset 3
R1(config-if)#do deb ipv6 rip
RIP Routing Protocol debugging is on

メトリックが最初の2(1+1)から4(1+3)に変更されたことが分かります。

R1(config-if)#do sh ipv rou 2001:2::2
〜略〜
R   2001:2::/64 [120/4]
     via FE80::2, Serial1/0
     via FE80::2, FastEthernet0/0

次にF0/0のみ、メトリックを5に変更します。これによりF0/0がルーティングから消えることが分かります。

R1(config-if)#int f0/0
R1(config-if)#ipv6 rip RIP6 metric-offset 5

R1(config-if)#do sh ipv rou 2001:2::2
〜略〜
R   2001:2::/64 [120/4]
     via FE80::2, Serial1/0

特定の経路をあえて使わないようにする場合に、metric-offsetはよく使われます。

カテゴリ:

今回はフレームリレーにIPv6の設定を行います。基本的にはIPv4と同じです。R1のS1/0からはDLCI 102、R2のS1/0からはDLCI 201を使って接続を行います。

R1での設定です、カプセル化とIPアドレスを指定しています。DLCIは静的に利用するため、inverse-arpを無効にしました。

R1(config)#int s1/0
R1(config-if)#encapsulation frame-relay
R1(config-if)#no sh
R1(config-if)#no fram inverse-arp
R1(config-if)#ipv6 address fe80::1 link-local

DLCIをframe-relay mapで指定し、確認します。

R1(config-if)#frame-relay map ipv6 fe80::2 102 broadcast
R1(config-if)#do sh fram map
Serial1/0 (up): ipv6 FE80::2 dlci 102(0x66,0x1860), static,
              broadcast,
              CISCO, status defined, active

R2でも同じように設定します。

R2(config)#int s1/0
R2(config-if)#no sh
R2(config-if)#en fram
R2(config-if)#no fram inv
R2(config-if)#ipv add fe80::2 li
R2(config-if)#fram map ipv6 fe80::1 201 b
R2(config-if)#do sh fram map
Serial1/0 (up): ipv6 FE80::1 dlci 201(0xC9,0x3090), static,
              broadcast,
              CISCO, status defined, active

両方のインターフェースがup/upになっていることが分かります。pingで疎通を確認します。

R1(config-if)#do sh ipv int b
Serial1/0                  [up/up]
    FE80::1

R2(config-if)#do sh ipv int b
Serial1/0                  [up/up]
    FE80::2

R1(config-if)#do pin fe80::2
Output Interface: serial1/0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to FE80::2, timeout is 2 seconds:
Packet sent with a source address of FE80::1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/8/16 ms

当然ながらLMIタイプが一致しないと接続できません。下記はあえてLMIタイプをCISCOに変えている例です。

R1(config-if)#do sh int s1/0 | i LMI type
  LMI DLCI 0  LMI type is ANSI Annex D  frame relay DTE  segmentation inactive
R1(config-if)#do deb fram lmi
Frame Relay LMI debugging is on
Displaying all Frame Relay LMI data

R1(config-if)#frame-relay lmi-type cisco

Aug 15 06:07:09.215: Serial1/0(out): StEnq, myseq 3, yourseen 0, DTE up
Aug 15 06:07:09.219: datagramstart = 0xF400714, datagramsize = 13
Aug 15 06:07:09.219: FR encap = 0xFCF10309
Aug 15 06:07:09.219: 00 75 01 01 01 03 02 03 00
Aug 15 06:07:09.223:
Aug 15 06:07:19.215: Serial1/0(out): StEnq, myseq 1, yourseen 0, DTE down

R1(config-if)#do sh ipv int b
Serial1/0                  [up/down]
    FE80::1

LMIタイプを元に戻し、Lo0にもIPv6アドレスを設定しました。

R1(config-if)#do sh ipv int b
Serial1/0                  [up/up]
    FE80::1
Loopback0                  [up/up]
    FE80::1
    2001:1::1

全てのインターフェースでRIPを有効にします。

R1(config-if)#do sh ipv6 rip
RIP process "RIP6", port 521, multicast-group FF02::9, pid 255
     Administrative distance is 120. Maximum paths is 16
     Updates every 30 seconds, expire after 180
     Holddown lasts 0 seconds, garbage collect after 120
     Split horizon is on; poison reverse is off
     Default routes are not generated
     Periodic updates 1, trigger updates 2
  Interfaces:
    Loopback0
    Serial1/0
  Redistribution:
    None

この様に、IPv6でフレームリレーを利用した場合でもルーティングの設定は基本的に同じです。

R1(config-if)#do sh ipv rou rip
IPv6 Routing Table - 4 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
       U - Per-user Static route, M - MIPv6
       I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
       O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
       ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
       D - EIGRP, EX - EIGRP external
R   2001:2::/64 [120/2]
     via FE80::2, Serial1/0
R1(config-if)#do pin 2001:2::2

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

カテゴリ:

今回はインターフェースにIPv6アドレスを設定する、ごく基本的な方法を説明します。

R1(config-if)#do sh run int f0/0
Building configuration...

Current configuration : 72 bytes
!
interface FastEthernet0/0
no ip address
end

手っ取り早くIPv6を有効にするにはipv6 enableを利用します。

R1(config-if)#int f0/0
R1(config-if)#ipv6 enable

R1(config-if)#do sh run int f0/0
Building configuration...

Current configuration : 85 bytes
!
interface FastEthernet0/0
no ip address
ipv6 enable
end

R1(config-if)#do sh ipv int b   
FastEthernet0/0            [up/up]
    FE80::C000:12FF:FE13:0

R2にも同じように設定します。

R2(config-if)#int f0/0
R2(config-if)#ipv en
R2(config-if)#do sh ipv int b
FastEthernet0/0            [up/up]
    FE80::C001:12FF:FE13:0

R1にpingが通ることを確認します。

R2(config-if)#do pin  FE80::C000:12FF:FE13:0
Output Interface: fastethernet0/0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to FE80::C000:12FF:FE13:0, timeout is 2 seconds:
Packet sent with a source address of FE80::C001:12FF:FE13:0
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/9/16 ms

グローバルアドレスを割り当てるには手動とMACアドレスを利用するEUIがあります。

まず手動での割り当てです。IPv4と違いsecondary addressを使わなくても、そのまま複数のアドレスを設定可能です。

R1(config-if)#int f0/0
R1(config-if)#ipv add 2001:1::1/64
R1(config-if)#ipv add 2001:1::10/64
R1(config-if)#ipv add 2001:1::100/64
R1(config-if)#do sh ipv int b
FastEthernet0/0            [up/up]
    FE80::C000:12FF:FE13:0
    2001:1::1
    2001:1::10
    2001:1::100

R2はEUIを使って設定してみます。MACアドレスが利用されていることが分かります。

R2(config-if)#int f0/0
R2(config-if)#ipv address 2001:2::/64 ?
  anycast  Configure as an anycast
  eui-64   Use eui-64 interface identifier
  <cr>

R2(config-if)#ipv address 2001:2::/64 eui-64
R2(config-if)#do sh ipv int b
FastEthernet0/0            [up/up]
    FE80::C001:12FF:FE13:0
    2001:2::C001:12FF:FE13:0

R2(config-if)#do sh ipv int f0/0
FastEthernet0/0 is up, line protocol is up
  IPv6 is enabled, link-local address is FE80::C001:12FF:FE13:0
〜略〜

カテゴリ:

今回はIPv6におけるアクセスリストの利用方法を確認します。現在、R1とR2はEIGRPを利用しています。

R1#show ipv6 interface b
FastEthernet0/0            [up/up]
    FE80::1
Loopback0                  [up/up]
    FE80::1
    2001:1::1

R2#show ipv6 interface brief
FastEthernet0/0            [up/up]
    FE80::2
Loopback0                  [up/up]
    FE80::2
    2001:2::2

R1#show ipv6 route eigrp
IPv6 Routing Table - 4 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
       U - Per-user Static route, M - MIPv6
       I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
       O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
       ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
       D - EIGRP, EX - EIGRP external
D   2001:2::/64 [90/156160]
     via FE80::2, FastEthernet0/0

R1#ping 2001:2::2

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

アクセス制限をかけていない初期状態ではR1のF0/0とLo0両方からtelnetで接続が可能です。

R1#telnet 2001:2::2 /source-interface f0/0
Trying 2001:2::2 ... Open

User Access Verification

Password:
R2>

R1#telnet 2001:2::2 /source-interface lo0
Trying 2001:2::2 ... Open

User Access Verification

Password:
R2>show users
    Line       User       Host(s)              Idle       Location
   0 con 0                idle                 00:00:16   
* 98 vty 0                idle                 00:00:00 2001:1::1

  Interface    User               Mode         Idle     Peer Address

R2にIPv6でのアクセスリストを使い、接続の制限を行います。IPv6アクセスリストでは名前付きのみが利用可能です。今回は稼働状況を確認するためにlogを加えました。

R2(config)#ipv6 access-list TELNET
R2(config-ipv6-acl)#permit ipv6 2001:1::/64 host 2001:2::2 log
R2(config-ipv6-acl)#do sh ipv ac
IPv6 access list TELNET
    permit ipv6 2001:1::/64 host 2001:2::2 log sequence 10

アクセスリストをline vtyに適用します。

R2(config-ipv6-acl)#line vty 0 4
R2(config-line)#ipv6 access-class TELNET in

接続を確認します。まずf0/0(fe80::1)からでは接続が拒否されます。

R1#telnet 2001:2::2 /source-interface f0/0
Trying 2001:2::2 ...
% Connection refused by remote host

次にlo0(2001:1::1)からの接続は問題がないことが分かります。

R1#telnet 2001:2::2 /source-interface lo0
Trying 2001:2::2 ... Open

User Access Verification

Password:
R2

R2には下記のようにログが表示されます。

R2(config-ipv6-acl)#
Aug  1 06:06:28.675: %IPV6-6-ACCESSLOGP: list TELNET/10 permitted tcp 2001:1::1(13418) -> 2001:2::2(23), 1 packet

R2(config-ipv6-acl)#do sh ipv ac
IPv6 access list TELNET
    permit ipv6 2001:1::/64 host 2001:2::2 log (2 matches) sequence 10

アクセスリストを作成する際は名前付きのみが有効という点以外は、基本的にIPv4と同じ様に利用できます。

このページのトップヘ

見出し画像
×