privileged server

windows7にcygwinをインストールし、syslog-ng, xinetd(tftpd)をインストールしたら、privileged serverとかいうアカウントができて何かするときにそのパスワードを求められるようになってしまい、cygwinのterminalが起動しなくなってしまった。 わけがわからなくなったのでcygwinをアンインストールしようとして苦労した。

まずアンインストーラーはない。 登録したサービスを削除したいのだがターミナルが起動しない。 コマンドプロンプトからc:\cygwin\binへ移動したらcygrunsrvが打てたのでそれでサービスを消す。 そしてフォルダを削除しようとしたのだが、これがまたできない。 インストールしたユーザで消そうとすれば管理者権限が必要と言われ、 administratorで消そうとすればユーザのアクセス許可が必要といわれる。 フォルダのプロパティから、administratorで、everyoneフルコントロールにしてもだめだ。 消せるフォルダと消せないフォルダがある。

しかたないので消せないフォルダがあったらそこへ移動し、icaclsやtakeownコマンドを使って所有者や属性を変えて消していった・・・・ administratorは何でもできるんじゃないのか・・・

レジストリや環境変数でcygwinがらみのものを消す。 環境変数にはパスなどがなかったが(これがまずかったのか)、確認していて PROCESSOR_ARCHITECTUREという変数に AMD64という値があるのに気づいた。 CPUはIntelの Core i3である。 なんでAMDなんだよと驚いたが、 たしか64bit CPUはAMDがintelに先んじてintelはAMDの使用を拡張する形で64bit化をおこなったのだと昔聞いたことを思い出した。

windows7のadministratorアカウントは無効にされていて、 有効にするにはGUIではなくコマンドが必要のようだ。 さっき調べて打ったのだがなんだったか忘れた。tftpサーバとsyslogサーバは、

http://tftpd32.jounin.net/

がおすすめ。 cygwinはめんどい。

net user administrator /active:no


無効にする。 cmd.exe を「管理者として実行」して。 ・・・・と、「管理者で実行」をするとダイアログが出たときに「はい」が押せなくなってしまった。管理者権限を必要とすることが一切できなくなった。 OSのディスクを使ってadministratorを無効にする前の状態に戻す。 そしてadministratorでログインして、いつも使っていたアカウントを「管理者アカウント」にしてから、

net user administrator /atcive:no


を実行する。 普段は通常アカウントで管理者権限は必要なときだけ使う、という今までの状態にはどうやってもどすのかわからない。とりあえずこれで使おう。

なんか釈然としないけど・・・。

TSHOOT合格、CCNPになる

このスレが立ってから7年、CCNAを取ってからだと8年半、ついにCCNPになった・・・。
こんなにかかるなんて・・・・。
TSHOOTは勉強していても楽しい試験だった・・・。

過去の受験歴を見てみたら、9回受けて5勝4敗、今回でやっと勝ち越しになった。
現在3連勝中である。
受かってしまうとたいしたことはない。持っていないと何かができない資格でもない。
手当てがつくわけでもない。Ciscoの資格に関しては受験料から教材から機器まで全部自腹だ。
それにしてもよくCCNAの更新をこんなに長い間切らさなかったものだと感心する。

CCNPはSWITCH(642-813)がヤマだった。BCMSNは取っていたのだが、今回勉強しなおして、忘れていたというより根本的に理解できていなかったことを痛感した。L2の動作をナメていたようなところがある。
TSHOOTは簡単だったのだが、とてもおもしろかった。これからの仕事にもきっと役に立つだろうと思う。

トラッキングシステムがなかなか更新されない。SWITCHをpassした時は確か当日の夜中に見たときは更新されていたのに。
1時間に一回くらい見に行く。翌日になっても更新されない。
調べると「1週間たっても更新されなかったら連絡して」というようなことが書いてあったので、気長に待つことにする。
と、今朝(2時ごろ)メールが来ていた。

私はciscoの資格試験を受験するときは、試験前の合意書とかチュートリアルとかをなるべく読むようにしている。それは気持ちを落ち着けて冷静になるためである。

先日受けた試験で、それまでは書いていなかったのか、単に気づかなかったのかわからないが、初めて知ったことがあった。それは、試験の問題の中に、採点されない問題がある、ということである。

正確な内容は忘れたが、試験の改善のための参考にするための問題というようなことが書いてあった。


いつのまにか、Windows7を起動すると「Privileged server」というアカウントが表示されるようになった。普段使用しているアカウントとこのアカウントが表示され、いちいちクリックしなければならない。

cygwinでxinetdを入れたときかなんかに、アカウントを作ってパスワードを設定したのでその時にできたのだと思う。
まあ、アカウントができただけならいいか、と思っていたら、さっきadobeリーダーだかflashだかのアップデートをしたときに、このPrivileged serverのパスワード入力を求められた。ええええ?なんで?

これは困る。


次の目標はテクニカルエンジニア(ネットワーク)にする。
ciscoは置いとく。
「オンライン」という名前だったときに2、3回受けたことがある。
これを取ると、資格手当てがいくらだったかな、けっこうもらえるのだ。

さらにTSHOOT準備

Mon Feb 13 11:07:58 2012

クライアントからサーバに到達できないときに、経由するルータへpingを打っていったときに、
どこかのルータがunreachableを返す時は、そのルータが目的NWへの経路を持っていないことを意味する。

unreachableが返らずにtimeoutする時は、目的ルータがクライアントのNWへの経路を持っていないことを意味する。

(冗長経路がない場合)
timeoutする時は、NWは生きていてそこへパケットが転送されたが返ってこない場合である。
unreachableの場合はNWそのものがない。


Tue Feb 14 08:08:02 2012

スタブ、NSSAというものが、いまひとつよくわからない。
基本は袋小路のネットワークにはデフォルトルートのみを配って余計な経路情報を持たないようにする、ということなのはわかるのだが、 NSSAとの違い、トータリースタブ、トータリーNSSAの細かい違いが実感できない。

ネットの情報ではLSAタイプのいくつを転送する・しない、ということばかり書かれているが、 もっとこれらのタイプが存在する理由、経緯、目的などを理解したい。


Tue Feb 14 08:18:20 2012

configを見るときに便利なやり方。

Ueno#sho run | section int
interface Loopback1
 no ip address
interface FastEthernet0/0
 ip address 192.168.2.2 255.255.255.0
 duplex auto
 speed auto
interface FastEthernet0/1
 ip address 192.168.20.1 255.255.255.224
 duplex auto
 speed auto
Ueno#
Ueno#
Ueno#sho run | section router
router eigrp 10
 redistribute ospf 10 metric 100000 0 128 128 1500
 network 192.168.20.0 0.0.0.31
 no auto-summary
