カテゴリ:

今回はDHCPサーバを異なるネットワークに置いた場合の設定を確認します。ip helper-addressコマンドを使いますが、どこにコマンドを適用するのか、慣れないと迷います。

R2はR1(F0/0)とR3(S1/3)にそれぞれ直結しています。ここではR3をDHCPサーバとし、R1のインターフェースをDHCPクライアントとします。

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

まず前回を参考にR3にDHCPサーバの設定を行います。

R3(config)#ip dhcp pool MYDHCP

R3(dhcp-config)#network 12.12.12.0 /24
R3(dhcp-config)#exit
R3(config)#ip dhcp excluded-address 12.12.12.0 12.12.12.99
R3(config)#do deb ip dhcp server event
R3(config)#do sh ip dhcp pool MYDHCP

Pool MYDHCP :
Utilization mark (high/low)    : 100 / 0
Subnet size (first/next)       : 0 / 0
Total addresses                : 254
Leased addresses               : 0
Pending event                  : none
1 subnet is currently in the pool :
Current index        IP address range                    Leased addresses
12.12.12.1           12.12.12.1       - 12.12.12.254      0

ここでR1のF0/0でDHCPを有効にします。

R1(config)#int f0/0
R1(config-if)#ip address dhcp
R1(config-if)#no sh

有効にしてもDHCPによるIPアドレスの割り当ては行われません。これは23.23.23.0/24にあるDHCPサーバまでBOOTPパケットが転送されないからです。

R1(config-if)#do sh ip int b
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            unassigned      YES DHCP   up                    up

BOOTPパケットの転送を行うためにip helper-addressコマンドを利用しますが、設定するのはBOOTPパケットを受け取るインターフェースになります(この場合、R1のF0/0に直結しているR2のF0/0)。

R2(config)#int f0/0
R2(config-if)#ip helper-address 23.23.23.3
R2(config-if)#do sh ip int f0/0 | i Help
  Helper address is 23.23.23.3

設定後、しばらくするとR3に反応が出ます。

Oct 30 06:21:54.383: DHCPD: Adding binding to radix tree (12.12.12.100)
Oct 30 06:21:54.383: DHCPD: Adding binding to hash tree
Oct 30 06:21:54.387: DHCPD: assigned IP address 12.12.12.100 to client 0063.6973.636f.2d63.3230.302e.3165.3633.2e30.3030.302d.4661.302f.30.
Oct 30 06:21:54.427: DHCPD: Sending notification of ASSIGNMENT:
Oct 30 06:21:54.427:  DHCPD: address 12.12.12.100 mask 255.255.255.0

R3(config)#do sh ip dhcp bind
Bindings from all pools not associated with VRF:
IP address          Client-ID/              Lease expiration        Type
                    Hardware address/
                    User name
12.12.12.100        0063.6973.636f.2d63.    Oct 31 2011 03:21 PM    Automatic
                    3230.302e.3165.3633.
                    2e30.3030.302d.4661.
                    302f.30

R1で正しくIPアドレスが割り当てられたことが分かります。

R1(config-if)#
Oct 30 06:21:51.911: %DHCP-6-ADDRESS_ASSIGN: Interface FastEthernet0/0 assigned DHCP address 12.12.12.100, mask 255.255.255.0, hostname R1

R1(config-if)#do sh ip int b
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            12.12.12.100    YES DHCP   up                    up

カテゴリ:

今回はDHCPサーバの設定を行います。それほど難しい点はありませんが、独特な設定箇所があります。

まずip dhcp poolコマンドで利用するDHCP名を定義します、ここではMYDHCPとしました。

R2(config)#ip dhcp pool MYDHCP

次に利用するネットワークを指定します。ここでは12.12.12.0/24を指定しますが、マスク値の前にはスペースが必要です。

R2(dhcp-config)#network 12.12.12.0 ?
  /nn or A.B.C.D  Network mask or prefix length
  <cr>

R2(dhcp-config)#network 12.12.12.0 /24

デフォルトゲートウェイを指定するにはdefault-routerを利用します。

R2(dhcp-config)#default-router 12.12.12.2

リース期間はleaseコマンドを使い、続けて日数、時間数を指定します。下記は8時間を指定した例です。

R2(dhcp-config)#lease 0 8

DHCPサーバを定義する時に貸し出すIPアドレスの範囲を指定します。利用するのはip dhcp excluded-addressコマンドです。名前の通り貸し出さないIPアドレスを指定します。ここでは12.12.12.100から12.12.12.199までを貸し出す範囲とします。

