C9800 Setup the hard way

はじめに

本記事は、Cisco Catalyst 9800の設定、及び無線接続ができる状態にするまでをCLIのみ・セットアップウィザードなしで行う方法をまとめたものである。
CiscoのWLCを設定して、無線を吹けるようになるに至るまでの間は、設定項目が多いために、Web GUIを使うのが基本的におすすめされる方法であるが、「CiscoのGUIなんか信用できるか!」「ルータ・スイッチで全部コマンド打って設定しているのだから、WLCだって余裕だろう」という方々にお勧めの記事である。
一部必ずしも必須ではない設定を入れているが、それは後々の管理の為というのもあって入れているので、入れるかどうかは任意。

検証に使用した環境

・C9800-CL v17.12.4
・AP1台
C9800-L、C9800-40とかは搭載インターフェースが違うので、よしなに読み替えること

構成図と構成条件

・WLC-AP間の管理トラフィックが通るVLANを100、クライアントがWi-Fi経由で接続するVLANを200とする(WLC-AP間の通信を行う管理VLANとクライアントが接続するVLANは基本的に別にするのがベストプラクティス)。
・APが接続するポートは管理VLAN(VLAN100)をネイティブVLANとして設定する。
・FlexConnectを利用する。これにより、WLCが停止しても無線クライアントのネットワーク接続性を確保できる。またこの機能を利用するために、APがWLCの近傍にあったとしても、全てのAPがWLCと離れた場所に存在する(リモートサイトに存在する)と見なす。

さあ設定しよう

セットアップダイアログ

“Would you like to enter the initial dialog?” → もちろんNo
この後enable secretを設定しろと言われるので言われた通りにする。 enable secretの条件:メッセージ通りで、10文字以上32文字以下、大文字、小文字、数字を必ず1つ含み、“cisco"という文字列を入れないこと。
その後3つの選択肢が表示されるが、"[0] Go to the IOS command prompt without saving this config.“を選択。
ログが流れるのが治まったら、Enterでいつもの状態に。

1-基本設定、IP設定

enableした後に、C9800-CLの場合はsh ip int briefでインターフェースが認識されているか、どのインターフェースがVMの設定に対応しているか確認する。
configure terminalをしたら以下の設定を順に行う。とりあえずはsshで入れるよう準備する。 今回は、GigabitEthernet1をスイッチポートとして利用するものとするので、VLANの作成(ID=100とする)、Gi1をそのVLANのアクセスポートとする。 C9800-CL以外の場合はサービスポート(SP)に設定するもよし。だが、一旦通常のポートを使うようにした方がいいと思う。

  1. hostnameを設定する。
  2. domain nameを設定する。
  3. (DNSサーバを設定する。)
  4. 管理用VLAN100を作成する。
  5. 管理用VLAN100のSVIを作成し、IPを振る。
  6. GigabitEthernet1をVLAN100のアクセスポートにする。(no shutdownで有効化する)
  7. デフォルトゲートウェイを設定する。
  8. ntpサーバを設定する。設定しないとこの後生成する証明書の有効期限に影響が出る可能性が高い。
  9. SSH用ホストキーを生成する。
  10. ユーザーを追加し(ここではadminとする)、secretを設定する。
  11. AAAを有効化する。セキュリティ強化、及びWPA2/3-Enterprise認証のためにRADIUSを使うので、AAAは必ず有効化しておくべき。
  12. con 0、vtyを設定する。vtyはssh接続を受け入れられるようにする。
hostname <hostname>  
ip domain name <domain-name>  
(ip name-server <DNS server IP>)
!
vlan 100
!
interface Vlan100
 ip address 192.168.100.100 255.255.255.0
!
interface GigabitEthernet1
 switchport access vlan 100
 negotiation auto
!
ip route 0.0.0.0 0.0.0.0 192.168.100.1
!
crypto key generate ecdsa key 256
!
username admin privilege 15 secret <password>
! 
aaa new-model
! AAAを有効化している場合は、login localは暗黙
line con 0
 logging synchronous
 transport preferred none
!
line vty 0 15
 logging synchronous
 transport input ssh
 transport preferred none
!

できたらsshでログインできるか確かめる。また、show clock、show ntp associations
sshログインできたら、wrで設定保存。

2-無線設定-国コードの設定

C9800は様々な国での動作が想定されている。無線は国によって規制が異なるため、それに沿った設定ができるようにC9800を設定しなければならない。
以下の手順で動作させる国コードを設定する。

  1. 国コードを設定するには、全ての帯域の無線ネットワークが無効でなければならない。デフォルトでは有効なため、無効化する。
  2. 国コードを設定する。日本の場合はJ4。
ap dot11 24ghz shutdown 
ap dot11 5ghz shutdown 
ap dot11 6ghz shutdown 
wireless country J4

設定が完了したら、無線ネットワークは無効にしたままで次に進む。

3-無線管理インターフェース(WMI)及びWLC証明書設定

WLCにAPがJoinできるようにするためには、無線管理インターフェース(WMI)=WLCのAPからの通信の接続点を設定しなければならない。
また、WLCで証明書を発行しなければならない(C9800-CLのみ)。
ここでは、Vlan100をWMIとする。

(config)# wireless interface Vlan100  
! 以下のコマンドはC9800-CLのみで実行が必要。特権EXECモードで実行する。パスワードは何でもいい  
# wireless config vwlc-ssc key-size 2048 signature-algo sha256 password 0 <password>  

show wireless management trustpointで生成した証明書を確認できる。
ちなみに、国コードの設定をもってWeb GUIの初期設定ウィザードはもう表示されなくなる。