router ospf 10
 router-id 4.4.4.4
 log-adjacency-changes
 area 20 nssa
 redistribute eigrp 10 subnets
 network 192.168.2.0 0.0.0.255 area 20
Ueno#


ただし、試験では使えない、多分。

引き続きTSHOOT準備

Mon Feb 13 05:59:56 2012

2台買ったcatalystのIOSを、新しい方のバージョンにあわせる。
tftpサーバがいるんだよね、確か。
これもcygwinでやろう。

setupでtftp-serverを入れる。
いつものように、その後どうするかわからない。
googleで検索。あまり情報がない。
inetdで動かす・・・inetdって入っているかな・・・ない・・・インストールしよう・・・xinetdか。

$ /usr/bin/xinetd-config
*** Info: Note that the inetd service and the xinetd service must not
*** Info: both be active at the same time.  The easiest way to ensure
*** Info: this is to only install one or the other as a service.
*** Query: Do you want to install the xinetd super-server as a service? (yes/no)
yesを入れる。パスワードを登録する。
終わったら、

cygrunsrv -S xinetd

$ cygrunsrv -L
syslog-ng
xinetd
今動いているのはこの二つだけ。

インストールできたけど送受信がうまくいかない。
書き込みとかファイル作成権限とかユーザとかの問題か?
わからない。
さくらのVPSサーバにもいれてみるがこちらもダメ。
後で調べる。

とりあえず
http://tftpd32.jounin.net/tftpd32_download.html
を使った。

copy flash tftp
で、IOSをバックアップする。
プロンプトにしたがってファイル名やtftpサーバアドレスを指定する。

3550のiosはディレクトリが作られていてその中に入っていた。
cd DirectoryNameで移動すれば、show flashでその中が見える。

バックアップを取ったら古いIOSで動いている方に、新しいのを移す。
空き容量は十分にあったので、古いのは残しておく。
copy tftp flash
プロンプトに答える。

IOSをコピーしたら、boot system でiosのイメージを指定する。


Mon Feb 13 07:53:41 2012

cygwinのsyslog-ngが起動できなくなった。

起動しようとすると、/var/log/syslog-ng.log に以下のメッセージが記録される。

Persistent configuration file is in invalid format, ignoring;
検索したら、同じ事で悩んでいる人がいた。

/var/lib/syslog-ng/syslog-ng.persist を削除して解決。
このファイルはなんなのかは不明。
正常終了させないと残ってしまうとかだと思う。

Mon Feb 13 07:55:35 2012

TSHOOTの準備が万全になった感じがするので、明日の予定を今日に変更しようかと思ったが、
さすがに当日の予約はできないようだ。

Mon Feb 13 08:32:07 2012

tftpdのトラブルシュートを再開。
サーバでアクセスすると動作する。
tcpdump してみるとクライアントからのudp 69が届いているから、windowsのファイアウォールなどで
遮断もされていない。
iptablesでudp 69は開けた。iptablesを止めてもだめなのでこのせいではない。

hosts.allowも設定したが変わらない・・・

どっかにログを吐けよ・・・!!

tftp自体は正常に動いている。
tcpdumpをするとちゃんとgetしたファイルを送信している。
しかし、クライアントには届いていない・・・

tcpdumpで見えるということは、iptablesとかhosts.allowとかじゃないよな・・・
わからん・・・サーバを出てからどこかで止められているように思えてならない・・・

TSHOOT準備

Sat Feb 11 04:23:15 2012

いよいよCCNPになる時がやってきた。
ping-tでTSHOOTの問題を見てみたがけっこう簡単で体験記とかを読んでも皆楽勝みたいなことを書いている。
また、TSHOOTは解いていておもしろい試験だ。
ただし、前回BSCIを取ってから1年程たっていて、BGPとかEIGRPとか忘れていることが多いので復習を要する。

Sun Feb 12 08:57:47 2012

TSHOOTに備えて、Ciscoが公開しているデモや市販の問題集のトポロジをGNS3で再現してみたのだが、
すばらしいソフトである。
ルータを仮想化して本物のIOSで動かすことはdynamipsでできていたことであるが、
GNS3で感心したのはトポロジを直感的に簡単に作り、それをグラフィカルに表示できることだ。

ネットワーク構成図を作るだけなら、Excelとか、PowerPointとか、visioとかでもできるのだが、
GNS3はたんなる図ではなく、動作確認までできてしまう。インタフェース名などは自動的に付与できる。

今後、仕事でも構成図を作るときに使おうかなと考えているくらいだ。

ただ、せっかく作った構成がなぜか消えてしまうことがある。

あと、4台くらいルータを動かすと私のPCはCPU使用率が100%になってしまう。
それでもGNS3自体は問題なく動いているが、ほかのことができなくなる。 

Sun Feb 12 17:35:26 2012

idle pcは使用率が下がらない場合もあって、値を再計算すると下がる場合もある。
だが、dynamipsを使っていたとき、何度やっても下がらないことがあった。

いまだにこのidle pcというものの意味がよくわからない。IOSかdynamipsのバグとしか思えない。
もしかしてIOSを不正利用されないようにわざと仕込まれているのか?

dynamips, GNS3は確かにすばらしい技術であると思うが、ちらほら不具合とかイラつくところがある。
それにやはり仮想化していることによって新たな不具合要因が加わる。

だから私はいつもヤフオクで中古機器を買うのである。
中古機器を買うことも、けっこう勉強になる。

同じcatalystでなぜ値段がこんなに違うのか、とか。
EMIって何?とか、3524ってL3スイッチなの?とか。

642-813J SWITCH合格

passed...
途中で投げ出したくなった・・・ 

vtpのリビジョン番号

Fri Feb 10 01:32:47 2012

vtp で、「リビジョン番号が高いと、clientモードであってもserverモードの別のスイッチのドメイン情報を更新してしまう」 という問題をやって、ヘーそうなんだと覚えていたが、

実際にやってみたら clientの場合はリビジョンが高くてもserverモードのスイッチのvlan情報は更新されない!

この場合は、「clientモードでリビジョンがserverモードのリビジョンより高い場合、serverモードのスイッチのvlan情報で更新されない」というのが正しい動作である。

リビジョンが高いほうのスイッチのモードをserverに変えると、同期された。

native vlanについて、その他

Thu Feb 9 19:55:01 2012

"native vlan mismatch"が表示されることがよくある。

Feb 9 19:44:14 192.168.20.101 295: 01:23:47: %CDP-4-NATIVE_VLAN_MISMATCH: Native VLAN mismatch discovered on FastEthernet0/1 (10), with Cata2950_2 FastEthernet0/21 (1).

この時、各interfaceのnative vlanを見るために show interface **** switchportを実行すると、以下のようになっている。