R2(config)#ip dhcp excluded-address 12.12.12.0 12.12.12.99
R2(config)#ip dhcp excluded-address 12.12.12.200 12.12.12.255

これで準備は完了です。sh ip dhcp poolコマンドで設定を確認できますが、ここにはexcludedアドレスは表示されません。

R2#sh ip dhcp pool MYDHCP

Pool MYDHCP :
Utilization mark (high/low)    : 100 / 0
Subnet size (first/next)       : 0 / 0
Total addresses                : 254
Leased addresses               : 1
Pending event                  : none
1 subnet is currently in the pool :
Current index        IP address range                    Leased addresses
12.12.12.101         12.12.12.1       - 12.12.12.254      1

デバグを有効にしてDHCPクライアントを設定します。

R2#debug ip dhcp server events

直接R2に接続されているR1のインターフェース(f0/0)にDHCPを設定し、no shutします。

R2(config-if)#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)#int f0/0
R1(config-if)#ip address dhcp
R1(config-if)#no shutdown

R2のデバグが表示され、IPアドレスが提供されます。

R2(config-if)#
Oct 24 06:02:53.851: DHCPD: assigned IP address 12.12.12.100 to client 0063.6973.636f.2d63.3230.302e.3132.3161.2e30.3030.302d.4661.302f.30.
Oct 24 06:02:53.863: DHCPD: Sending notification of ASSIGNMENT:
Oct 24 06:02:53.863:  DHCPD: address 12.12.12.100 mask 255.255.255.0
Oct 24 06:02:53.863:   DHCPD: htype 1 chaddr c200.121a.0000
Oct 24 06:02:53.863:   DHCPD: lease time remaining (secs) = 28800

貸し出しているIPアドレスを確認するにはshow ip dhcp bindingコマンドを利用します。

R2#sh ip dhcp binding
Bindings from all pools not associated with VRF:
IP address          Client-ID/              Lease expiration        Type
                    Hardware address/
                    User name
12.12.12.100        0063.6973.636f.2d63.    Oct 24 2011 11:02 PM    Automatic
                    3230.302e.3132.3161.
                    2e30.3030.302d.4661.
                    302f.30

R1でインターフェースを確認しています。

R1(config-if)#do sh ip int b
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            12.12.12.100    YES DHCP   up                    up

デフォルトゲートウェイを受け取っていることも分かります。

R1(config)#do sh ip rou static
S*   0.0.0.0/0 [254/0] via 12.12.12.2

Siriを使ってみる その2

カテゴリ:

Siri2なかなか言うことを聞いてくれないiPhone 4SのSiriですが、発音の確認にはこんな方法があります。

"What's the phone number of me"で自分の電話番号が出るはずです。これを利用して、発音を確認したいユーザ名を登録すればいいのでは…。

左記のようにファーストネームはJohn(深い意味はありません)でラストネームに発音が難しそうなものを入れてみました。

まず日本人にはお約束のRとLの違いをRightさんとLightさんで。それとTHでThinkさんとSinkさん。最後になぜか全然認識してくれない"What's the weather for today."のためにWeatherさん。

ネイティブスピーカーだったら、この5人を一発で言い分けられるのかなぁ。

カテゴリ:

Linuxでは/etc/hostsにホスト名を登録することで、任意の名前でアクセスが可能になります。下記は192.168.0.1をrouter1で登録する例で、設定後はrouter1でpingコマンドが実行できることが分かります。

# ping router1
ping: unknown host router1
# vi /etc/hosts
# tail -1 /etc/hosts
192.168.0.1           router1.tempest.jp router1
# ping router1
PING router1.tempest.jp (192.168.0.1) 56(84) bytes of data.
64 bytes from router1.tempest.jp (192.168.0.1): icmp_seq=1 ttl=64 time=0.875 ms
〜略〜

IOSでのホスト名の指定にはip hostコマンドを利用します。

R2(config)#do ping R1

Translating "R1"
% Unrecognized host or address, or protocol not running.

R2(config)#ip host R1 17.17.1.1
R2(config)#do pin R1

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 = 4/7/12 ms

設定の確認にはshow hostコマンドを利用します。通常使うルータやサーバを登録しておくと接続が楽になります。

R2(config)#do sh host
Default domain is not set
Name/address lookup uses static mappings

