Catalyst 3560CG セットアップ記

折角こういう業界に来たのにネットワークのこと1mmもわからんのよなと思い、家にVLANを引きたくなったのもあってL3スイッチを買って色々試してみていた。基本的には Catalyst 3560CG と WAP150 でググったら出てくる某ブログに従っていれば大丈夫だが、全く知らなかったので個人的に色々と詰まったポイントがあったのでそれを書こうと思う。が、普通にめちゃくちゃ間違ってるかもしれん。

前提

契約しているのは au ひかりで、au ひかりではルーター機能も兼ねるホームゲートウェイをレンタルすることになる。こいつはauひかりを使うための認証の機能も兼ねているので自前のルータールーターとして使うことは難しい。(無線を飛ばしたかったら月550円払ってレンタルホームゲートウェイ無線LAN機能を有効化するか、自分で持っている無線ルーターをアクセスポイントとして使うことになる。このHGWが微妙に使い勝手が悪くARPテーブルを見れなかったりする。まぁあと当然 VLAN の設定とかは出来ない。)個人的には家にVLANを組んでみたかったのと、インターネットにセットアップ例がそこそこ転がっていたので中古のL3スイッチを購入した。本当はPoE付きが欲しかったが高かったので断念した。

思ったより小さかった

DNSを先に設定する

よくあるセットアップ例だと ntp.nict.jp を NTP サーバーとして指定しているが、DNS が設定されていないと名前解決されずに時刻同期が取れないので先にDNSを設定する。大抵はルーターのアドレスを指定すれば良さそう。先に NTP サーバーを指定して後から DNS を設定してもやっぱり同期は取れてくれなかった。何故だろう。

IP アドレスは機器では無くインターフェースに振られる

これも知らなかった

静的ルーティングでは相手を指定する

めちゃくちゃ当たり前なのだが、宛先アドレスに行ける方にルーティングする(?) のが正しいので、ルーターのIPを 192.168.0.1, ルーテッドポートのIPアドレス192.168.0.254 とする場合スイッチ側では外に向ける様に

Switch(config)#ip route 0.0.0.0 0.0.0.0 192.168.0.1 

とするのが正しい、逆にルーター側では各VLAN へのアドレスを 192.168.0.254 に向く様に設定する。

スリープ復帰からインターネットに繋がるまでが遅い時

デフォルトだとスパニングツリーのループ検知が走っているらしく、これに30秒ぐらいかかる。PC などを直接つないでる場合はその先にループは無いのでこれを無効化すると早くなる。幸いスマートマクロというものがありデフォルトで cisco-desktop などが定義されていてポートの設定を良い感じにしてくれるっぽいのでこれを macro apply で適用してあげると良いだろう。

WAP150 の管理 VLAN はネイティブ VLAN と同じものにする

管理VLAN だから適当に1にするか、とかとやったら通信出来なくなって初期化する羽目になった。(何回初期化したかもう覚えていない。)

IPv6 の簡易設定

大体ここに書いてある

www.cisco.com

IPv6 のアドレスを振りたい場合

  1. スイッチ側でプレフィックスを RA で配布し、IP を端末側で設定する。DNS の情報は RDNSS とかいうやつで配布する。

  2. スイッチ側でプレフィックスを RA で配布し、IP を端末側で設定する。DNS の情報は DHCPv6 で配布する。(ステートレス DHCPv6 って言われてるらしい)

  3. プレフィックスもIPも DNS の情報の配布も DHCPv6 で全部やる。(ステートフル DHCPv6 って言われてるらしい)

がある。個人的には 2 の例が上手く行った。まず ipv6 のルーティングを有効化しておいた。

Switch(config)#ipv6 unicast-routing

次にルーテッドポートにグローバル IPv6 アドレスを割り振った。この時プレフィックスとなる上位 64 bit はルーター側と同じになるようにした。

Switch(config-if)# ipv6 enable
Switch(config-if)# ipv6 address 2001:xxxx:yyyy:zzzz::/64 eui-64

DHCPv6 も有効にしておいた。この時 DHCP では DNS の配布だけするので適当に DNS の設定だけした。

Switch(config)#ipv6 dhcp pool <poolname>
Switch(config-dhcp)#dns-server <ipv6-address>

この時 <ipv6-address> はリンクローカルアドレスを設定しない方が良いっぽい。どうやら VLAN の外と中は同一ネットワークでないらしいのでリンクローカルアドレスを使った通信が出来なかった。自分は適当に Cloudflare のパブリック DNS を指定した。 次に IPv6 を有効化したい VLAN に対してプレフィックスの配布と DHCPv6 の設定をした。上位 64bit のプレフィックスのうち上位 48bit はネットワークアドレス, 下位 8bit はサブネットアドレスなので上位 48 bit はルーター、ルーテッドポート側と同じにし、下位 8bit は好きなものにした。

www.ibm.com

Switch(config-if)#ipv6 enable
Switch(config-if)#ipv6 address 2001:xxxx:yyyy:wwww::/64 eui-64

ついでにステートレス DHCP の設定もした。

Switch(config-if)#ipv6 nd other-config-flag
Switch(config-if)#ipv6 dhcp server <poolname>

あとは IPv4 と同じ様にスイッチ側とルーター側でそれぞれ静的ルーティングの設定をした。なおルーター側では宛先としてグローバルアドレスでは無くリンクローカルアドレスが求められたのでルーテッドポートに設定されたリンクローカルアドレスを予めメモっておくと良い。自分の場合はこれで IPv6 を用いて通信することが出来た。

Switch(config)#ipv6 route ::/0 <router-global-ipv6-address>

  この設定の場合は上にも書いた通りステートレス DHCPv6 を使ったが、多分 ipv6 nd managed-config-flag を設定すればステートフル DHCPv6 を使った設定も出来るはず...? 試してはいない。