fa 0/1
Access Mode VLAN: 10 (Marketing)
Trunking Native Mode VLAN: 1 (default)

fa 0/21
Access Mode VLAN: 1 (default)
Trunking Native Mode VLAN: 1 (default)

Native Mode VLAN のvlanは両方1で一致している。
違っているのはaccess mode vlanのほうである。

fa 0/1はmode access, fa 0/21はtrunkになっていた。
fa 0/1をtrunkにするか、fa 0/1のaccess vlanを1にするとメッセージは出なくなる。
access - trunk でもinterfaceはupしている。

mismatchが出るということはなんらかの通信はしているはずだ。
一方はaccessだからタグなしで送信し、それをtrunkポートで受信するとnative vlanとみなすがそれが一致しないのか・・・

が、そもそもタグがないのだからnative vlanが何かもわからないのでは・・・?

違った。よくみると、%CDP-4-NATIVE_VLAN_MISMATCH となっている。
これはCDPにより検出されているのだ。

cdp neighborsを見ると、 fa 0/1のNative VLANは10になっていた。

これか......。


「accsessポートとトランクポート間で通信ができるか」

多くの人がNOと答えるであろう。私もNOだと思っていた。
しかし、今見ていると両方ともupしていてSTPの状態もFWDだ。
通信できている...?

が、やってみるとやはり通信できない。
でも両方UPでFWDだから、通信できているかいないかは簡単にはわからない......

access portの場合は所属vlanが異なっていても通信できる。
cdp neighbors detailを見るとnative vlanはそれぞれの所属vlanになっているが、
mismatchにはならない。

私はnative vlanを変更することはまずないので、mismatchが出るときは
trunk - access になっている可能性が高い。

...とすると、trunk - access になっていても所属vlanが同じなら通信できるということか...?


mode access (vlan1) ---- mode trunk (nativeはvlan 1)
の場合、通信できる。

accessポートはタグなしで送信し、trunkポートはnativeに限ってタグなしにするから、
vlan 1についてはお互いタグなしで通信できる。

これがmismatchだと、trunkポートはタグをつけるのでaccess側が破棄し、
accessポートはタグをつけないのでtrunk側はnative vlanとして扱う・・・
そうすると、場合によっては通信ができてしまうか?

port A: mode access (vlan 2) ---- port B: mode trunk (native vlan 1)

このような状態でport Aからport Bにブロードキャストを送信すると、
port Bはそれを受け取ってタグなしフレームなのでnative vlanのvlan 1に転送する。
もしこれがarp requestで、L3のセグメントが同じだったら、replyが返ってくることになり、通信は成立するが、わざわざこのように設定する必要はない。
port Aが複数のvlanの通信を行う必要があるならtrunkにし、vlan 1のみの通信を行うならport Aは対向装置のvlan 1のaccessポートに接続すべきである。

だからやっぱり「mismatch」が出るのは設定ミスが考えられる。
多分、デフォルト状態でケーブルをつなぐとtrunkになって、
その後vlanを設定して片方をaccessに変えたときとかに出るのかな。


access -access, trunk - trunk で使うようにする。
nativeは1になっているからそれを管理用にのみ使用する、ということでよいが

「そもそもなぜnative vlanなどというものがあるのか。」

この問いはネットを探してみてもちらほら見つかるが、
「native vlanにはタグがつかない」という説明しかしていない答えがほとんどで、
 「そもそもなぜそんなものが必要なのか」という答えを明確にしている人がいない。

IEEE802.1qを読めばわかるだろうか?

ある有名なサイトでは「タグをサポートしていないスイッチとの互換性のため」と書いてあった。
多分そうだと思う。

trunkポートで、タグをつけると決めているのにタグをつけないフレームをわざわざ送るのは、trunkポートであっても相手からタグなしフレームがくる場合を想定して、それはnative vlanに所属するものとしよう、 と決めたのではないだろうか。

そうなると相手はタグを処理できないから、trunkポートの側もタグをつけずに送ってやる。
通信はできる。

しかし、タグをつけられないのだから当然そのlanは他のvlanとは区別された
特別なvlanとして扱われると。


Thu Feb 9 21:11:54 2012

ieee.orgへ行ってみたが、standardを読むには会員になる必要がある。
前にも同じことをしてやめたことがあるがこの際だから会員になってみようと、
住所やら経歴を入力するとmemberに登録しましたみたいなメッセージが表示されたが、
$143かかる... やめた、またの機会にしよう。

でも以前、確か802.1Qだったと思うけどPDFかなんかをダウンロードした記憶があるんだよな......
ぜんぜん読まなかったけど。

port-security mac-address

Thu Feb 9 19:44:02 2012

port-securityで、maximum mac addressの数を超えるスタティックアドレス(port-security mac-address)を登録しようとするとエラーになって登録できないが、この場合はviolationにならない。

Windows7でsyslogサーバ




Thu Feb 9 19:19:25 2012

ついでなのでWindows7でsyslogサーバを使用する方法を書いておく。

1.windows用のsyslogサーバをインストールする
2.cygwinを使う
3.virtual pc等を使用してlinuxを入れてsyslogを設定する

2.が一番簡単かつ汎用性がありそうなので2.をやってみる。

cygwinでは、syslog-ng というデーモンが使える。
ただのsyslogは無いようだ。ngとはnext generationの略らしい。

cygwinのセットアップで Adminの中にある。
ちなみに左上に検索窓があるのでsyslogと入れると探せる。

それから cygrunsrvという、サーバを操作するコマンドがあるのでこれも入れておく。

cygwinを起動して

# syslog-ng-config 

を実行すると何か聞かれるので yes と答える。

その後、サービスを起動する。

cygrunsrv -S syslog-ng

この時、cygwinを「管理者として実行」していないと、以下のエラーになる。

cygrunsrv: Error starting a service: OpenService: Win32 error 5:
アクセスが拒否されました。

管理者として実行してサーバを起動する。
/var/log/messages に、syslog-ngが起動したというメッセージが記録されるはず。

この状態では、ネットワーク経由のログを受信できない。
もしWindowsのファイアウォールを有効にしていたら、無効にするか、udp 514を許可する。

そして、/etc/syslog-ng/syslog-ng.conf で、ネットワークからの受信を許可する行がコメントアウトされて無効になっているので、コメントを取る。

# uncomment this line to open port 514 to receive messages
#source(s_network);

サービスを停止し再起動する。

Thu Feb 9 19:22:35 2012

今日初めて知ったのだが、「管理者として実行」は、ショートカットのプロパティを開いて「互換性」のところで「管理者としてこのプログラムを実行する」という設定がある。

642-813J SWITCH 準備 知らなかったコマンド