Codes: UN - unknown, EX - expired, OK - OK, ?? - revalidate
       temp - temporary, perm - permanent
       NA - Not Applicable None - Not defined

Host                      Port  Flags      Age Type   Address(es)
R1                        None  (perm, OK)  0   IP    17.17.1.1

同じホスト名で登録すると上書きとなりますので注意が必要です。

R2(config)#ip host R1 12.12.12.1
R2(config)#do sh host
〜略〜
R1                        None  (perm, OK)  0   IP    12.12.12.1

個別に解除するにはno ip hostコマンドを実行します。

R2(config)#no ip host R1 12.12.12.1

Siriを使ってみる その1

カテゴリ:

Siri iPhone 4Sが届いたので、早速期待のSiriを試してみた。システムの言語設定が日本語でも利用は全く問題ない。ホームボタンの長押しか、本体を耳にあてるとSiriが起動する。

とりあえず"Send message to my wife."に挑戦するも、これが大変。まず"my wife"が"my life"で認識されちゃう…。普通に考えれば"life"の発音の方がずっと難しいはずなのに。

何とか"my wife"が通じると次は誰が"wife"かを指定しろとなる。それも口頭で、電話番号かメールアドレスを指定するという難解さ。いろいろ試して、"123"という簡単な電話番号を一時的に登録することで解決した。

ところがその後、連絡先に関係者という項目が増えており、自分のページに配偶者や母を登録すればいいことが分かった。当たり前だが、母は"my mom"でも"my mother"でも呼び出せる。

ちなみに上記画面でSendを押せば送信だが、yesと答えても送ることが可能。ちなみにCancelは何度言っても通じないよ!!

ということでSiriとの戦いは続く。

カテゴリ:

今回は前回のmenuコマンドの設定をもう少し詳しく確認します。まず前回はタイトルのみを指定しましたが、併せてpromptを利用すると便利でしょう。実行時に、入力する文字の前に表示(今回はchoose one:)されます。

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

R1(config)#R1(config)#menu MYMENU prompt - choose one: -

各menuの指定時に、オプションでpauseを指定することが出来ます。ここでは1番と2番に同じshow clockを指定し、2番にのみpauseを設定しました。

R1(config)#menu MYMENU text 1. show clock
R1(config)#menu MYMENU command 1. show clock
R1(config)#menu MYMENU text 2. show clock
R1(config)#menu MYMENU command 2. show clock
R1(config)#menu MYMENU options 2. pause
R1(config)#menu MYMENU text 3. exit
R1(config)#menu MYMENU command 3. exit

実行して違いを確認します。直接menuコマンドを実行することで利用が開始されます。

R1(config)#do menu MYMENU

This is my menu

    1.         show clock

    2.         show clock

    3.         exit

Choose one: ← 1を入力
16:13:41.491 JST Tue Oct 11 2011
This is my menu

    1.         show clock

    2.         show clock

    3.         exit

Choose one: ← 2を入力
16:13:42.975 JST Tue Oct 11 2011
--More--

2を入力した後は、何かキーを打つまで画面が保留状態に留まることが分かります。

今確認したように、初期値では入力したキーは表示されません。確認して実行するにはline-modeを利用します。

R1(config)#menu MYMENU ?
〜略〜
  line-mode     require <enter> after typing selection
〜略〜
R1(config)#menu MYMENU line-mode

設定後に再実行すると番号が表示され、enterキーで有効になることが分かります。

R1(config)#do menu MYMENU
〜略〜
    3.         exit

Choose one: 1
16:20:25.095 JST Tue Oct 11 2011

defaultを指定すると、選択しない場合の実行を指定できます。ここでは1番をdefaultとしました。選択せずに、enterのみを押すと1番のshow clockが実行されることが分かります。

R1(config)#menu MYMENU default 1
R1(config)#menu MYMENU ?
〜略〜
Choose one:
16:22:09.495 JST Tue Oct 11 2011

menuを解除するにはno menuを実行します。

R1(config)#no menu MYMENU

カテゴリ:

使うと便利ですが、慣れないと設定が分かりづらいのが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と同じ様に利用できます。

カテゴリ:

今回はIPv6での基本的なEIGRPの設定を確認していきます。IPアドレスの設定は前回と同じです。

R1(config)#do sh ipv int b
FastEthernet0/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
Loopback0                  [up/up]
    FE80::2
    2001:2::2