4-無線設定-WLANの作成

APで吹くSSIDを設定する。

  1. wlan で新しいWLANを定義する。IDは1~4096のうちから選べるが、Web GUIで設定したときに1,2,…と順番に設定されるので、それに合わせる。
  2. Fast Transitionは現時点で必要ないので無効化する。
  3. セキュリティの設定を行う。デフォルトではWPA2-Enterpriseが有効である。一旦Personalにするために、AKM dot1xは無効にし、PSKを有効化する。
  4. PSKを設定する。
  5. no shutdownで有効化する。

WPA3-SAEを有効化する場合は、PMFが必須である。(security pmf mandatory)
6GHz帯を使用する場合は、WPA3の設定が必須である。

wlan test 1 test
 no security ft adaptive
 security wpa psk set-key ascii 0 wlanpassword
 no security wpa akm dot1x
 ! WPA2-PSKの場合
 security wpa akm psk
 ! WPA3-SAEの場合
 no security wpa wpa2 ! 必須ではない
 security wpa wpa3
 security wpa akm sae
 security pmf mandatory
 no shutdown

5-ポリシープロファイルの設定

WLANに対してどのようなネットワークかを定義するポリシープロファイルを作成する。
最低限動かすために、以下の設定を行う。

  1. Central DHCPを無効化する。
  2. FlexConnect Local Switchingを利用するために、Central Switchingを無効化する(無効化しない場合は、WLCでスイッチングできるようVLANの追加やポートの設定等が必要)。
  3. クライアントが接続するVLANを設定する。管理VLANに接続させる場合は設定しない。
  4. no shutdownでポリシープロファイルを有効化する。
wireless profile policy policy-test
 no central dhcp
 no central switching
 vlan 200
 no shutdown

6-ポリシータグの設定

WLANとポリシープロファイルを結びつけるタグを定義する。
WLAN名(SSID)とポリシー名をwlan policy で結びつける。

wireless tag policy test-tag
 wlan test policy policy-test

7-AP参加プロファイルの作成

AP自体の設定を行うAP Join Profileを作成する。

  1. 国コードを設定する。
  2. APのCLI管理ユーザを設定する。
  3. 必要な場合は、APへのsshを許可する。
  4. Syslogがデフォルトでブロードキャストされるのを無効にする。
  5. タイムゾーンを設定する。(場合によっては上手く動かない可能性があるが気にしない)
ap profile test-join-profile
 country J4
 mgmtuser username admin password 0 aptest secret 0 aptest
 ssh ! 必須ではない
 syslog host 0.0.0.0
 timezone use-controller

8-Flexプロファイルの作成

FlexConnectのための設定を行うFlex Profileを作成する。 一旦ネイティブVLAN IDを設定するだけでよい。

wireless profile flex flexprofile-test
 native-vlan-id 24

9-サイトタグの作成

7と8で作ったAP Join ProfileとFlexプロファイルを結びつけ、1拠点として定義するサイトタグを作成する。

  1. AP Join Profileを結びつける。
  2. FlexConnectを利用するために、ローカルサイトを無効化する。
  3. Flex Profileを結びつける。
wireless tag site sitetag-test
 ap-profile test-joinprofile
 no local-site
 flex-profile flexprofile-test

10-APタグの作成

6で作ったポリシータグ、9で作ったサイトタグ、さらに各無線帯域における無線設定を結びつけるRFタグを結びつけるAPタグを作成する。
APタグには以下の3種類が存在する:
①スタティックAPタグ。単一のAPの管理インターフェースのMACアドレスと、3つのタグを結びつける。小規模展開の場合や、2.のロケーションや3.のフィルタの対象外とするAPを作る場合に使用するのが最適。
②ロケーションAPタグ。ロケーションに所属するAPと3つのタグを結びつける。大規模展開に最適である。
③フィルタAPタグ。正規表現にマッチするAP名を持つAPを対象に、3つのタグを結びつける。大規模展開に最適である。

RFタグはこの手順では作成しなかったので、デフォルトのものを結びつける。
APの管理MACアドレスを000c.0123.4567とする。

①の場合

ap 000c.0123.4567
 policy-tag test-tag
 site-tag sitetag-test
 rf-tag default-rf-tag

②の場合

“testlocation"という名前のロケーションを作成、ap-eth-macコマンドでMACアドレスを登録し、ロケーションに結び付ける。

ap location name testlocation
 ap-eth-mac 000c.0123.4567
 tag policy test-tag
 tag site sitetag-test
 tag rf default-rf-tag

③の場合

ap name-regexでAP名の正規表現を指定する(例:cisco*)。尚、AP名の初期設定は"AP0000.0000.0000"の形式である。

ap filter name filter-test
 ap name-regex cisco*
 tag policy test-tag
 tag site sitetag-test
 tag rf default-rf-tag

11-無線ネットワークの有効化

show running-configで今までに設定した内容を確認し、間違いがないか確認する。
間違いなければ、2.の手順でやっていた無線ネットワークの無効化を解除する。

no ap dot11 24ghz shutdown 
no ap dot11 5ghz shutdown 
no ap dot11 6ghz shutdown 

AP Joinのテスト

APの電源を入れ、OSの起動が完了するとWLCを探し始める。
Joinが完了すると、コントローラとOSバージョンを同期させるためにAPのイメージアップグレードが行われる。
APのイメージダウンロードが完了しアップグレードされると再度WLCを探し、最終的にJoinする。
Join後、WLCでshow ap summaryコマンドを打って正しくタグが結びつけられているか確認する。
SSIDを吹き始めたら、試しにスマートフォンなどを接続してみる。接続出来たらセットアップは終了。