知らなかったコマンド

3550_1(config-if)#switchport host
switchport mode will be set to access
spanning-tree portfast will be enabled
channel group will be disabled


3550_1#sho interfaces fastEthernet 0/8 switchport
Name: Fa0/8
Switchport: Enabled
Administrative Mode: static access
Operational Mode: down
Administrative Trunking Encapsulation: dot1q
Negotiation of Trunking: Off
Access Mode VLAN: 1 (default)
Trunking Native Mode VLAN: 1 (default)
Voice VLAN: none
Administrative private-vlan host-association: none
Administrative private-vlan mapping: none
Administrative private-vlan trunk native VLAN: none
Administrative private-vlan trunk encapsulation: dot1q
Administrative private-vlan trunk normal VLANs: none
Administrative private-vlan trunk private VLANs: none
Operational private-vlan: none
Trunking VLANs Enabled: ALL
Pruning VLANs Enabled: 2-1001
Capture Mode Disabled
Capture VLANs Allowed: ALL
Protected: false
Unknown unicast blocked: disabled
Unknown multicast blocked: disabled

Appliance trust: none

3550_1(config)#logging trap ?
  <0-7>        Logging severity level
  alerts         Immediate action needed           (severity=1)
  critical       Critical conditions               (severity=2)
  debugging      Debugging messages                (severity=7)
  emergencies    System is unusable                (severity=0)
  errors         Error conditions                  (severity=3)
  informational  Informational messages            (severity=6)
  notifications  Normal but significant conditions (severity=5)
  warnings       Warning conditions                (severity=4)
  <cr>

GLBP

GLBPって何?という人は多いと思う。私は実際に設定したこともないし、「ジーエルビーピー」という言葉を生きた人間が発したのを一度も聞いたことがない。
つまり、使っている人、使ったことのある人を見たことがない。
これに触れるのは、Ciscoの試験勉強をするときだけである。

GLBPというのは Gateway Load Balancing Protocolの略である。
HSRPやVRRPと同様に、FHRP(First Hop Redunduncy Protocol)、ファーストホップルータ冗長のためのプロトコルである。
HSRPとVRRPはほぼ同じ機能といえるが、GLBPが異質なのは、冗長というよりもロードバランスを主要な目的としていることである。

具体的な動作で見ると、AVGとAVFという二つの役割が存在することである。
GはGateway, FはForwarderである。

冗長しない場合、またはルーティングプロトコルやHSRP等での冗長の場合は、"Gateway"と"Forwarder"は同じ装置である。
同じであるから"Forwarder"などという呼び方もしない。

GLBPではAVGはクライアントのarp requestに対して、仮想MACアドレスを返信する。この仮想MACアドレスが、グループに所属する複数のルータ(AVF)に割り当てられており、
AVGは各AVFに割り当てられたMACアドレスを返答する。AVGの役割はarp応答だけであり、トラフィック転送はAVFがおこなうのである。
ただし、AVGというのはあくまでも機能名であって、AVGとなったルータはAVFでもあるから、通常の「ゲートウェイ」と同じように、トラフィック転送もおこなう。 

AVGにはAVFに仮想MACアドレスを割り当てる、という役割もある。
とにかく、ルータのメインの動作であるトラフィック転送機能はない。

ちなみに私が今回入手したCatalyst3550ではglbpは設定できなかった。
しかたがないのでGNS3というdynamipsをGUIで使えるツールを使って7200をシミュレートしたら一応設定できた。
だが実際にロードバランスさせたりなんだりというところまでは見ていない。

「アベイラビリティ」とはよく目にする言葉ではあるが、実際に自分で口に出して「アベイラビリティがないねぇ」などと言う事はちょっと恥ずかしい。
自分に限らず、あまり口に出す人を見ることはない。

アベイラビリティとはどういうことなのか、具体的な例をあげるとどうなるか。
携帯端末でインターネットを利用するときに「ソフトバンクはつながりにくく、ドコモはよくつながる」とよく言われる。
このつながりやすさは「アベイラビリティ」だろうか?

「よくつながるが、遅い」ということもある。iPhoneでwifiを有効にしていると、FONの無料アクセスポイントにつながることが多いが、
多くの場合電波が弱いのか利用者が多いのか、3Gの電波より使い物にならない。「つながりやすさ」はあるのだが、
これを「アベイラビリティがある・高い」と言えるだろうか?

つながりやすさは「アクセシビリティ」だろうか?
だが、「アクセシビリティ」というのはどちらかというと「必要な情報をすぐ参照できる」というような使われ方をする方が多いように思う。 

642-813J SWITCH準備 いろいろ

Tue Feb 7 09:54:52 2012
知らなかったこと

trunkモードのネゴシエーションはdtpドメイン名が異なると行われない

vtp transparent モードでは、vlan情報がrunning-configに保存される 

Tue Feb 7 10:09:01 2012
vrrpにはインタフェーストラッキングの機能がなく、ciscoが独自にオブジェクトによってトラックできるようにしている

Tue Feb 7 17:20:17 2012
aaa newmodel を入力するとvtyアクセスでユーザ名とパスワードを聞かれるようになる

Tue Feb 7 21:08:18 2012
etherchannelのシミュレーションの練習をしていたら、
vlan mask is different
とかいうメッセージが出てチャネルが確立できなくなった。

原因は、etherchannelのメンバーにしようとしたポートで、allowed vlanが設定されていたことであった。

それは気づいたのだが、いったんetherchannelを作った後でポートの設定を直しても、
portchannel IF のほうには設定が残ってしまう。

このようなケースでは、いったんport channelのIFを消して、物理ポートの設定を直してから、
ether channelを作りなおさねばならない。

それにして、portchannelとか etherchannelとかchannel groupとか、
まぎらわしいよね・・・・・・

Wed Feb 8 00:33:39 2012
L2通信、スイッチ、Catalystの使い方を、まったくといっていいほどわかっていなかったことをこの2週間程で思い知った。
だが、L2スイッチなんてハブに毛が生えたようなもんだろ?と思っている人は多いと思う。
私もその一人であった。
だが、Catalystというのはとんでもないバケモノである。
これをデフォルト設定でスイッチングハブのように扱うととんでもないことになる。

私はいまだにL2スイッチはスイッチングハブとして利用すればいいという考えだが、
そうだとしてもCatalystを使うならいろいろと注意しなければいけないことがたくさんある。

Wed Feb 8 18:35:55 2012
SNMP

version 1
GET REQUEST
GET NEXT REQUESt
GET RESPONSE
SET REQUEST
TRAP

version 2
PDUの拡張

追加
GetBulk
INFORM request
Report

version 3
セキュリティ機能の強化
PDUの暗号化


Wed Feb 8 18:51:14 2012
syslog