IPv6でのルーティングをR1とR2で有効にします。

R1(config)#ipv6 unicast-routing

次にEIGRPのプロセスを有効にします。

R1(config)#ipv6 router eigrp 100

そしてここに独特な設定が必要です。プロセスの中でno shutdownを実行する必要があるのです。実行しないとEIGRPは有効になりません。

R1(config-rtr)#no shutdown

インターフェースでEIGRPを有効にする点はRIPやOSPFと同じです。R2でも同じようにして有効にします。

R1(config-rtr)#int f0/0
R1(config-if)#ipv6 eigrp 100
R1(config-if)#int lo0
R1(config-if)#ipv6 eigrp 100

show ipv6 protocolコマンドで有効なインターフェースを確認します。

R1(config-if)#do sh ipv prot
IPv6 Routing Protocol is "connected"
IPv6 Routing Protocol is "static"
IPv6 Routing Protocol is "eigrp 100"
  EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0
  EIGRP maximum hopcount 100
  EIGRP maximum metric variance 1
  Interfaces:
    FastEthernet0/0
    Loopback0
  Redistribution:
    None
  Maximum path: 16
  Distance: internal 90 external 170

show ipv6 eigrp interfaceコマンドでも有効なインターフェースを確認できます。

R1(config)#do sh ipv ei int
IPv6-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        20       0/1           50           0
Lo0                0        0/0         0       0/1            0           0

IPv4と同じようにIPv6でもEIGRPはすぐに接続が有効になります。

R1(config-if)#do sh ipv ei nei
IPv6-EIGRP neighbors for process 100
H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
                                            (sec)         (ms)       Cnt Num
0   Link-local address:     Fa0/0             14 00:00:37   20   200  0  4
    FE80::2

show ipv6 eigrp topologyコマンドを実行すると、lo0でのネットワークがEIGRPで流れていることを確認できます。

R1(config)#do sh ipv ei top
IPv6-EIGRP Topology Table for AS(100)/ID(17.17.1.1)

Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
       r - reply Status, s - sia Status

P 2001:1::/64, 1 successors, FD is 128256
        via Connected, Loopback0
P 2001:2::/64, 1 successors, FD is 156160
        via FE80::2 (156160/128256), FastEthernet0/0

R1でIPv6のルーティングテーブルを確認し、pingが実行出来ることを確認しました。

R1(config)#do sh ipv rou ei
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(config)#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/8 ms

カテゴリ:

今回はIPv6での基本的なOSPFの設定を確認していきます。IPアドレスの設定は前回と同じです。

R1(config)#do sh ipv int b
FastEthernet0/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
Loopback0                  [up/up]
    FE80::2
    2001:2::2

IPv6でのルーティングをR1とR2で有効にします。

R1(config)#ipv6 unicast-routing

IPv6でもOSPFではプロセスIDを指定して起動します。またルータIDも指定しますが、IPv4アドレスの形式での指定となります。

R1(config)#ipv6 router ospf 1
R1(config-rtr)#router-id ?
  A.B.C.D  OSPF router-id in IP address format

R1(config-rtr)#router-id 17.17.1.1

IPv6ではインターフェース単位でOSPFの有効化を指定します。今回はエリア0を利用しました。

R1(config-rtr)#int f0/0
R1(config-if)#ipv6 ospf 1 area 0
R1(config-if)#int lo0
R1(config-if)#ipv6 ospf 1 area 0

インターフェースが有効であることを確認します。

R1#show ipv6 protocols
IPv6 Routing Protocol is "connected"
IPv6 Routing Protocol is "static"
IPv6 Routing Protocol is "ospf 1"
  Interfaces (Area 0):
    Loopback0
    FastEthernet0/0
  Redistribution:
    None

R1#show ipv6 ospf interface brief
Interface    PID   Area            Intf ID    Cost  State Nbrs F/C
Lo0          1     0               13         1     LOOP  0/0
Fa0/0        1     0               4          1     BDR   1/1

