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 の簡易設定
大体ここに書いてある
IPv6 のアドレスを振りたい場合
スイッチ側でプレフィックスを RA で配布し、IP を端末側で設定する。DNS の情報は RDNSS とかいうやつで配布する。
スイッチ側でプレフィックスを RA で配布し、IP を端末側で設定する。DNS の情報は DHCPv6 で配布する。(ステートレス DHCPv6 って言われてるらしい)
プレフィックスも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 は好きなものにした。
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 を使った設定も出来るはず...? 試してはいない。