0: Emergency
1: Alert
2: Critical
3: Error
4: Warning
5: Notice
6: Informational
7: Debug

Thu Feb 9 01:44:29 2012
vrrpのrfcは、2338 (1998) 、3768(2004),5798(2010)
と、現在はver.3 になっている。

Thu Feb 9 01:45:38 2012
hsrpは、1998年の2281

642-813J SWITCH準備 いろいろ

Sun Feb 5 02:54:05 2012
光ケーブルを買ってきたのでこれでudldの動作確認ができると思ったのだが、ペアになっているコネクタの片方を抜くとlinkdownしてしまう・・・。

Sun Feb 5 03:36:00 2012
スパニングツリーは、その仕組みを知れば知るほどうっとうしい。こんなものは使いたくない。
実際に使われているのだろうか?portfastだのルートガードだの、udldだの・・・・。
少なくとも私が今までいた職場では使われていなかった。
気づかなかっただけで、実際は設定されていたのだろうか・・・。
勉強は順調に進んでいるのだが、こんなことを学んでなんになるのかというむなしさが沸いてきた・・・。

Sun Feb 5 03:40:17 2012
今日思ったのだが、私は「ネットワークエンジニア」というものにはあこがれを感じない。
「ネットワーク」というものは、最近は特にケータイだのスマホだのでインターネットを利用する上で、
誰もがなんとなく重要なものだと感じてはいるだろうが、ネットワークエンジニアというものは所詮は配線屋にすぎないというのが私の認識である。
私がしたいことはもちろん配線ではない。より効率的な通信、より簡単な情報伝達である。
そしてそれは、単に効率的な配線をおこなうとか、ルーティングやアドレッシングによって実現することではない。
もっと総合的な、サービスとしての設計が必要だ。

Sun Feb 5 03:42:28 2012
たとえば、私が今欲しいのは、有線放送がiPhoneで聴ける仕組み。
自分の音楽のライブラリをサーバに置き、さらにそれをサーバ上で再生して、iPhoneなどのデバイスで受信することで聴くというもの。

こういったサービスには明らかにネットワーク、通信の技術を必要とするが、それはあくまでも手段にすぎない。 

Sun Feb 5 03:46:25 2012
もうひとつ考えているのが、iPhoneでWifiを有効にしておくと、あちこちでアクセスポイントが見つかる。
bluetoothも有効にしておいて電車に乗っていると、他人のデバイスが見つかる。
それらはパスワードなどが設定されていて使用はできないのだが、名前くらいはわかる。

この名前の長さはどれくらいなのだろうか?16文字くらいだろうか?
もしそうだとしても、それを随時変更して連続して通知していたら、ある程度の情報として成り立つのではないか?

twitterは140文字という、それまでの常識では少なすぎると考えられていた情報量で世界を制した。

uplinkfast, backbonefast

uplinkfast

Cata2950_2#sho spanning-tree uplinkfast

UplinkFast is enabled

02:45:18: %SPANTREE_FAST-7-PORT_FWD_UPLINK: VLAN0020 FastEthernet0/11 moved to Forwarding (UplinkFast).


Station update rate set to 150 packets/sec.

UplinkFast statistics
-----------------------
Number of transitions via uplinkFast (all VLANs)            : 1
Number of proxy multicast addresses transmitted (all VLANs) : 4

Name                 Interface List
-------------------- ------------------------------------
VLAN0001             Fa0/24(fwd)
VLAN0010             Fa0/24(fwd)
VLAN0020             Fa0/11(fwd)
VLAN0030             Fa0/24(fwd)
backbonefast
uplinkfastは即座にFWDになり、メッセージも表示されるが、backbonefastはLIS→LRNを経る。だが、本来ならBPDU消失を検知してからこの移行を実施するので、 それを省略することによりより速い切り替えをおこなう。
Cata2950_2#sho spanning-tree backbonefast
BackboneFast is enabled

BackboneFast statistics
-----------------------
Number of transition via backboneFast (all VLANs)           : 1
Number of inferior BPDUs received (all VLANs)               : 1
Number of RLQ request PDUs received (all VLANs)             : 0
Number of RLQ response PDUs received (all VLANs)            : 1
Number of RLQ request PDUs sent (all VLANs)                 : 1
Number of RLQ response PDUs sent (all VLANs)                : 0

Cata2950_2#sho sp vl 20

VLAN0020
  Spanning tree enabled protocol ieee
  Root ID    Priority    32788
             Address     000b.fdb9.a680
             Cost        19
             Port        12 (FastEthernet0/12)
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    32788  (priority 32768 sys-id-ext 20)
             Address     0016.9da0.4ec0
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time 15

Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/10           Altn BLK 19        128.10   P2p
Fa0/12           Root FWD 19        128.12   P2p
Fa0/16           Desg BKN*19        128.16   P2p *LOOP_Inc


Cata2950_2#sho spanning-tree inconsistentports

Name                 Interface              Inconsistency
-------------------- ---------------------- ------------------
VLAN0020             FastEthernet0/16       Loop Inconsistent
loop guard
Cata3550#sho udld gigabitEthernet 0/1

Interface Gi0/1
---
Port enable administrative configuration setting: Follows device default
Port enable operational state: Enabled
Current bidirectional state: Bidirectional
Current operational state: Advertisement - Single neighbor detected
Message interval: 15
Time out interval: 5

    Entry 1
    ---
    Expiration time: 41
    Device ID: 1
    Current neighbor state: Bidirectional
    Device name: CAT0732Z28X
    Port ID: Gi0/1
    Neighbor echo 1 device: CAT0704Z0SX
    Neighbor echo 1 port: Gi0/1

    Message interval: 5
    CDP Device name: SW2

642-813J SWITCH いろいろ

HSRPでinterfaceをtrackして、実際にそのIFがダウンしてpriorityがstandbyルータより小さくなっても、standbyルータ側にpreempt設定がないと、activeルータの交替は起こらない。

これは知らなかった。priorityが逆転したら交替するのかと思っていた。

実際にやってみて確認した。
オークションで買った3550の一台に、期せずしてGBICが2個ついていたので、光ケーブルを買ってきた。 秋葉原の愛三電機で、1m 1890円だった。
show vlan で、 idをつけるとそのvlanだけの情報を表示する。 idなしの場合、trunkポートは表示されないが、idを指定するとtrunkポートも表示される。
知ってた?常識?
etherchannelで、desirable-autoに設定すると、 最初に以下のようなエラーになる。

01:20:34: %EC-5-L3DONTBNDL1: Fa0/48 suspended: PAgP not enabled on the remote port.