R1#debug ipv6 ospf adj
Jul 19 06:41:17.519: OSPFv3: Send LS REQ to 17.17.2.2 length 12 LSA count 1
Jul 19 06:41:17.519: OSPFv3: Send DBD to 17.17.2.2 on FastEthernet0/0 seq 0xDE7 opt 0x0013 flag 0x0 len 28
Jul 19 06:41:17.523: OSPFv3: Rcv LS REQ from 17.17.2.2 on FastEthernet0/0 length 40 LSA count 2
Jul 19 06:41:17.523: OSPFv3: Send UPD to 101.11.13.108 on FastEthernet0/0 length 80 LSA count 2
Jul 19 06:41:17.531: OSPFv3: Rcv LS UPD from 17.17.2.2 on FastEthernet0/0 length 44 LSA count 1
Jul 19 06:41:17.531: OSPFv3: Synchronized with 17.17.2.2 on FastEthernet0/0, state FULL
Jul 19 06:41:17.531: %OSPFv3-5-ADJCHG: Process 1, Nbr 17.17.2.2 on FastEthernet0/0 from LOADING to FULL, Loading Done

インターフェースの詳細を表示するとネットワークタイプやコストなど、IPv4と基本的に同じであることがよく分かります。

R1#show ipv6 ospf interface brief f0/0
FastEthernet0/0 is up, line protocol is up
  Link Local Address FE80::1, Interface ID 4
  Area 0, Process ID 1, Instance ID 0, Router ID 17.17.1.1
  Network Type BROADCAST, Cost: 1
  Transmit Delay is 1 sec, State BDR, Priority 1
  Designated Router (ID) 17.17.2.2, local address FE80::2
  Backup Designated router (ID) 17.17.1.1, local address FE80::1
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    Hello due in 00:00:04
  Index 1/1/1, flood queue length 0
  Next 0x0(0)/0x0(0)/0x0(0)
  Last flood scan length is 2, maximum is 2
  Last flood scan time is 0 msec, maximum is 0 msec
  Neighbor Count is 1, Adjacent neighbor count is 1
    Adjacent with neighbor 17.17.2.2  (Designated Router)
  Suppress hello for 0 neighbor(s)

現在設定されいるエリアを確認します。バックボーンであるArea 0の設定が確認できます。

R1#show ipv6 ospf 1
Routing Process "ospfv3 1" with ID 17.17.1.1
SPF schedule delay 5 secs, Hold time between two SPFs 10 secs
Minimum LSA interval 5 secs. Minimum LSA arrival 1 secs
LSA group pacing timer 240 secs
Interface flood pacing timer 33 msecs
Retransmission pacing timer 66 msecs
Number of external LSA 0. Checksum Sum 0x000000
Number of areas in this router is 1. 1 normal 0 stub 0 nssa
Reference bandwidth unit is 100 mbps
    Area BACKBONE(0)
        Number of interfaces in this area is 2
        SPF algorithm executed 2 times
        Number of LSA 6. Checksum Sum 0x02B316
        Number of DCbitless LSA 0
        Number of indication LSA 0
        Number of DoNotAge LSA 0
        Flood list length 0

R2との接続状態を確認します。FULLとなっていることが分かります。

R1#show ipv6 ospf neighbor

Neighbor ID     Pri   State           Dead Time   Interface ID    Interface
17.17.2.2         1   FULL/DR         00:00:32    4               FastEthernet0/0

IPv6のルーティングテーブルを見ると、R2のLo0が載っていることが分かります。

R1#show ipv6 route ospf
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
O   2001:2::2/128 [110/1]
     via FE80::2, FastEthernet0/0

pingコマンドで疎通を確認しています。

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/7/12 ms

カテゴリ:

今回はIPv6でのRIPを設定します。まず最低限の設定で、動きとIPv4との違いを理解できるようにします。

R1とR2はF0/0で直接接続されています。F0/0とLo0にそれぞれリンクローカルアドレスを設定し、Lo0にはそれぞれIPv6アドレス(2001:1::1, 2001:2::2)を割り当てました。これら4つのインターフェースでRIPを有効にします。

R1(config)#do sh ipv int b
FastEthernet0/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
Loopback0                  [up/up]
    FE80::2
    2001:2::2

まず両ルータでIPv6でのルーティングを有効とするためにipv6 unicast-routingコマンドを実行します。

R1(config)#ipv6 ?
〜略〜
  unicast-routing    Enable unicast routing
R1(config)#ipv6 unicast-routing

次にRIPを利用するインターフェースでipv6 ripを実行します。IPv4ではrouter ripの中でnetworkコマンドを利用することでインターフェースを指定しましたが、IPv6では直接インターフェースを利用するのが特徴です。

ipv6 ripコマンドでRIPのプロセスを有効にしますが、任意の文字列をプロセス名として指定します。ここではRIP6としました。4つのインターフェースで同じ設定を行います。

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