が、しばらくまつとネゴが成功する。
どうして?
あー、あれか、STPのせいでFWDになっていないからか。
やってみたが、silentモードであってもやはり auto - auto, on - auto ではチャネルが確立しない。 ガイドを読むと「対向がファイルサーバやネットワークアナライザであってもチャネルを形成できる」などと書いてある。 

ループガード

loopガード。bpduが途絶えると検知する。
cata1#sho run interface fastEthernet 0/3
Building configuration...

Current configuration : 134 bytes
!
interface FastEthernet0/3
switchport access vlan 10
switchport mode access
spanning-tree portfast
spanning-tree guard loop
end

cata1#
02:48:31: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/3, changed state to down
02:48:32: %LINK-3-UPDOWN: Interface FastEthernet0/3, changed state to down
02:48:35: %LINK-3-UPDOWN: Interface FastEthernet0/3, changed state to up
02:48:36: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/3, changed state to up



cata1#sho spanning-tree

VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 10
Address 0016.9da0.4ec0
Cost 19
Port 3 (FastEthernet0/3)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec

Bridge ID Priority 32778 (priority 32768 sys-id-ext 10)
Address 000f.90b3.b380
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300

Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Desg FWD 19 128.1 P2p
Fa0/2 Back BLK 19 128.2 P2p
Fa0/3 Root FWD 19 128.3 P2p




Cata2950_2#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Cata2950_2(config)#no spanning-tree vlan 10
Cata2950_2(config)#end




cata1#sho spanning-tree

VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 10
Address 0016.9da0.4ec0
Cost 19
Port 3 (FastEthernet0/3)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec

Bridge ID Priority 32778 (priority 32768 sys-id-ext 10)
Address 000f.90b3.b380
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 15

Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Desg FWD 19 128.1 P2p
Fa0/2 Back BLK 19 128.2 P2p
Fa0/3 Desg BKN*19 128.3 P2p *LOOP_Inc

cata1#
02:49:47: %SPANTREE-2-LOOPGUARD_BLOCK: Loop guard blocking port FastEthernet0/3 on VLAN0010.
cata1#sho spanning-tree

VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 32778
Address 000f.90b3.b380
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec

Bridge ID Priority 32778 (priority 32768 sys-id-ext 10)
Address 000f.90b3.b380
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 15

Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Desg FWD 19 128.1 P2p
Fa0/2 Back BLK 19 128.2 P2p
Fa0/3 Desg BKN*19 128.3 P2p *LOOP_Inc

cata1#
cata1#sho spanning-tree interface fastEthernet 0/3 detail
Port 3 (FastEthernet0/3) of VLAN0010 is broken (Loop Inconsistent)
Port path cost 19, Port priority 128, Port Identifier 128.3.
Designated root has priority 32778, address 000f.90b3.b380
Designated bridge has priority 32778, address 000f.90b3.b380
Designated port id is 128.3, designated path cost 0
Timers: message age 0, forward delay 0, hold 0
Number of transitions to forwarding state: 1
Link type is point-to-point by default
Loop guard is enabled on the port
BPDU: sent 2, received 28
cata1#



cata1#show spanning-tree inconsistentports


Name Interface Inconsistency
-------------------- ---------------------- ------------------
VLAN0010 FastEthernet0/3 Loop Inconsistent

Number of inconsistent ports (segments) in the system : 1
「portfastとループガードは同時に設定できない」と、黒本に書いてあり、ciscoのサイトにもそういう記述があったけど、 設定できるぜぇ?
cata1#sho spanning-tree interface fastEthernet 0/3 detail

 Port 3 (FastEthernet0/3) of VLAN0010 is forwarding
   Port path cost 19, Port priority 128, Port Identifier 128.3.
   Designated root has priority 16394, address 000b.fdb9.a680
   Designated bridge has priority 32778, address 000f.90b3.b380
   Designated port id is 128.3, designated path cost 19
   Timers: message age 0, forward delay 0, hold 0
   Number of transitions to forwarding state: 1
   The port is in the portfast mode
   Link type is point-to-point by default
   Loop guard is enabled on the port
   BPDU: sent 250, received 0
cata1#

ね?

ルートガード

今度はルートガード。

cata1(config)#interface fastEthernet 0/3
cata1(config-if)#spanning-tree guard root
cata1(config-if)#end
cata1#
02:28:26: %SPANTREE-2-ROOTGUARD_CONFIG_CHANGE: Root guard enabled on port FastEthernet0/3.
cata1#
cata1#
02:28:27: %SYS-5-CONFIG_I: Configured from console by console
cata1#
02:28:39: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/3, changed state to down
02:28:40: %LINK-3-UPDOWN: Interface FastEthernet0/3, changed state to down
02:28:43: %SPANTREE-2-ROOTGUARD_BLOCK: Root guard blocking port FastEthernet0/3 on VLAN0010.
02:28:43: %LINK-3-UPDOWN: Interface FastEthernet0/3, changed state to up
02:28:44: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/3, changed state to up
cata1#
cata1#sho spanning-tree

VLAN0010
Spanning tree enabled protocol rstp
Root ID Priority 32778
Address 000f.90b3.b380
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec

Bridge ID Priority 32778 (priority 32768 sys-id-ext 10)
Address 000f.90b3.b380
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300

Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Desg FWD 19 128.1 P2p
Fa0/2 Back BLK 19 128.2 P2p
Fa0/3 Desg BKN*19 128.3 P2p Peer(STP) *ROOT_Inc

cata1#
cata1#sho spanning-tree inconsistentports

Name Interface Inconsistency
-------------------- ---------------------- ------------------
VLAN0010 FastEthernet0/3 Root Inconsistent

Number of inconsistent ports (segments) in the system : 1
http://www.cisco.com/cisco/web/support/JP/100/1008/1008510_74-j.html

ルートガードはinterfaceで設定する。

ルートガードは文字通り新しいルートブリッジをガードするのだが、
bpduguardも結局は同じ目的だった。

あれかな、bpduguardはルートブリッジでなくてもトポロジ変更があり得るのを防ぎ、
ルートガードはトポロジ変更は許容するがルートの変更は防ぐ、ということだろうか。

bpduguardではinterfaceはerror disableになる。
ルートガードでは upのままであるが、show spanning-tree interface detailで見ると、"broken"となっている。

BPDUガード

portfastを設定したポートにスイッチをつないでループが発生する状況を作ろうと思ったが、どうしてもできない。

ループが発生するのは2つのスイッチで両方spanning treeを無効にした場合だけである。
2つのスイッチのvlan 10に所属する二つのポートをそれぞれportfastに設定して2本のケーブルでつないだら、 全部FWDになってループが発生すると思ったのだが、ちゃんと一個がBLKになる。どうしてだろう・・・?

portfastを設定したことによってループが発生することになる例が思いつかない。

基本的なところから確認していこう。 まず、STPに対応していないL2スイッチを、ループが発生するようなトポロジで、つまり、2本のケーブルで同じセグメントを接続してみたらどうなるか。

1本目のケーブルを接続すると、LIS, LRNを経てFWDになる。 2本目を接続すると、即時BLKとなる。 この、2本目を接続するポートをportfastにしたらループが発生しそうだ。 

やってみよう。 ・・・が、ポートはやはり即時BLKとなる。

Interface Role Sts Cost Prio.Nbr Type

---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Desg FWD 19 128.1 P2p
Fa0/2 Back BLK 19 128.2 P2p


fa0/1,0/2をともにportfastに設定してSTPに対応していないスイッチングハブに接続したが、ひとつがBLKになり、 ループは発生しない。これでループが発生しないなら問題ないでしょ・・・・

でも、どうして両方portfastにしても片方がBLKになるんだろう? STP未対応のスイッチングハブでも、BPDUは転送するから、ひとつのポートから送信されたBPDUをもう一方で受信することでBLKになるのか。

http://www.cisco.com/cisco/web/support/JP/100/1007/1007812_65-j.html

どうやら、portfastを設定することによりループが発生することにはならないようだ。 portfastを設定することによって問題となる可能性のあるのは、そのポートにL2スイッチを接続してそれがルートになることにより、トポロジに予期しない変化が発生することのようだ。

そこで、bpduguardを設定する。これはグローバルに設定する。 bpduguardを設定した状態で、portfastを設定したポートにSTP対応スイッチを接続すると、 リンクアップするがすぐにerrdisableになる。

cata1(config)#spanning-tree portfast ?
bpdufilter Enable portfast bdpu filter on this switch
bpduguard Enable portfast bpdu guard on this switch
default Enable portfast by default on all access ports

cata1(config)#spanning-tree portfast bpduguard
cata1(config)#end
cata1#
02:19:08: %SYS-5-CONFIG_I: Configured from console by console
cata1#sho spanning-tree



VLAN0010
Spanning tree enabled protocol rstp
Root ID Priority 32778
Address 000f.90b3.b380
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec

Bridge ID Priority 32778 (priority 32768 sys-id-ext 10)
Address 000f.90b3.b380
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300

Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Desg FWD 19 128.1 P2p
Fa0/2 Back BLK 19 128.2 P2p





cata1#
02:19:30: %LINK-3-UPDOWN: Interface FastEthernet0/3, changed state to up
02:19:30: %SPANTREE-2-BLOCK_BPDUGUARD: Received BPDU on port FastEthernet0/3 with BPDU Guard enabled. Disabling port.
02:19:30: %PM-4-ERR_DISABLE: bpduguard error detected on Fa0/3, putting Fa0/3 in err-disable state
02:19:32: %LINK-3-UPDOWN: Interface FastEthernet0/3, changed state to down
cata1#
cata1#sho spanning-tree

VLAN0010
Spanning tree enabled protocol rstp
Root ID Priority 32778
Address 000f.90b3.b380
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec

Bridge ID Priority 32778 (priority 32768 sys-id-ext 10)
Address 000f.90b3.b380
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300

Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Desg FWD 19 128.1 P2p
Fa0/2 Back BLK 19 128.2 P2p


bpduguardの意味が、やっとわかった。

ブリッジプライオリティ

STPのBPDUのブリッジプライオリティのフィールドは4ビットである。つまり十進数で0~15までの16段階しかない。
デフォルトのプライオリティは32768である。BPDUには実際のpriorityを4096で割ったものが記録される。
つまりプライオリティは4096の倍数でしか設定できない。
デフォルトの場合、8になる。
プライオリティは「ブリッジID」の先頭4ビットである。

priority (4)
拡張システムID(vlan id) (12)
mac address (48)

STPの種類

初耳

switchport autostate exclude

flex link


Thu Feb 2 10:02:58 2012

STPの種類

PVST(デフォルト)... vlanごとにひとつのSTPインスタンスを持つ。つまり、vlanごとにルートブリッジの選出とポートの役割が決定される。vlanごとにrootブリッジを決め、ブロックされるポートを変えることができる。つまり、負荷分散ができる。

MST ... STPのインスタンスとvlanの対応を任意に設定できる。たとえばvlan 10,20...100と10個のvlanがあったときに、10から50はインスタンス1、60-100はインスタンス2、というように。これにより負荷分散も可能であり、いくつかのインスタンスをまとめることもできる。

2950, IOS 12.1(22)EA13 では、modeは mst, pvst, rapid-pvstのいずれかを設定できる。

cata1(config)#spanning-tree mode ?
mst Multiple spanning tree mode
pvst Per-Vlan spanning tree mode
rapid-pvst Per-Vlan rapid spanning tree mode

MSTにすると、コスト値が変わる。100Mbpsが200000 となる。

Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/30 Desg FWD 200000 128.30 P2p
Fa0/47 Desg BKN*200000 128.47 P2p Bound(PVST) *ROOT_Inc
Fa0/48 Desg BKN*200000 128.48 P2p Bound(PVST) *ROOT_Inc

ちなみに上記は、対向装置がpvstの場合である。
Boun というroleは、異なるモードのstpの境界であることを示す。

Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Desg BLK 200000 128.1 P2p
Fa0/47 Boun FWD 200000 128.47 P2p Bound(RSTP)
Fa0/48 Desg BLK 200000 128.48 P2p

モードがmstであっても、名前が違うと"Bound"になる。

RSTPとは、pvstのrapid版である。速いpvstである。
どのくらい速いか?
FWD状態のポートをダウンさせると、Roleがaltn, StsがBLKのポートが一瞬でFWDになる。
ダウンしたポートをまたアップさせると、一瞬でステータスが変わる。

なんでデフォルトをrstpにしないんだろうか?

pvst, rstp, mstについては、前回勉強したとき深くやらなかった。
実際に設定して動作を確認することもしなかった。
よく合格したな・・・。

続続・642-813J SWITCHの準備

catalyst2950とcatalyst3550がある。
3550はL3スイッチなので、vlanにIPアドレスを設定できる。

今、vlan 10に 192.168.10.254/24 というアドレスを振った。
そして、そのvlan 10に所属するポートにcatalyst2950を接続し、catalyst2950に192.168.10.1/24というアドレスを持った装置を接続した。
そして192.168.10.1と192.168.10.254の間で通信をおこなった。