上記設定により、自動的にグローバル コンフィギュレーション コマンドであるipv6 router ripが設定されます。

R1(config-if)#do sh run | i RIP6
ipv6 rip RIP6 enable
ipv6 router rip RIP6

インターフェースが有効になっているかをshow ipv6 protocolsコマンドで確認しています。

R1#show ipv6 protocols
IPv6 Routing Protocol is "connected"
IPv6 Routing Protocol is "static"
IPv6 Routing Protocol is "rip RIP6"
  Interfaces:
    Loopback0
    FastEthernet0/0
  Redistribution:
    None

debugで稼働状況を確認します。

R1#debug ipv6 rip f0/0
Jul 11 06:11:38.583: RIPng: Sending multicast update on FastEthernet0/0 for RIP6
Jul 11 06:11:38.583:        src=FE80::1
Jul 11 06:11:38.587:        dst=FF02::9 (FastEthernet0/0)
Jul 11 06:11:38.587:        sport=521, dport=521, length=32

R2でルートを確認すると確かにRIPによりR1の情報が表示されています。

R2#show ipv6 route 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:1::/64 [120/2]
     via FE80::1, FastEthernet0/0

pingコマンドで疎通を確認します。

R2#ping 2001:1::1

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

カテゴリ:

今回よりIPv6の設定を紹介します。以前のCCIE LabではインターフェースにIPアドレスを設定する程度の非常に簡単な問題でしたが、現在はそこそこ複雑な設定も出ますのでしっかりと学習しておく必要があります。

まずIPアドレスを設定しますが、最も簡単な方法にipv6 enableコマンドがあります。

R1(config)#int f0/0
R1(config-if)#ipv6 enable
R1(config-if)#no sh
R1(config-if)#do sh ipv6 int b
FastEthernet0/0            [up/up]
    FE80::C000:34FF:FE43:0
〜略〜
R1(config-if)#do sh ipv6 int f0/0
FastEthernet0/0 is up, line protocol is up
  IPv6 is enabled, link-local address is FE80::C000:34FF:FE43:0 [TEN]
  No Virtual link-local address(es):
  No global unicast address is configured
  Joined group address(es):
〜略〜

上記の様にfe80で始まるリンクローカルアドレスが設定されました。このアドレスはインターフェースのMACアドレスより自動的に生成されます。このアドレスは隣接するデバイス間のみで有効です。

f0/0の接続先であるR2のf0/0にも同じ設定を行います。

R2(config)#int f0/0
R2(config-if)#ipv6 enable
R2(config-if)#no sh

そしてこのままpingが実行可能です。ただしリンクローカルアドレスを利用する際は利用するインターフェースを指定する必要があります。

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

MACアドレスを利用したリンクローカルアドレスは設定は便利なものの、IPアドレスが複雑となりあまり使いやすいとは言えません。固定で指定するには下記のようにします。

R1(config-if)#int f0/0
R1(config-if)#ipv6 address fe80::1 link-local
R1(config-if)#do sh ipv int b
FastEthernet0/0            [up/up]
    FE80::1

R2(config-if)#int f0/0
R2(config-if)#ipv6 address fe80::2 link-local
R2(config-if)#do ping fe80::1

R1はfe80::1、R2はfe80::2と覚えやすいアドレスになりました。そしてこのリンクローカルアドレスは全てのインターフェースで同じものを指定できます。つまりR1のインターフェースf0/0, f0/1, s1/0, s1/1の全てにfe80::1と設定可能です。

次にフレームリレーでの設定を確認します。IPv4の場合と同じようにDLCIを指定するフレームリレーマップが必要です。

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

R2でも設定を行い、pingが実行出来ることを確認しています。

R2(config-if)#int s1/0
R2(config-if)#en fram
R2(config-if)#ipv6 address fe80::2 link-local
R2(config-if)#frame-relay map ipv6 fe80::1 201 broadcast
R2(config-if)#no sh
R2(config-if)#do sh fram map
Serial1/0 (up): ipv6 FE80::1 dlci 201(0xC9,0x3090), static,
              broadcast,
              CISCO, status defined, active
R2(config-if)#do ping fe80::1
Output Interface: Serial1/0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to FE80::1, timeout is 2 seconds:
Packet sent with a source address of FE80::2
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/8/12 ms

このページのトップヘ

見出し画像
×