その後、show mac address-table を 3550で実行すると、次のようになる。
All 000b.fdb9.a683 STATIC CPU
All 000b.fdb9.a684 STATIC CPU
All 000b.fdb9.a685 STATIC CPU
All 000b.fdb9.a686 STATIC CPU
All 000b.fdb9.a687 STATIC CPU
All 000b.fdb9.a688 STATIC CPU
All 000b.fdb9.a689 STATIC CPU
All 000b.fdb9.a68a STATIC CPU
All 000b.fdb9.a68b STATIC CPU
All 000b.fdb9.a68c STATIC CPU
All 000b.fdb9.a68d STATIC CPU
All 000b.fdb9.a68e STATIC CPU
All 000b.fdb9.a68f STATIC CPU
All 000b.fdb9.a690 STATIC CPU
All 000b.fdb9.a691 STATIC CPU
All 000b.fdb9.a692 STATIC CPU
All 000b.fdb9.a693 STATIC CPU
All 000b.fdb9.a694 STATIC CPU
All 000b.fdb9.a695 STATIC CPU
All 000b.fdb9.a696 STATIC CPU
All 000b.fdb9.a697 STATIC CPU
All 000b.fdb9.a698 STATIC CPU
All 000b.fdb9.a699 STATIC CPU
All 000b.fdb9.a69a STATIC CPU
All 000b.fdb9.a69b STATIC CPU
All 000b.fdb9.a69c STATIC CPU
All 000b.fdb9.a69d STATIC CPU
All 000b.fdb9.a69e STATIC CPU
All 000b.fdb9.a69f STATIC CPU
All 000b.fdb9.a6a0 STATIC CPU
All 000b.fdb9.a6a1 STATIC CPU
All 000b.fdb9.a6a2 STATIC CPU
All 000b.fdb9.a6a3 STATIC CPU
All 000b.fdb9.a6a4 STATIC CPU
All 000b.fdb9.a6a5 STATIC CPU
All 000b.fdb9.a6a6 STATIC CPU
All 000b.fdb9.a6a7 STATIC CPU
All 000b.fdb9.a6a8 STATIC CPU
All 000b.fdb9.a6a9 STATIC CPU
All 000b.fdb9.a6aa STATIC CPU
All 000b.fdb9.a6ab STATIC CPU
All 000b.fdb9.a6ac STATIC CPU
All 000b.fdb9.a6ad STATIC CPU
All 000b.fdb9.a6ae STATIC CPU
All 000b.fdb9.a6af STATIC CPU
All 000b.fdb9.a6b0 STATIC CPU
All 000b.fdb9.a6b1 STATIC CPU
All 000b.fdb9.a6b2 STATIC CPU
All 0100.0c00.0000 STATIC CPU
All 0100.0ccc.cccc STATIC CPU
All 0100.0ccc.cccd STATIC CPU
All 0100.0ccd.cdce STATIC CPU
All 0180.c200.0000 STATIC CPU
All 0180.c200.0001 STATIC CPU
All 0180.c200.0002 STATIC CPU
All 0180.c200.0003 STATIC CPU
All 0180.c200.0004 STATIC CPU
All 0180.c200.0005 STATIC CPU
All 0180.c200.0006 STATIC CPU
All 0180.c200.0007 STATIC CPU
All 0180.c200.0008 STATIC CPU
All 0180.c200.0009 STATIC CPU
All 0180.c200.000a STATIC CPU
All 0180.c200.000b STATIC CPU
All 0180.c200.000c STATIC CPU
All 0180.c200.000d STATIC CPU
All 0180.c200.000e STATIC CPU
All 0180.c200.000f STATIC CPU
All 0180.c200.0010 STATIC CPU
100 0016.9da0.4ec1 DYNAMIC Fa0/1
100 0080.bd08.978b DYNAMIC Fa0/1
300 000d.0234.faa9 DYNAMIC Fa0/33
300 0016.9da0.4ed1 DYNAMIC Fa0/33
Total Mac Addresses for this criterion: 76
3550は48ポートで、1行目から48行目までは各ポートの持っているMACアドレスである。 それ以降のアドレスは何なのか、不明。

そして最後の4行にあるのが、実際に通信した装置のMACアドレスである。
vlanは100,200,300と作ってある。
200のアドレスはエージアウトして消えているので100,300のものが表示されている。 
さて、vlan 100について、二つのアドレスが表示されている。 このcatalystが通信した相手は1台だけで、そのmac addressは 0080.bd08.978bである。
では、もうひとつの 0016.9da0.4ec1はどこのmac addressか?

これは、catalyst3550と通信した装置の間にある、catalyst2950のポートのmac addressである。
これは衝撃的な事実である。 L3スイッチとあるデバイスが通信したときに、mac address-tableにその間のL2スイッチのポートのmac addressが記録されているとは!

私の中でL2スイッチの動作概念が覆された。
そもそも、2950の各ポートにmacアドレスがあること自体に驚いた。 管理VLANを設定したときにはL3通信をすることになるからそのときのためかなと思ったのだが、
そうではなくてL2通信しかしていないのにmac address-tableには学習されているのだ。
cdpとstpをとめたがやはり表示されている。
2950に2台のデバイスを接続してその間で通信した場合はデバイスのmac addressのみが表示される。

スイッチ間を接続すると、対向ポートのmacを学習するようだ。
l2,l3によらず。
でも、たとえスイッチ間を接続してその間でフレームを転送する必要があるとしても、 通信に必要なmacアドレスはエンド同士のみのはずだから、
やはりスイッチのポートのaddressを覚えるのはcdpなどのようなスイッチ間の通信のためではないだろうか?
ポートをキャプチャしてみると、cdp, stp, そしてloop というフレームが送信されている。 loopというのは、type 0x9000で、cdpとは違うものである。
この3つを全部とめれば、さっきの対向ポートのmac学習はしなくなった。
ちなみにloopを止めるにはinterfaceで no keepaliveを設定する。

また今更シリーズ。
catalyst2台を、それぞれvlan 10, vlan 20と二つのvlanに区切り、その2台を接続する。
やり方は2つある。
ひとつは、同じvlan同士をケーブルでつなぐ。vlanの数だけケーブルが必要になる。当然、ポートも。
もうひとつは、トランクポートを作って、スイッチ間を1本のケーブルで接続する。
こうすればvlanがいくつになってもケーブルは1本でよい。

これがトランクの使い方であるが、私はいつもvlan間直接接続方式にしていた。
つい最近、職場で3~4台のcatalystをつないだときもそうしていて、ポートが足りないと悩んでいたが、トランク接続すればよかったのだ。

ただし、一本のリンクで複数vlanをまとめるのだから当然帯域はきつくなる。
私の職場も、帯域はけっこうシビアだったのでこれでよかったのかもしれないが、
それをわかってやっていたわけではなかった。

L2スイッチについては、誤解や無知の部分がけっこうある。
STPとかが苦手なのも根本的にL2の通信についての理解不足が原因かもしれない。