1 - 1.CISCO機器の基礎
1.1. CISCO機器への接続
CISCOのルータやスイッチにアクセスする方法は3つある。
方法 | 説明 |
---|---|
コンソール接続 | ConsoleポートとPCをコンソールケーブルで接続する |
VTY(仮想端末)接続 | ネットワーク経由でリモートでTELNET/SSHで接続する |
AUX接続 | AUXポートとモデムを接続し電話回線経由で接続する |
基本的にはコンソール接続やVTY接続はTeraTerm等のターミナルエミュレータを使用して機器にアクセスして設定を行う。
1.1. コンソール接続
コンソールケーブル(ロールオーバケーブル)でPCとルータ等のConsoleポートを接続する方法。 最近はPC側にDB-9コネクタがない場合が多いので、USBへの変換ケーブルを挟んで使用する場合が多い。
1.2. VTY接続
遠隔操作用のプロトコルであるTelnet/SSHを使用して設定/状態確認を行う方法。
Telnetの場合
通信経路上で入力した情報が暗号化されずに平文で送信されるためパスワードなどが漏洩する可能性がある。
SSHの場合
通信経路上で暗号化して送信されるためパスワード等が漏洩する危険性が低い。
1.2. CISCOルータ操作の基本知識
1.2.1. CISCOのIOS
CISCO製品のルータやスイッチはCISCO独自のCisco IOSがOSとして使用されている。 アクセスは基本的にはCLIで行う必要がある。
1.2.2. CISCO IOSの初期状態
CISCOルータ/スイッチの初期状態ではアクセスするとSetup モードとなっている。
Setupモードでは質問の1つずつ答えることで設定が可能となるが、一般的には使用されない。
初回時にyes
と答えるとSetupモードで設定ができ、no
と答えるとSetupモードではなく手動で設定が可能。
1.2.3. CISCO IOSのモード
Cisco IOSには操作モードがいくつかあり、それぞれの状態でできることが異なる。
モード名 | プロンプト | 説明 |
---|---|---|
ユーザEXECモード | > | 機器のステータスを確認できるモード |
特権EXECモード | # | 制限なく機器の動作/ステータスを確認できるモード |
Global Configurationモード | (config)# | 機器全体に関わる設定を行うモード |
Interface Configurationモード | (config-if)# | インターフェイスに関する設定を行うモード |
Routing Configurationモード | (config-router)# | ルーティングに関する設定を行うモード |
Line Configurationモード | (config-line)# | (コンソール、AUX、VTY)に関する設定を行うモード |
各モードへの移行は以下図のような関係となる。
ユーザEXECモード
機器のステータスのみを確認できるモード。
特権EXECモード
機器のステータスを制限無しで確認/設定ファイルの操作を行えるモード。
enable
Global Configurationモード
機器全体の設定を行うモード。 具体的にはルータ本体の設定などを行う。
configure terminal
conf t
1.2.4. 設定ファイルとその保存場所
CISCO IOSの重要な設定ファイルにはstartup-config、running-configという2つのファイルがある。
startup-config
起動時に読み込まれるファイルでNVRAMに保存されるルータが再起動しても内容が消えない設定ファイル。 再起動時にデータが消えないようにするにはこのファイルに書き込む必要がある。
runnning-config
ルータが再起動すると消えるファイル。現在動作している設定内容が保存されているファイル。
ルータのメモリ領域
CISCOルータには4つのメモリ領域がある。
種類 | 保存内容 | 説明 |
---|---|---|
RAM | running-configなど | 読み書き可能、電源を消しても内容は消える |
NVRAM | startup-config, コンフィギュレーションレジスタ | 読み書き可能、電源を消しても内容は消えない |
ROM | Mini IOS, POST, BootStrap, ROMモニタ | 読み書き専用、電源を消しても内容は消えない |
フラッシュメモリ | IOS | 読み書き可能、電源を消しても内容は消えない |
RAMは揮発性メモリであり、running-configやパケットなどを一時保持するバッファ、ルーティングテーブルなどがここに保持される。
NVRAMは不揮発性メモリであり、startup-configやコンフィギュレーションレジスタが保存される。 このコンフィギュレーションレジスタはルータのブート制御に使用される。 以下にコンフィギュアレーションのレジスタ値を示す。
レジスタ値 | 説明 |
---|---|
0x2100 | ROMモニタで起動、パスワード復旧時に使用する |
0x2101 | Mini IOSでブート、IOSバージョンアップで使用する |
0x2102 | 通常通りIOSや設定を読み込んで起動 |
0x2142 | パスワードリカバリの際に使用される |
コンフィギュレーションレジスタ値はshow version
で確認可能。
またコンフィギュレーションレジスタ値の変更はconfigure-registor <レジスタ値>
で行う。
ROMはルータ起動/ハードウェアチェックを行うためのプログラムが格納される。 ROMに保存されるプログラムを以下表に示す。
プログラム | 説明 |
---|---|
POST | ハードウェアチェックを行う |
BootStrap | OSをロードする |
ROMMON | パスワードリカバリやIOSのリカバリの際に使用される |
Mini OS | IOSの最小限機能を持ち、ハードウェアエラーの際に読み込まれる |
フラッシュメモリにはCisco IOSの情報が保持される。
1.2.5. ルータの初期化の方法
ルータの初期化手順は以下の通り。
- NVRAM上のstartup-configを消去する
- ルータの再起動を行う
コマンドは特権EXECモードで以下の通り行う。
# startup-configの消去
erase startup-config
# 再起動
reload
1.2.6. CISCOルータの起動プロセス
CISCOルータの起動プロセスを以下に示す。
- POST(電源投入時自己診断)の実行
- BootStrapがCisco IOSをロードする
- Cisco IOSが有効なコンフィギュレーションファイルをロードする
1.2.7. コマンド入力補助機能
UNIXコマンドと同じようにCISCO IOSにも似た補完機能がある。
機能 | 入力キー | 説明 |
---|---|---|
ヘルプ機能 | ? | コマンドやオプションを忘れた際に入力中のコマンドに続く候補を教えてくれる |
補完機能 | tabキー | コマンドの後ろ部分を保管してくれる機能 |
直前コマンド入力機能 | ↑キー もしくは Ctrl+P | 以前に入力したコマンドの表示 |
次コマンド入力機能 | ↓キー もしくは Ctrl+N | 次に入力したコマンドの表示 |
do コマンド | Global Configurationモードでdo をつけると特権EXECモードでコマンドが実行可能 |
なおコマンドの履歴は特権EXECモードでshow historyコマンドを実行すると表示される。
1.3. 基本的なCISCOコマンド
1.3.1. showコマンド - 設定などの確認
特権EXECモードでshow
を実行することで各種設定を確認できる。
# 現在の設定を確認する例
show running-config
show run
# コマンド履歴の確認
show history
# ConfigureationTerminalとHistoyBufferSizeの表示
show terminal
# インターフェイス情報の詳細表示
show interfaces
# インターフェイス情報の簡潔表示
show interfaces brief
# 時刻の表示
show clock
パイプを使用した絞り込み表示
show running-config | section vlan
コマンド | 説明 |
---|---|
begin | 指定内容に一致した行から表示の開始 |
exclude | 指定内容に一致した行は表示から除く |
include | 指定内容に一致した行のみを表示する |
section | 指定内容に一致したセクションのみを表示する |
routerのospf設定のみを表示させる例
show runnning-config | section router ospf
1.3.2. copyコマンド - 設定ファイルの保存
特権EXECモードでcopy
を実行することで設定ファイルを保存できる。
copy <コピー元> <コピー先>
startup-configに現行の設定を保存する例
running-configをNVRAMのstartup-configに上書きする。 これによりルータ電源を落としても設定が保存できる。
copy running-config startup-config
running-configをTFTPサーバにコピーする例
TFTPサーバに現行の設定をバックアップするためのコマンド。
copy running-config tftp
TFTPサーバに保存されたルータ設定をrunning-configにコピーする例
copy tftp running-config
1.3.3. hostnameコマンド - ルータ/スイッチの名称変更
特権EXECモードでhostname
を実行することでホスト名を変更、no hostname
でホスト名の設定の削除をできる。
hostname Router1
1.4. CISCO機器へのパスワード設定
1.4.1. ユーザEXECモードへのアクセス制限(Consoleパスワード)
Ciscoルータへ管理アクセスする方法にはコンソールポート経由、AUXポート経由、VTYポート経由の大きく3つある。 3つそれぞれのポートからアクセスする際にパスワードの入力を求めるように設定ができる。
コンソールポートへのパスワード設定
(config)#line console 0
(config-line)#password <パスワード>
(config-line)#login
AUXポートへのパスワード設定
(config)#line aux 0
(config-line)#password <パスワード>
(config-line)#login
VTYポートへのパスワード設定
(config)#line vty <開始ライン番号> <終了ライン番号>
(config-line)#password <パスワード>
(config-line)#login
接続の自動ログアウトの設定
(config-line)#exec-timeout <分> [<秒>]
1.4.2. 特権EXECモードへのアクセス制限(Enableパスワード)
Cisco機器の特権EXECモードに移る際(enable)にパスワードの入力を求めるように設定ができる。 パスワードのかけ方はenable passwordとenable secretの2つがあり、暗号化される観点から後者の使用が推奨される。
enable password
(config)#enable password <パスワード>
enable secret
(config)#enable secret <パスワード>
1.4.3. パスワードの暗号化
Ciscoルータではenable secretコマンドのパスワードを除き、line vtyやconsoleに設定したパスワードや
enable passwordなどは暗号化されずにクリアテキストとしてconfig上に表示されてしまう。
この問題はservice password-encryption
コマンドを設定することで、これらのパスワードが自動的に暗号化するようにできる。
service password-encryption
1.5. ローカル認証の設定とユーザアカウント作成
ローカル認証はパスワードだけでなくユーザー名も認証に必要な設定方法。 コンソールにローカル認証を設定するには以下の手順の通り。
- ユーザーアカウントの作成
- ラインコンフィグレーションモードに移行する
- 作成したユーザーアカウントの使用を指定
設定例を以下に示す。
(config)#username <ユーザー名> [privilege <特権レベル>] password <パスワード>
(config)#line console 0
(config-line)#login local
特権レベルはユーザーの特権レベルを指定する。 0 ~ 15 が指定でき、設定されたレベル以下のコマンドしか実行できなくなる。
privilegeを指定せずに作成したユーザーでログインするとユーザEXECモードから始まり、 実行出来るコマンドは1以下に設定されているコマンドになる。
特権レベル15は特権EXECモードとなり、全てのコマンドが実行出来る。 この場合、ログイン後にユーザEXECモードを経由する事なく特権EXECモードから始まる。
1.6. SSH接続の設定
SSHでCiscoのネットワーク機器にアクセスする場合は以下手順で設定を行う。
- ホスト名の設定
- ドメイン名の設定
- RSA暗号鍵の生成
- ユーザアカウントを作成
- ローカル認証の指定
- SSHの接続許可の設定
- SSHのバージョン指定
設定例は以下の通り。
(config)#ip domain-name <ドメイン名>
(config)#crypto key generate rsa
(config)#
(config)#username <ユーザー名> [privilege <特権レベル>] password <パスワード>
(config)#line console 0
(config-line)#login local
(config-line)#exit
(config)#
(config)#line console 0
(config-line)#tranceport input <telnet | ssh | all | none>
(config-line)#exit
# SSH 1.0の脆弱性からバージョン2の利用が推奨
(config)#ip ssh version <1 | 2>
1.7. ネットワークの調査を行うためのコマンド
1.7.1. tracerouteと拡張traceroute
traceroute
tracerouteはコンピュータからIPネットワーク上の対象機器までの経路を調べ、パケットがそこに至るまでの中継機器のアドレス等を一覧で表示する機能。
Ciscoのルータではこの機能をサポートしている。
traceroute <1pアドレス | ホストのアドレス>
拡張traceroute
拡張tracerouteコマンドは特権モードでのみ使用できる。 拡張tracerouteコマンドはtracerouteコマンドの後に何もパラメータを指定しないで実行する。
実行後、様々なパラメータを入力するように促され、tarcerouteを細かく設定できる。
- Target IP address…宛先IPアドレスを指定
- Source address…送信元IPアドレスを指定
- Probe count…送信するプローブパケットの数を指定
- Minimum Time to Live…最小のTTLを指定(2を指定した場合は2ホップ目からの情報が表示される)
- Maximum Time to Live…最大のTTLを指定
1.7.2. pingと拡張ping
ping
pingは疎通確認用のL3以上のプロトコル。
ping <IPアドレス | ホストのアドレス>
拡張ping
拡張Pingを行った場合、さまざまなパラメータを指定できる。 拡張Pingで指定できる主なパラメータを以下に記す。
- Protocol
- Target IP address
- epeat count(パケットの数)
- Datagram size
- Timeout in seconds
- Source address or interface
1.8. お役立ちCISCO IOSコマンドメモ
役に立つかわからないけど、Cisco IOSのコマンドやシステムに関するメモを記載します。
1.8.1. alias exec - コマンドの代替え
コマンドをLinuxのaliasコマンドのようにラッピングするための新しいコマンドを作成できる。 あんまり使わないけど役に立つ。
(config)#alias exec <エイリアス名> <エイリアスでラッピングしたいコマンド>
(config)#exit
削除する場合はno alias <エイリアス名> <エイリアスでラッピングしたいコマンド>
1.8.2. 間違ったコマンドを入れた際の名前解決を停止する
よくCisco IOSに誤ったコマンドを入れるとコマンドをドメインと勘違いして接続を試みようとして数十秒操作不能になる。
これを防ぐにはno ip domain-lookup
を入れることで名前解決を試みなくなる。
1.8.3. ルータでメッセージを送る
接続中のセッション(ユーザコンソール)にメッセージを送る
送る際は実際にはshow users
でセッションを確認すると良い。
# vty 1に送る例
send vty 1
入力画面 Ctrl+Z で送信可能。
2 - 2.Catalystスイッチの設定とVLAN
2.1. Catalystスイッチ基本設定
2.1.1. スイッチへのIPアドレスの設定
スイッチにも管理目的のためにIPアドレスを設定可能。 スイッチにIPアドレスを設定するのは以下の理由より。
- リモート(SSHなど)からスイッチの設定を行うため
- VSMよりブラウザからスイッチの設定を行うため
- SNMPプロトコルによるスイッチ管理のため
IPアドレスの設定
スイッチへのIPアドレスの設定は以下コマンドで行える。 スイッチでは管理VLAN(デフォルトでは1)にIPアドレスは設定することになる。
(config)#interface vlan 1
(config-if)#ip address <IPアドレス> <サブネットマスク>
(config-if)#no shutdown
デフォルトゲートウェイの設定
スイッチへのデフォルトゲートウェイ設定は以下コマンドで実行可能。
(config)#ip default-gateway <デフォルトゲートウェイのIPアドレス>
2.1.2. MACアドレステーブルの管理
MACアドレステーブルの確認
MACアドレステーブルの確認は以下コマンドで行う。
show mac-address-table
静的MACアドレスの追加
静的MACアドレスのテーブルへの追加は以下コマンドで行う。
(config)#mac-address-table static <MACアドレス> vlan <VLAN番号> interface <ポート>
2.1.3. ポートセキュリティの設定
Catalystスイッチはポートセキュリティ機能がある。 これはハッキングなどによる情報漏洩を防ぐために使用できる。 具体的にはあらかじめ許可したMACアドレス以外のMACアドレスを持つホストのフレームを遮断する。
静的ポートセキュリティの設定
静的(スタティック)にポートセキュリティの設定を行う場合以下手順で行える。
- ポートセキュリティを設定するインターフェイスをアクセスポートに設定する
- ポートセキュリティの有効化
- 最大MACアドレスを設定する
- 許可するMACアドレスを登録する
- バイオレーションモード(不正なMACアドレスホスト接続時の動作)の設定
- ポートセキュリティの設定の確認
コマンド例は以下の通り。
(config)#inyterface fastEthernet <ポート番号>
(config-if)#switchport mode access
(config-if)#switchport port-security
(config-if)#switchport port-security maximum <最大MACアドレス数>
(config-if)#switchport port-security mac-address <接続許可するMACアドレス>
(config-if)#exit
(config)#switch port-security violation <protect | restrict | shutdown>
(config)#exit
show port-security
なおswitch port-security violation <protect | restict | shutdown>
はバイオレーションモードの設定箇所で各挙動は以下の通り。
- protect … 不正なMACアドレスのフレームは破棄する
- restrict … protectの機能+SNMPによる通知が可能
- shutdown … インターフェイスをerr-diabledにして無効化する+SNMPによる通知が可能
動的ポートセキュリティの設定
動的(ダイナミック)にポートセキュリティの設定を行う場合以下手順で行える。
- ポートセキュリティを設定するインターフェイスをアクセスポートに設定する
- ポートセキュリティの有効化
- 最大MACアドレスを設定する
- スティキーラーニングの有効化
- バイオレーションモード(不正なMACアドレスホスト接続時の動作)の設定
- ポートセキュリティの設定の確認
コマンド例は以下の通り。
(config)#inyterface fastEthernet <ポート番号>
(config-if)#switchport mode access
(config-if)#switchport port-security
(config-if)#switchport port-security maximum <MACアドレス数>
(config-if)#switchport port-security mac-address sticky
(config-if)#exit
(config)#switch port-security violation <protect | restrict | shutdown>
(config)#exit
show port-security
ポートセキュリティにより無効された場合の復旧手順
原因を改善後に以下コマンドを行うことで復旧が可能。
(config)#inyterface fastEthernet <ポート番号>
(config-if)#shutdown
(config-if)#no shutdown
2.2. VLANの設定
2.2.1. VLANの作成と確認
VLANの確認
show vlan
VLANの作成/削除
(config)#vlan <VLAN番号>
(config)#no vlan <VLAN番号>
2.2.2. VLANへのポート割り当て
Access port
(config)#interface fastEthernet <ポート番号>
(config-if)#switchport mode access
(config-if)#switchport access vlan <VLAN番号>
Trunk port
(config)#interface fastEthernet <ポート番号>
(config-if)#switchport mode trunk
2.3. VLAN間ルーティング
VLAN間ルーティングは異なるVLAN同士の通信を実現するために使われる。 VLAN間ルーティングの接続手法は2つある。
- VLANの数だけ複数のポートで接続 … VLAN非対応ルータでこちらを使用
- トランクポートを使用して1つのポートで接続 … 上記以外はコチラ
2.3.1. トランクポートを使用したVLAN間ルーティングの設定
ルータ側への設定
ルータ側はVLANの数だけインターフェイスをサブインターフェイスに分割して設定する必要がある。
トランキングプロトコルは通常はIEEE802.1Qであるdot1q
を指定するが、Cisco独自のISLはisl
で指定可能。
(config)#interface fastEthernet <ポート番号>.<サブインターフェイス番号>
(config-if)#encapsulation <dot1q | isl> <VLAN番号>
(config-if)#ip address <IPアドレス> <サブネットマスク>
(config-if)#no shutdown
スイッチ側への設定
基本的にトランクモードにポートをすると良い。
(config)#interface fastEthernet <ポート番号>
(config-if)#switchport mode trunk
クライアントのDGWの設定
上記設定後はクライアント端末にルータのサブインターフェイスに設定したIPをDGWとして設定する。
2.3. VTPの設定
VTPはVLANの設定を自動化しスイッチ間で同期を行う仕組みであり、これによりVLAN設定作業の大幅削減が可能。
2.3.1. VTPの設定と確認
VTPの設定で主に必要な項目は以下の2つとなる。
- VTPドメイン名の設定
- VTPモードの設定
これらの項目設定をそれぞれのスイッチで行うことになる。
VTPドメイン名の設定
以下コマンドでVTPドメイン名の設定は行える。 なおVTPドメイン名は大文字小文字を区別する。
(config)#vtp domain <VTPドメイン名>
VTPモードの設定
VTPモードの設定は以下コマンドで行える。
(config)#vtp mode <server | client | transparent>
VTP情報の確認
VTPの設定や状態の確認は以下コマンドで行える。
show vtp status
2.3.2. VTPプルーニングの設定
VTPプルーニングはVTPで発生した不要トラフィックを排除する仕組み。
VTPプルーニングの設定。
基本的には以下コマンドを実行するのみとなる。
(config)#vtp pruning
VTPプルーニングの設定確認
show vtp status
コマンドでVTPプルーニングの有効化/無効化は確認可能。
(config)#show vtp status
2.4. スイッチのエラーカウンタ
スイッチのエラーカウンタはshow interface <インターフェイス>
で表示される各パラメータの何が増加しているかによって不具合の原因などが分かる。
カウンタ | 説明 | カウンタ増加原因例 |
---|---|---|
no buffer | 受信したがバッファ足りずに廃棄したフレーム数 | ・ブロードキャストストーム |
runts | IEEE802.3フレームの最小フレームより小さいフレームを受信した数 | ・物理的(ケーブル故障、NIC不良など) ・duplexの不一致 |
giants | IEEE802.3フレームの最大サイズを超えるフレームを受信した数 | ・NICの不良 |
input errors | runts, giants, no buffer, CRC, frame, overrun, ignoredの総数 | ・各種カウンタの増加 |
CRC | FCSに格納されたCRC値と受信データから再計算したCRCが一致しなかったフレーム数 | ・コリジョン ・NIC不良 ・duplex不一致 |
ignored | バッファが足りず受信せず無視したフレーム数 | ・ブロードキャストストーム |
collisions | コリジョン数 | ・半二重の通信 ・duplex不一致 |
late collitions | 通常よりも遅れて検出したコリジョン数 | ・規定値を超える長さのケーブルの使用 ・duplex不一致 |
2.4.1. 各種エラーの詳細
no buffer
no bufferはブロードキャストストームが発生したときに増加するカウンタ。
runts
runtsは物理的(ケーブル故障、NIC不良など) やduplexの不一致で増加するカウンタ。
giants
giantsはNIC不良等が原因で増加するカウンタ。
input errors
各種カウンタの増加があるとそれに伴って増加するカウンタ。
CRC
CRCはコリジョンの発生やNIC不良/duplex不一致に伴って増加するカウンタ。
ignored
ignoredはブロードキャストストームが発生したときに増加するカウンタ。
collisions
collitionsはduplexの不一致/半二重通信等が原因で増加するカウンタ。
late collitions
late collitionsはduplexの不一致等が原因で増加するカウンタ。
2.4.2. 各種エラーのケース
発生内容 | 増加パラメータ |
---|---|
ブロードキャストストーム | no buffer, ignored |
duplexの不一致 | runts, CRC, collitions, late collitions |
NICの不良 | runts, giants, CRC |
ケーブル故障 | runts |
3 - 3.STPとEthernetChannelの設定
3.1. STPの設定
3.1.1. STPの設定と確認
STPの概要確認
スイッチはアドレス学習機能/フィルタリング機能などたくさんの機能やポートがあることから、演算を行うためのハードウェア要素が複雑であるため壊れやすい。実際に耐久年数は1年程度と言われている。 そのためスイッチは基本的には冗長化される。その手法の1つがSTPとなる。
STP(スパニングツリープロトコル)はIEEE802.1Dとして規定されたL2スイッチで冗長化構成を組んだ際のブロードキャストストーム(L2通信のループ)を防ぐためのプロトコル。 具体的にはネットワークの耐障害性向上のために冗長化を行った際にブロードキャスト通信がループしてネットワークリソースを圧迫するのを防ぐのに使用される。ARP要求などがそのブロードキャストにあたる。
STPの設定と確認
スパニングツリーはCisco製品の場合デフォルトでは有効になっているため設定は不要となっている。
なお確認はshow spannig-tree
で可能。
show spanning-tree vlan <VLAN番号>
show spanning-tree interface fastEthernet <ポート番号>
STPの動作確認
STPに限らずルータの動作確認にはdebug
コマンドを使用するがCPUに負荷がかかるため必要なときのみ行うようにする。
STPの動作確認の開始/停止は以下コマンドで行える。
debug spanning-tree events
no debug spanning-tree events
3.1.2. トポロジ変更に関するオプション
STPはデフォルトではどのスイッチがルートブリッジになるかわからない。 場合によっては特定のスイッチをルートブリッジにしたいケースなどもある。 そうしたケースの場合はSTP関連設定を変更しSTPトポロジを変化させて、ネットワーク管理者が意図する構成にする。 そのためのコマンドはいくつかある。
ブリッジプライオリティの変更
ルートブリッジにしたいスイッチではプライオリティをデフォルトより小さい値にしておくのが一般的。 プライオリティを変更するには以下コマンドを実行する。
(config)#spanning-tree vlan <VLAN番号> priority <プライオリティ>
PVST+の場合はVLAN毎にプライオリティを指定可能なためVLAN番号に対象VLANを指定する。 またPVST+ではブリッジプライオリティの一部をVLANとして試用している関係上、プライオリティは4096の倍数を指定する必要がある。
また他の手法としてはダイナミックに直接ルートブリッジを指定する方法があり以下コマンドで実行できる。
(config)#spanning-tree vlan <VLAN番号> root priority
上記コマンドの実行により指定したVLAN上でルートブリッジに選出されているスイッチのプライオリティを自動チェックし、スイッチのブリッジプライオリティより小さい値が自動設定され、自身がルートブリッジに選出される。
バスコストの変更
ポートの役割はバスコストを変更することで変えることができる。 ポートのバスコストは以下コマンドで変更可能
(config-if)#spanning-tree vlan <VLAN番号> cost <バスコスト値>
バスコストのデフォルト値の変更
バスコスト値のデフォルト値はショート法かロング法の2種類のいずれかで決定される。 デフォルトではショート法になっているが切り替えることも可能で、以下コマンドで変更できる。
(config)#spanning-tree pathcost method <short | long>
ポートプライオリティの変更
ポートプライオリティは以下コマンドで変更できる。
(config-if)#spanning-tree vlan <VLAN番号> porrt-priority <プライオリティ>
3.1.3. PortFastの設定と確認
PortFastはコンバージェンスを早くする機能の1つで、この設定でポートを即座にフォワーディングに遷移させられる。 なおループの危険性があるためハブやスイッチ間リンクでは設定してはならない。
PorrtFastの設定
PortFastは以下コマンドで実行でき、基本的にはアクセスポートに設定する。 つまりPortFastの設定ポートはPC、サーバなどを接続することを前提としている。
(config-if)#spanning-tree portfast
PorrtFastの確認
以下コマンドで表示されるtype項目がPsp Edge
となれば、そのポートはPortFastとなる。
show spanning-tree vlan <VLAN番号>
3.1.4. BPDUガードの設定と確認
BPDUガードは、PortFastが設定されているスイッチポートでBPDUを受信した時、そのポートをerror-disabled
にする機能。
この機能によりスイッチがPortFastが設定されたポートに接続した場合でも、ポートを error-disabled にして不正接続を防止でき、さらに想定しないスイッチ機器の接続を防止することから、Layer2ループの発生を防ぐことができる。
BPDUガードの有効化
BPDUガードを有効化/無効化するには2種類のコマンドがある。
以下コマンドではPortFastの設定が行われるすべてのポートでBPDUガードを有効化/無効化できる。
(config)#spanning-tree portfast bpdguard default
(config)#no spanning-tree portfast bpdguard default
また以下コマンドではPortFastの設定の否かに関係なくそのインターフェイスのみで有効/無効にできる。
(config-if)#spanning-tree bpdguard <enable | disable>
BPDUガードの設定と確認
BPDUガードでBPDUを受信してerror-diabled
になったポートを手動で復旧させる場合はポートを再起動させる必要がある。
(config-if)#shutdown
(config-if)#no shutdown
3.1.5. ルートガードの設定と確認
ルートガードの設定を行うと既存のルートブリッジより小さなブリッジIDのスイッチが接続されても、STPトポロジの変更を防げる。
ルートガードの有効化
(config-if)#spanning-tree guard root
(config-if)#no spanning-tree guard root
ルートガードの設定と確認
ルートガードの設定後に既存のルートブリッジより小さなブリッジIDを持つスイッチを追加した場合、show spanning-tree vlan <VLAN番号>
実行後のSts項目にBKN*
と表示される。またType項目には*Root_inc
と表示されルート不整合を意味する。
ルート不整合状態では復旧コマンドは不要で、上位BPDUが送られなければ元に戻る。
3.1.6. RSTPの設定と確認
STPではコンバージェンスに最大約50秒かかる。そのため早期に復旧すべき環境では数秒で切り替わるRSTPを設定する。
RSTPへの設定
RSTPはSTPと互換性があるためネットワーク内で混在環境を設定できるが、RSTPの効能を最大限発揮して動作させるためにはすべてのスイッチの動作モードをRSTPに変更する必要がある。
STPからRSTPへ動作モードを変更するには以下コマンドで行え、RSTPの場合にパラメータはrapid-pvst
を指定する。
(config)#spanning-tree mode <pvst | rapid-pvst>
pvstの指定でPVST+でrapid-pvstでRapid-PVST+となる。 デフォルトではpvst(STP)となる。
RSTPの確認
以下コマンドで表示される項目中にSpanning tree enabled protocol rstp
とあれば、RSTPに変更されている。
show spanning-tree vlan <VLAN番号>
3.2. EthernetChannelの設定
EthernetChannelはリンクアグリゲーション(LAG)とも呼ばれ、リンク間通信の耐障害性と負荷分散を実現できる。
3.2.1. EthernetChannelの基本コマンド
EthernetChannelの設定はケーブルを外した状態で行う。これは片側スイッチのみでEthernetChannelを形成すると対向スイッチで戻ってきてループが発生する恐れがあるためである。
EthernetChannelの形成
EthernetChannelの形成は以下コマンドで行える。
(config-if)#channel-group <グループ番号> mode < on | auto | desirable | active | passive >
グループ番号はチャンネルグループを指定し、バンドルさせたいポートでは同じ番号にする。 なおグループ番号は対向スイッチと合わせる必要はない。
モードはネゴシエーションプロトコルをLACPかPAgPにする、または手動で合わせるかどうかに従って合わせる必要がある。
種類 | モード | 動作 |
---|---|---|
手動 | on | 強制的に有効化 |
自動PAgP | desirable | 自分からPAgPネゴシエーションする(相手から受信して合わせる) |
自動PAgP | auto | 自分からPAgPネゴシエーションしない(相手から受信して合わせる) |
自動LACP | active | 自分からLACPネゴシエーションする(自分から送信する) |
自動LACP | passive | 自分からLACPネゴシエーションしない(相手から受信して合わせる) |
ネゴシエーションプロトコルの指定
ネゴシエーションプロトコルを指定する場合には以下コマンドで実行できる。 ただEthernetChannelを形成した際に自動でネゴシエーションプロトコルは決まるため必ず設定をする必要はない。
(config-if)#channel-protocol < lacp | pagp >
ただしEthernetChannel形成前に実行すると、形成する際に間違ったモードを選択した際にメッセージを出してくれるメリットがある。
負荷分散方法の指定
EthernetChannelの負荷分散させる方法の変更には以下コマンドを使用する。
(config)#port-channel load-balance <負荷分散手法>
負荷分散手法のオプションは以下より
オプション | 負荷分散動作 |
---|---|
src-mac | 送信元MACアドレスを基に負荷分散 |
dst-mac | 宛先MACアドレスを基に負荷分散 |
src-dst-mac | 送信元MACアドレス/宛先MACアドレスを基に負荷分散 |
src-ip | 送信元IPアドレスを基に負荷分散 |
dst-jp | 宛先IPアドレスを基に負荷分散 |
src-dst-ip | 送信元IPアドレス/宛先IPアドレスを基に負荷分散 |
src-port | 送信元ポート番号を基に負荷分散 |
dst-port | 宛先ポート番号を基に負荷分散 |
src-dst-port | 送信元ポート番号/宛先ポート番号を基に負荷分散 |
rangeコマンドを使ったインターフェイスの指定
ポートそれぞれで設定をするとコマンドの打ち間違いなどでポート設定がずれる場合がある。 そこで複数のポートをまとめて設定する方法がある。
(config)#interface range <インターフェイス>
インターフェイスの区切り方はFa0/1,Fa0/3
のように区切る、もしくはFa0/1 -12
のように範囲指定することができる。
3.3.3. L2-EthernetChannelの設定
EthernetChannelの設定例
(config)#interface range Fa0/1,Fa0/4
(config-if)#switchport mode trunk
(config-if)#channel-group 1 mode on
EthernetChannelの確認
show etherchannel <summary | detail>
detailを指定すると設定されたモードまで閲覧可能となる。
STPの確認
show spanning-tree
を実行するとEthernetChannelでバンドルしたインターフェイスはPo1
などと表示される。
running-configの確認
show running-config
で確認すると一覧にPort-channelN
(Nは数字)でPort-channelインターフェイスが記載されることになる。
負荷分散方法の確認
EthernetChannelでどの負荷分散方法が設定されているかは以下コマンドで確認できる。
show etherchannel load-balance
PAgP、LACP設定時の隣接ポートの確認
隣接するスイッチのポートの各情報を確認するには以下コマンドでできる。
show <pagp | lacp> neigbor
3.3.4. L3-EthernetChannelの設定
L3スイッチではポートをルーテッドポートに設定することでL3-EthernetChannelを形成できる。 L2-EthernetChannelとの違いはIPアドレスの設定をPortChannelインターフェイスで行う必要がある点である。
L3-EthernetChannelの設定例
L3-EthernetChannelの設定ではバンドルする物流インターフェイスをあらかじめno switchport
でルーテッドポートに変更を行う。
なおバンドルされている個々の物理ポートではIPアドレスの設定の必要はない。
(config)#interface range fastEthernet 0/1 - 3
(config-if-range)#no switchport
(config-if-range)#channel-group 1 mode active
Creating a port-channel interface Port-channel 1
(config-if-range)#exit
(config)#interfase Port-channel 1
(config-if)#ip address 192.168.1.1 255.255.255.0
(config-if)#exit
L3-EthernetChannelの確認
方法はL2-EthernetChannelと同じ。
show etherchannel <summary | detail>
detailを指定すると設定されたモードまで閲覧可能となる。
なおPort-channel項目に(Ru)
と表示されていればL3でEthernetChannelが形成されていることが確認できる。
3.3.5. EthernetChannelのトラブルシューティング
EthernetChannelでトラブルが発生した際の確認事項をそれぞれ記載する。
EthernetChannelの不形成
show etherchannel <summary | detail>
実行時にPort-channel項目に(SD)
と表示されている場合はdownしており、EthernetChannelは形成されていない。その場合はプロトコルの不一致やモードの組み合わせに問題があることが疑われる。
一部のポートがバンドルされていない
show etherchannel <summary | detail>
実行時にPorts項目にFa0/1(s)
などと表示されている場合はポートが使用できない。
この場合suspended
を意味し、他ポートと設定がずれている可能性がある。
アクセスポートの場合はVLANの一致。
トランクポートの場合はカプセル化、通過許可VLAN、IEEE802.1Qの場合はネイティブVLANの一致、通信モード(半二重/全二重)/速度が一致している必要があるため、show running-config
なども組み合わせて適宜調査する必要がある。
4 - 4.ルーティングの設定とOSPF
4.1. ネットワークの設定
4.1.1. IPアドレスの設定と確認
IPアドレスをインターフェイスに設定するにはinterface fastEthernet <インターフェイス番号>
を入力する。なおint f/g<インターフェイス番号>
で省略可能である。
(config)#interface fastEthernet <インターフェイス番号>
(config-if)#ip address <ipアドレス> <サブネットマスク>
(config-if)#end
またインターフェイスの状態確認はshow interface fastEthernet <インターフェイス番号>
で行う。
使用例は以下の通り。
show interfaces
show int f0
一応show protocols
も使用可能。
4.1.2. インターフェイスの有効化
インターフェイスは設定後に有効化する必要がある。
(config-if)#no shutdown
4.2. ルーティングの設定
4.2.1. スタティックルーティングの設定
それぞれのルータのインターフェイスに対してIPアドレスを設定した後、ip route
コマンドでそれぞれの方向のルートを登録する。
(config)#ip route <対象IP> <対象サブネットマスク> <データが来る方向IP>
4.2.2. ダイナミックルーティングの設定
OSPFを使用したダイナミックルーティング
それぞれのルータのインターフェイスに対してIPアドレスを設定した後、それぞれのルータに OSPFの有効化とネットワークへの登録の設定を行う。
(config)#router ospf <プロセスID>
(config-router)#network <ネットワーク範囲> <ワイルドカードマスク> area <エリアID>
エリアIDはルータ全体で統一する必要がある。
また確認はshow ip route ospf
で可能
設定例は以下の通り。
(config)#router ospf 1
(config-router)#network 192.168.0.0 0.0.0.255 area 0
(config-router)#network 10.0.0.252 0.0.0.3 area 0
RIPv1を使用したダイナミックルーティング
それぞれのルータのインターフェイスに対してIPアドレスを設定した後、それぞれのルータに RIPv1の有効化とネットワークへの登録の設定を行う。
(config)#router rip
(config-router)#network <ネットワーク範囲>
注意点としてRIPはクラスフルルーティングをするが特徴ある。 つまりOSPFと異なり、サブネットマスクを意識しない。 そのためnetworkコマンドで設定するネットワークは必ずクラスフルで記述する。
例えばネットワークが172.16.1.0の場合、クラスBアドレスなので172.16.0.0と設定する必要がある。
RIPv2を使用したダイナミックルーティング
それぞれのルータのインターフェイスに対してIPアドレスを設定した後、それぞれのルータに RIPv2の有効化とネットワークへの登録の設定を行う。
(config)#router rip
(config-router)#version 2
(config-router)#network <ネットワーク範囲>
変更後にshow ip protocols
コマンドでルータ上で動作しているルーティングプロトコルを確認すると良い。
4.2.3. デフォルトルーティングの設定
デフォルトゲートウェイは宛先のないパケットを送る先であり、デフォルトゲートウェイに送る設定をすることはデフォルトルーティングと呼ばれる。
デフォルトルートの追加は以下コマンドで行える。
(config)#inteface <インターフェイス>
(config-if)#ip route 0.0.0.0 0.0.0.0 <インターフェイスのIPアドレス>
また確認はshow ip route
で可能。
デフォルトルーティングを行うにはクラスレスルータとしてルータを動作する必要があり、これはクラスの概念をルータに追加するものとなる。なお現行のルータはデフォルトではクラスレスルータとして動作するため、もしルータをクラスフルルータの場合はクラスレスルータにする必要がある。コマンドはip classless
で行える。
4.3. OSPFの設定と確認
4.3.1. OSPFの有効化
OSPFの有効化は以下のコマンドで行える。
(config)#router ospf <プロセスID>
プロセスIDは複数のプロセスを識別するためのIDで1~65535まで指定可能となっている。 これはプロセスを識別するためのIDであるだけなのでルータごとに異なっていても良い。
4.3.2. インターフェイスの指定
OSPFをインターフェイスで有効化するとhelloパケットを送信し始める。 またインターフェイスに関するLSAも通知する。
(config)#network <ネットワーク範囲> <ワイルドカードマスク> area <エリアID>
エリアIDはインターフェイスが所属するエリア番号を指定する。 またIOSバージョンによっては以下コマンドでインターフェイスごとにOSPFを設定可能。
(config)#inteface <インターフェイス>
(config-if)#ip ospf <プロセスID> area <エリアID>
4.3.3. パッシブインターフェイスの設定
パッシブインターフェイスを指定するとOSPF動作するものでHelloパケットを送信を停止できる。そのためこの設定を行とネイバー関係が構築できなくなる。
(config)#router ospf <プロセスID>
(config-router)#passive-interface <インターフェイス>
4.3.4. ルータIDの設定
OSPFではルータを識別するためのルータIDが必要となる。 ルータIDはIPアドレスが設定してあれば自動で決定するが、以下コマンドにより手動でも設定可能。
(config)#router ospf <プロセスID>
(config-router)#router-id <ルータID>
ルータIDは32bitのアドレスと同じ形で指定し他ルータと重複しない値を設定する必要がある。 またループバックインターフェイスは以下コマンドで設定できる。
(config)#interface Loopback <番号>
番号は0~2147483647の範囲から設定可能で作成したインターフェイスにはIPアドレスを設定する。
4.3.5. OSPFの設定確認
OSPFが問題なく動作しているか確認するには以下フローで確認できる。
- ネイバー情報の確認
- LSDBの要約情報確認
- ルーティングテーブルの確認
- インターフェイスの確認
ネイバー情報の確認
ネイバーテーブルを確認することでネイバーが登録されている確認できる。 表示される情報は隣接ルータの情報である。
show ip ospf neighbor
なおOSPFネイバー関係を確立するために一致させる必要があるのは以下の情報となる。
- Hello/Deadの間隔
- エリアID
- 認証パスワード
- サブネットマスク
- スタブエリアフラグ
- MTUサイズ
LSDBの要約情報確認
LSDBの要約情報であるLSAリストのトポロジテーブルを確認する。 表示される情報は各ルータで同じとなる。
show ip ospf database
ルーティングテーブルの確認
ルーティングテーブルを確認してダイナミックルーティングが適用されているか確認を行う。
また念のためospfが動作しているかshow ip protocol
で確認する。
show ip route
show ip protocol
インターフェイスの確認
OSPFが動作しているインターフェイス情報を以下コマンドで確認する。
show ip ospf interface <インターフェイス>
確認できる情報は以下の通り。
- IPアドレスと所属エリア
- プロセスIDとルータID、ネットワークタイプ、コスト
- リンク状態とプライオリティ
- DRとBDRのルータIDとIPアドレス
- HelloインターバルとDeadインターバル
4.4. マルチエリアOSPFの設定と確認
4.4.1. マルチエリアOSPFの設定
マルチエリアOSPFを作成する場合4.3.2項のエリアIDを分けるエリアで別々にする。 ただ注意点として向かい合うルータが同じエリアにならないようにする。
4.4.2. マルチエリアOSPFの確認
確認は4.3.5. OSPFの設定確認の通りで可能。 具体的には以下の点を確認する。
- LSDB要約情報で異なるエリアが作成されている
- ルーティングテーブルでコード部分がO IAになっている
O IAは異なるエリアからルートを伝えられていることを示す。
4.5. OPSFの関連パラメータの調整設定
4.5.1. ルータプライオリティ
マルチアクセスのOSPF環境ではDRとBDRを選出するが、DRになるルータ位置の調整が必要な場合ルータプライオリティの変更で実現できる。 ルータプライオリティの変更は以下コマンドで実現できる。
(config)#inteface <インターフェイス>
(config-if)#ip ospf priority <ルータプライオリティ値>
以上のコマンドを使いこなすことで意図するルータにDR(代表ルータ)の役割を持たせることができる。
4.5.2. OSPFのコスト
OSPFのメトリックは帯域幅から計算するコスト値となる。 コスト値を変更するとルートの変更が可能になる。
(config)#ip pspf cost <コスト値>
4.5.3. 帯域幅
コストの計算に使用する帯域幅は以下コマンドで変更できる。
(config)#bandwidth <帯域幅>
インターフェースの帯域幅の設定は以下の通り。
(config)#inteface <インターフェイス>
(config-if)#bandwidth <帯域幅>
4.5.4. 基準帯域幅
OSPFのコストは基準帯域幅(Default値は100Mbps)/インターフェイスの帯域幅で算出される。 基準帯域幅は以下コマンドで変更できる。
(config)#inteface <インターフェイス>
(config-if)#auto-cost reference-bandwidth <帯域幅>
4.5.5. Hello/Deadインターバルの変更
ネイバー認識に使用されるHelloインターバルとDeadインターバルはインターフェイスごとに設定できる。
(config)#ip ospf hello-interval <秒数>
(config)#ip ospf dead-interval <秒数>
注意点として隣接ルータでHello/Deadインターバルが一致しないとネイバーとして認識されないので気にしながら設定する必要がある。
4.5.6. MTUのミスマッチ検出機能の無効化
ネイバーとなるルータのインターフェイスのMTUが自身のインターフェイスと一致しない場合、完全隣接関係にならない。 そのためMTUを合わせるかMTUの不一致の検出する機能を無効化する必要がある。
MTUの不一致検出の無効化は以下コマンドで行える。
(config)#inteface <インターフェイス>
(config-if)#ip ospf mtu-ignore
4.5.7. デフォルトルートの配布
インターネットへの接続にはデフォルトゲートウェイへのルート(デフォルトルート)の設定を行う。 すべてのルータにいちいち設定すると手間になる場合がある。 そのため1台のルータに設定後にOSPFで他ルータで配布する機能がある。
デフォルトルートをOSPFを通じて他のルータに配布するには以下コマンドで行える。
(config)#router ospf <プロセスID>
(config-router)#default-information originate [always]
確認はshow ip route
で行える。
always
をつけるとルーティングテーブルにデフォルトルートが存在しなくてもデフォルトルートを広告する。
4.5.8. 等コストロードバランシングの最大数の設定
等コストロードバランシングで使用する経路の数(デフォルトでは4)を変更するには以下のコマンドを使用する。
(config)#router ospf <プロセスID>
(config-router)#maximum-paths <最大数>
4.6. OSPFのトラブルシューティング
OSPFの設定をしたにもかかわらず宛先まで通信できない場合、基本的には以下のことを確認する必要がある。
- ルータ間の接続
- ルーティングテーブルの確認
- ACLが設定してあればACLの設定確認
- ネイバーテーブルの確認
4.7. IPv6のネットワーク設定
4.7.1. IPv6ルーティングの有効化
IPv6ルーティングを有効化するには以下コマンドで行う。
ipv6 unicast-routing ipv6
4.7.2. インターフェイスにIPv6を設定する
IPv6インターフェイスには2つIPv6アドレスを設定する必要がある。 確かにリンクローカルアドレスは必ず設定する必要がある。
(config)#inteface <インターフェイス>
(config-if)#ipv6 address <リンクローカルアドレス> link-local
(config-if)#ipv6 address <ユニークローカルアドレス | グローバルアドレス>
4.7.3. IPv6のルーティングテーブルを確認する
show ipv6 route
5 - 5.ACLの設定
5.1. ACLの用途と種類
ACL(アクセスリスト)は特定のトラフィックを抽出する条件リストでルータのインターフェイスに割り当てて使用する。
ACLはパケットフィルタリングのほかに以下機能と組み合わせ利用される。
- NAT
- VPN
- QoS
- ダイナミックルーティング
5.1.1. ACLの種類
アクセスリストは以下表のように規定されている。
種類 | 番号範囲 |
---|---|
標準IP | 1~99 |
拡張IP | 100~199 |
AppleTalk | 600~699 |
標準IPX | 800~899 |
拡張機能IPX | 900~999 |
IPX-SAP | 1000~1099 |
名前付きIP | 名前で定義 |
標準アクセスリスト
標準ACLではパケットの送信元IPアドレスをチェックする。 また標準ACLの種類には番号付き標準ACLと名前付き標準ACLがあり、それぞれ1~99の値を設定、名前を表す文字列を指定する。
拡張アクセスリスト
拡張ACLでは送信元IPアドレス、宛先IPアドレス、プロトコル番号、送信元ポート番号,宛先ポート番号をチェックする。 また拡張ACLの種類には番号付き拡張ACLと名前付き拡張ACLがあり、それぞれ100~199の値を設定、名前を表す文字列を指定する。
5.2. ワイルドカードマスクの補足
ワイルドカードマスクは2進数表記にした場合、0の部分のチェックを行い、1の部分は無視する。
ワイルドカードマスクが000.000.000.255
の場合は第1から第3オクテットまでは固定、第4オクテットは条件に含まない。
例えばIPアドレスが192.168.10.0
でワイルドカードマスクが000.000.000.255
の場合、ネットワーク範囲は192.168.10.0~192.168.10.255
までとなる。
なおワイルドカードマスクの省略形にanyやhostがあり意味は以下の通りである。
- any … すべてのアドレスビットを無視する
- host … すべてのアドレスビットをチェックする(特定のホストアドレス)
つまり0.0.0.0 255.255.255.255 → any
、IPアドレス 0.0.0.0 → host IPアドレス
となる。
5.2. 標準アクセスリスト/拡張アクセスリストの作成
5.2.1. アクセスリストの設定と確認
標準アクセスリストの作成
標準アクセスリストは送信元IPアドレスで判断し、以下コマンドで実行可能。
注意点としてはACLではリストの上から検索を行い該当行があった場合それ以降の行を検索しない。 そのため記述する順番を意識する必要がある。
なお、どのリストにも該当しない場合はそのトラフィックは拒否される(暗黙の拒否)。
(config)#access-list <ACL番号:1~99, 1300~1999> <permit | deny> <送信元IPアドレス> <ワイルドカードマスク | any>
denyの場合は条件に合致した場合はトラフィックを拒否。 permitの場合は条件に合致した場合はトラフィックを許可。
標準アクセスリストには送信元アドレスしか指定できなお。 そのため、送信元の近くに配置すると宛先に関係なくフィルタリングが早めにかかってしまい、意図しないトラフィックが拒否されてしまう。 そのため拒否するトラフィックの宛先近くに配置する必要がある。
拡張アクセスリストの作成
拡張アクセスリストではトランスポート層の情報であるTCP/UDP、ポート番号まで指定できる。 そのため特定のアプリケーションに対する動作を設定可能。
(config)#access-list <ACL番号:100~199, 2000~2699> <permit | deny> <L4プロトコル> <送信元IPアドレス> <ワイルドカードマスク> [送信元ポート番号] <宛先IPアドレス> <ワイルドカードマスク> [オプション]
以下に例をいくつか示す。
(config)#//端末192.168.1.11からネットワーク172.16.1.0/24へのIP通信を拒否
(config)#access-list 100 deny ip host 192.168.1.11 172.16.1.0 0.0.0.255
(config)#//すべての送信元から172.16.0.11へのHTTPアクセスのみ許可する例
(config)#access-list 100 permit tcp any host 172.16.0.11 eq www
(config)#//端末192.168.1.11からネットワーク172.16.1.0/24へのエコー要求を拒否
(config)#access-list 100 deny icmp host 192.168.1.11 172.16.1.0 0.0.255 echo
プロトコルごとのオプションは以下の通り。
プロトコル | オプション |
---|---|
ip | dhcpなど |
tcp | eq www, eq 80など |
udp | eq snmp, eq 161 |
icmp | echo, echo-replyなど |
なおポート番号は以下表よりキーワードでも指定可能。
ポート番号 | キーワード |
---|---|
20 | ftp-data |
21 | ftp |
23 | telnet |
25 | smtp |
53 | domain |
67 | bootps |
68 | bootpc |
69 | tftp |
80 | www |
110 | pop3 |
またプロトコルはチェックの対象となるプロトコルを指定する箇所へ「tcp」、「icmp」、「ospf」といったプロトコル名の代わりにプロトコルナンバーを使用できる。
プロトコル名 | プロトコル番号 |
---|---|
ICMP | 1 |
TCP | 6 |
UDP | 17 |
EIGRP | 88 |
OSPF | 89 |
拡張アクセスリストには送信元と宛先アドレスの両方を指定できる。適切な条件であればネットワーク上のどこに配置しても問題ない。 ただし拡張アクセスリストを不要なトラフィックを拒否する目的で使用する場合は送信元の近くに配置し、できるだけ早めにフィルタリングを行ってネットワーク全体に不要なトラフィックを流さないようにすることが推奨される。
アクセスリストの適用
ACLはインターフェイスのインバウンドかアウトバウンドどちらかに適用する。 両者でACLの認可を決めるタイミングが異なり、1つのインターフェイスにはL3プロトコルごとにインバウンド/アウトバンドどちらか片方しか設定できない。
- インバウンド … ルータがパケット受信するタイミング
- アウトバウンド … ルータがパケットを送信するタイミング
なおインターフェイスへのACL適用は以下コマンドで行える。
(config)#interface fastEthernet <ポート番号>
(config-if)#ip access-group <ACL番号> <in | out>
アクセスリストの確認
ルータに作成されているACLは以下コマンドで確認を行える。
show ip access-lists
5.3. 名前付きアクセスリストの作成
名前付きアクセスリストは名前でアクセスリストを識別できる他に、アクセスリスト中の特定のステートメントを削除やシーケンス番号を振りなおせる特徴がある。
5.3.1. 名前付き標準アクセスリスト
設定はip access-list standard <名称>
で可能。
方法は以下コマンドより。
(config)#ip access-list standard <名称>
(config-std-nacl)#<permit | deny> <IPアドレス> <ワイルドカードマスク>
(config-std-nacl)#exit
(config)#interface fastEthernet <ポート番号>
(config-if)#ip access-group <名称> <in | out>
なおACLのシーケンス番号を指定する際は上記コード2行目の<permit | deny>の前に指定する。
5.3.2. 名前付き拡張アクセスリスト
設定方法は以下コマンドより。
(config)#ip access-list extended <名称>
(config-std-nacl)#<permit | deny> <L4プロトコル> <送信元ポート番号> <送信元IPアドレス> <宛先IPアドレス> <宛先ポート番号>
(config-std-nacl)#exit
(config)#interface fastEthernet <ポート番号>
(config-if)#ip access-group <名称> <in | out>
5.4. ACLによるVTYアクセス制御
ACLはVTY接続(SSH, TELNETによる接続)にも設定が可能。
設定にはaccess-class <ACL番号 | 名称> <in | out>
で行う。
(config)#line vty <開始番号> <終了番号>
(config-line)#access-class <ACL番号 | 名称> <in | out>
5.5. ACLのトラブルシューティング
ACLの適用により通信が不能になる、ブロックされるはずの通信が届くなど予期せぬ動作が起きた場合、以下可能性を基に調査すると良い。
- ACLの作成順序の間違い
- ACLの内容(送信元/宛先IP、ワイルドカードマスク)の間違い
- ACL適用インターフェイスの間違い
- ACL適用方向(in/out)の間違い
- 暗黙のdenyを忘れたACL設計
6 - 6.NAT・DHCPの設定とDNSの確認
6.1. NATの設定
NATはプライベートIPアドレスをグローバルIPアドレスに変換する仕組み。
6.1.1. NATの確認
NATの確認はshow ip nat statistics
やshow access-lists
、show runnning-config
で確認可能。
NATテーブルの確認
show ip nat translations
NATテーブルにNAT変換情報が登録されるタイミングはNAT方式によって異なる。 Static NATの場合は設定を行った時点でNATテーブルへNAT変換情報が登録される。 一方、Dynamic NAT/NAPTの場合はNAT変換を行う通信が発生した時点で、NATテーブルへNAT変換情報が登録される。
NATのアドレス変換の統計情報確認
show ip nat statistics
NATの変換情報のリアルタイムでの確認
debug ip nat
NATテーブルの削除
# 下記例ではすべてのNATテーブルを消す
clear ip nat translations *
6.1.2. Static NATの設定
Static NATを設定する場合以下のことを行う必要がある。
- ルータのインターフェイスにinside/outsideの設定
- 内部ローカルアドレスと内部グローバルアドレスの組み合わせをNATテーブルに登録
以下に設定例のコマンド手順を記載する。
(config)#interface <ポートの規格: fastEthernetなど> <ポート番号>
(config-if)#ip nat inside
(config-if)#exit
(config)#interface <ポートの規格: fastEthernetなど> <ポート番号>
(config-if)#ip nat outside
(config-if)#exit
# NATテーブルに内部ローカルアドレスと内部グローバルアドレスの組み合わせを登録
(config)# ip nat inside source static <内部ローカルアドレス> <内部グローバルアドレス>
6.1.3. Dynamic NATの設定
Dynamic NATを設定する場合以下のことを行う必要がある。
- ルータのインターフェイスにinside/outsideの設定
- 変換対象の内部ローカルアドレスのリストの作成
- アドレスプールの作成
- 内部ローカルアドレスリストとアドレスプールの紐づけ
変換対象の内部ローカルアドレスのリストの作成はACLを使用する。 ACLのpermitとなっているアドレスはNAT変換される。 一方でdenyとなっているアドレスはNAT変換が行われない。
以下に設定例の手順を記載する。
(config)#interface <ポートの規格: fastEthernetなど> <ポート番号>
(config-if)#ip nat inside
(config-if)#exit
(config)#interface <ポートの規格: fastEthernetなど> <ポート番号>
(config-if)#ip nat outside
(config-if)#exit
# 変換対象の内部ローカルアドレスのリストをACLで作成
(config)# access-list <ACL番号> permit <送信元IPアドレス> <ワイルドカードマスク: 0.0.0.255など>
# アドレスプールの作成
(config)#ip nat pool <プール名> <開始アドレス> <終了アドレス> netmask <サブネットマスク>
# NATテーブルに内部ローカルアドレスリストとアドレスプールの紐づけ
(config)#ip nat inside source list <ACL番号> pool <プール名>
6.1.4. NAPT(PAT, IPマスカレード)の設定
NAPTをを設定する場合以下のことを行う必要がある。
- ルータのインターフェイスにinside/outsideの設定
- 変換対象の内部ローカルアドレスのリストの作成
- アドレスプールを利用する場合は作成(任意)
- 内部ローカルアドレスリストとアドレスプールまたは外部インターフェイスの紐づけ
NAPTはアドレスプールの設定は必須ではなく任意。 また外部インターフェイスに設定されたIPアドレスを変換するための内部グローバルアドレスとして使える。
以下に設定例(アドレスプールを使用しない場合)の手順を記載する。
(config)#interface <ポートの規格: fastEthernetなど> <ポート番号>
(config-if)#ip nat inside
(config-if)#exit
(config)# interface <ポートの規格: fastEthernetなど> <ポート番号>
(config-if)#ip nat outside
(config-if)#exit
# 変換対象の内部ローカルアドレスのリストをACLで作成
(config)#access-list <ACL番号> permit <送信元IPアドレス> <ワイルドカードマスク: 0.0.0.255など>
# 外部インターフェイスとアクセスリストの紐づ(overloadでNAPTとなる)
(config)#ip nat inside source list <ACL番号> interface <ポートの規格: fastEthernetなど> <ポート番号> overload
6.1.5. NAT変換がうまくいかない場合の確認事項
- 内部インターフェイス/外部インターフェイスの指定ミスがないか
- 変換対象の内部ローカルアドレスを指定するACLの間違えていないか
- 内部ローカルアドレス/内部グローバルアドレスの紐づけ間違いがないか
- NATのアドレスプールで指定する内部グローバルアドレスの間違いがないか
- NAPTの場合は
overload
の指定忘れがないか
6.2. DHCPの設定
DHCPはクライアントやネットワーク機器に自動でプライベートIPアドレスを付与する仕組み。
DHCPはDHCPサーバとDHCPクライアントから成り立つ。 ルータはDHCPサーバ、DHCPクライアントどちらにも動作させることができる。
具体的にはDHCPの設定は以下2つのパターンのいずれかで行える。
- DHCPサーバを用意する
- ルータ自身にDHCPサーバ機能を持たせる
6.2.1. DHCPの確認
DHCPクライアントか確認する
show ip interface brief
、show interfaces
、show dhcp lease
等で確認が可能。
DHCPのアドレスプールの確認
show ip dhcp pool
IPアドレスの割り当て状況確認
show ip dhcp binding
重複が発生したIPアドレスの確認と削除
show ip dhcp conflict
clear ip dhcp conflict *
6.2.2. DHCPサーバとしての設定
ルータをDHCPサーバにするには以下ステップを踏む必要がある。
- アドレスプールの作成
- 配布するIPアドレスのネットワーク/サブネットの指定
- デフォルトゲートウェイの指定
- IPアドレスのリース期間の指定
- DNSサーバの指定
- 除外するアドレスの指定
(config)#ip dhcp pool <プール名>
(dhcp-config)#network <ネットワーク> <サブネットマスク または /プレフィックス>
(dhcp-config)#default-router <IPアドレス>
(dhcp-config)#lease <日数>
(dhcp-config)#dns-server <DNSサーバのIPアドレス>
(dhcp-config)#exit
(config)#ip dhcp excluded-address <開始アドレス> [<終了アドレス>]
6.2.3. DHCPクライアントとしての設定
ルータのインターフェイスのIPアドレスをDHCPサーバに割り当ててもらう場合、そのルータをDHCPクライアントにする必要がある。
なお以下はルータのポートはDHCPサーバのブロードキャストを受け取る側で実行する必要がある。
(config)#interface <ポートの規格: fastEthernetなど> <ポート番号>
(config-if)#ip address dhcp
(config-if)#no shutdown
6.2.4. DHCPリレーエージェントの設定
DHCPリレーエージェントはブロードキャストされたDHCP要求をユニキャストで転送する機能。 DHCPサーバとクライアント間にルータがある場合、ルータはブロードキャストを行わない。 そのためクライアントにIPアドレスを割り当てることができない。 この問題の解決のためにはルータにDHCPリレーエージェントを設定する必要がある。
なおクライアント側のポートで以下は実行する必要がある。
(config)#interface <ポートの規格: fastEthernetなど> <ポート番号>
(config-if)#ip helper-address <DHCPサーバのIPアドレス>
6.3. DNSの確認
6.3.1. DNSサーバとして使用する
CiscoルータはDNSサーバとして動作させることができる。
#DNSサーバ機能を有効化する
(config)#ip dns server
#DNSサーバが回答する名前とIPアドレスのペアを登録
(config)#ip host {ホスト名} {IPアドレス}
6.3.2. DNSクライアントとして使用する
Ciscoのルータは名前解決を行うDNSクライアントとすることができる。 DNSクライアントとして動作させるには以下のコマンドを使用する。
#DNSによる名前解決を行う
(config)#ip domain lookup
#DNS参照先のIPアドレスを指定する
(config)#ip name-server {IPアドレス}
#(任意)自身の所属するドメイン名を登録する。ホスト名のみで問い合わせた場合に自動的に補完される
(config)#ip domain name {ドメイン名}
#(任意)ホスト名のみでの問い合わせ時に自動的に補完されるドメイン名のリスト。「ip domain name」での設定値よりも優先される。
(config)#ip domain list {ドメイン名}
7 - 7.HSRPによるDGW冗長化とSNMPによる監視の設定
7.1. HSRPの設定
HSRPはCisco独自のDGW冗長化プロトコル。 バックアップ用のDGWの追加やDGWの冗長化などを行うことができる。
7.1.1. HSRPの有効化
HSRPの有効化自体は以下コマンドで行うことができる。
(config-if)#standby [<スタンバイグループ番号>] ip [<仮想IPアドレス>]
スタンバイグループ番号はHSRPv1の場合は0~255までの番号を指定。番号を省略した場合は0になる。 仮想IPアドレスには仮想IPアドレスが指定できるが、省略した場合はスタンバイグループの他ルータから送信されたHelloパケットから仮想IPアドレスの学習を行う。 仮想IPアドレスはルータに設定されている値を設定することはできないため注意する必要がある。
7.1.2. HSRPプライオリティ値の設定
HSRPのプライオリティ値の設定は以下コマンドで行える。
(config-if)#standby [<スタンバイグループ番号>] priority <プライオリティ値>
プライオリティ値は0~255の間から指定を行う。 指定しなかった場合はデフォルトの100となる。
7.1.3. プリエンプトの指定
常にプライオリティ値の大きいルータをアクティブルータにする機能はプリエンプトで、 具体的には、アクティブルータが障害後にルータがバックアップルータに切り替わった後にアクティブルータが復旧した後に元のアクティブルータをDGWの使用に戻す際に使用できる設定となる。
設定は以下コマンドで行える。
(config-if)#standby [<スタンバイグループ番号>] preempt
7.1.4. インターフェイストラッキングの設定
アクティブルータのWAN側のインターフェイスに障害が起きて通信ができなくなってもHSRPで直接検知ができない。そのため通信が行えないDGWの方がアクティブルータになったままになる場合がある。 そのためインターフェイスの状態によりHSRPプライオリティ値を減少させる機能がある。
設定を行うには以下コマンドで行う。
(config-if)#standby [<スタンバイグループ番号>] track <インターフェイス> [<減少値>]
インターフェイスには追跡したいインターフェイス(fastEthernet 0/0など)を指定する。 指定したインターフェイスがダウンした場合に設定した減少値だけプライオリティ値が減少し、アップに戻ると元のプライオリティ値に戻る。 減少値は指定しない場合はデフォルトの10が設定値となる。
7.1.5. HSRP設定の確認
HSRPの要約情報を確認するには以下コマンドで行える。
show standby brief
また詳細な情報は以下コマンドで行うことができる。
show standby
上記コマンドでは以下内容が確認できる。
- 有効になっているインターフェイス/グループ/役割
- 仮想IPアドレス
- 仮想MACアドレス
- プリエンプトが有効になっているかどうか
- HSRPプライオリティ値
7.2. SNMPの設定
7.2.1. SNMPビューの設定
SNMPビューを設定すると特定のMIB情報のみをSNMPマネージャに取得させる、させないといったことができる。
(config)#snmp-server view <ビュー名> <OID> <include | exclude>
ビュー名には作成した任意のビュー名を指定する。
7.2.2. コミュニティ名の設定
SNMPv1やv2の認証ではコミュニティ名を使用する。 コミュニティ名の指定は以下コマンドで行うことができる。
(config)#snmp-server community <コミュニティ名> [view <ビュー名>] [ro | rw] [<ACL>]
コミュニティ名はSNMPエージェントとマネージャで合わせる必要がある。 view項目はSNMPビューを使用しMIB取得を制限させる場合に使用する。 またroは読み取りを許可、rwは読み書きを許可。 ACLではACLのpermitで許可されているアドレスからのみ要求を受け付ける設定が可能。
7.2.3. 通知機能の設定
SNMPトラップやSNMPインフォームなどのSNMP通知機能を設定するにはエージェント側でマネージャ(NMS)を指定する必要がある。
通知送信先の指定
SNMPマネージャの指定は以下コマンドで行える。
(config)#snmp-server host <IPアドレス> [traps | informs] [ version < 1 | 2c | 3 <auth | noauth priv>>] <コミュニティ名 | ユーザ名>
トラップの有効化
SNMPトラップ/SNMPインフォームといった通知機能を有効化するには以下コマンドを実行する。
(config)#snmp-server enable traps [<トラップ対象>]
トラップ対象を省略するとすべてのトラップが有効となる。
7.2.4. SNMPv1とSNMPv2c
SNMPv1ではコミュニティ名を利用して認証が行われる。なお平文のまま送信されるため盗聴される危険性がある。SNMPトラップしか対応していない。 SNMPv2cではSNMPv1の機能に加え、GetBulkRequestやSNMPインフォームが利用可能という特徴がある。
SNMPv1
SNMPv1では以下のコマンドが定義されている。
- Get Request・・・指定のオブジェクトIDに対応した情報の要求
- GetNext Request・・・次のオブジェクトIDに対応した情報の要求
- Set Request・・・SNMPエージェントの制御
- Get Response・・・マネージャからの要求に対する応答
- Trap・・・SNMPエージェントからマネージャへの一方的な状態通知
SNMPv2c
SNMPv2cでは64bitカウンタに対応しさらに以下のコマンドが追加されている。
- GetBulk Request・・・繰り返しの情報の要求
- Inform Request・・・SNMPエージェントからマネージャへの状態通知。マネージャから応答がなければ再送
またSNMPv2cでは認証に使うコミュニティストリングの設定が必須となる。 設定内容は以下のコマンドで確認できる。
# コミュニティストリング
show snmp community
# 設置場所
show snmp location
# 管理者情報
show snmp contact
# トラップ送信先
show snmp host
# シリアルナンバー
show snmp chassis
7.2.5. SNMPv3の設定
SNMPv3ではコミュニティ名ではなくユーザ名やパスワードにより認証を行う。 SNMPユーザはSNMPグループに参加しグループ単位でSNMPビュー, セキュリティレベルの設定が行われる。 そのためコミュニティストリングの設定はない。
SNMPグループの作成
SNMPグループは以下コマンドで作成できる。
(config)#snmp-server group <グループ名> v3 <auth | noauth | priv> [read <ビュー名>] [write <ビュー名>] [access <ACL>]
グループ名には作成したいグループを作成。その後ろにセキュリティレベルを指定し、auth(AuthNopriv), noauth(NoAuthNopriv), priv(AuthPriv)の設定が行える。
SNMPユーザの作成
SNMPユーザはSNMPグループと関連付ける必要がある。 SNMPユーザの作成は以下コマンドで行える。
(config)#snmp-server user <ユーザ名> <グループ名> v3 [auth <md5 | sha> <パスワード>] [priv <des | 3des | aes <128 | 192 |256>> <パスワード>]
MD5やSHAによる認証を行う場合はauthのほうでパスワードを指定し、暗号化を行う場合、privで暗号化方式とパスワードを指定する。
エンジンIDの確認
またSNMPv3ではSNMPエージェントやマネージャを識別するためにエンジンIDという一意の値を使用する。エンジンIDは自動的に生成されるが管理者が設定することも可能となっている。
show snmp engineID
このコマンドではengineIDのほかにSNMPマネージャのIPアドレスを確認できる。
7.2.6. SNMPの確認
SNMPビューの確認
show snmp view
SNMPグループの確認
show snmp group
SNMPユーザの確認
show snmp user
確認できる項目は以下の通り。
- 作成したビュー
- 作成したグループとセキュリティモデル、可読可能なビュー
- 作成したユーザ
- 認証プロトコルの種類
- 所属グループ
7.3. IP SLA
IP SLA(Service Level Agreement)は、パケットを生成してネットワークのパフォーマンスを監視/測定するCisco IOSの機能。
IP SLAによる監視では、通常のサーバをターゲットにすることも可能であるが、IP SLAレスポンダ(ターゲットもIOSを搭載しIP SLAをサポートしているデバイス)を用意することで、測定精度が向上し、VoIPの遅延やジッタを測定することも可能になる。
8 - 8.ネットワーク機器の管理と運用設定
8.1. システムログの設定
8.1.1. システムログの出力先設定
システムログのメッセージは以下のような場所に出力される。
- コンソールライン
- 仮想ターミナルライン
- ルータやスイッチのRAM
- Syslogサーバ
それぞれの出力先の設定により設定コマンドが異なる。 またシステムのログレベルは以下の通り。
重大度 | 意味 | 説明 |
---|---|---|
0 | 緊急 | システムが不安定 |
1 | 警報 | 直ちに処置が必要 |
2 | 重大 | クリティカルな状態 |
3 | エラー | エラー状態 |
4 | 警告 | 警告状態 |
5 | 通知 | 正常だが注意を要する状態 |
6 | 情報 | 単なる情報メッセージ |
7 | デバッグ | デバッグメッセージ |
例えば3まででは1から3までのメッセージしか表示されず、7ではすべてのメッセージが表示されることになる。
コンソールラインへの出力
コンソールにはデフォルトでログが出力される。 なおコンソール上の出力されるシステムログレベルは7となる。 レベル7ではすべてのログが表示される。 ログレベルの変更は以下コマンドで行える。
(config)#logging console <レベル>
仮想ターミナルラインへの出力
仮想ターミナルラインにシステムコンソールを表示するには以下コマンドできる。
terminal monitor
また上記コマンドのみではログインセッションが切れるとコマンドが無効になる。 またログレベルの変更は以下コマンドで行える。
(config)#logging console <レベル>
ルータやスイッチのRAMへの出力
ルータやスイッチのRAMにシステムログを保存するにはサイズを指定する必要がある。
(config)logging buffered <サイズ(Byte単位で4096以上を指定)>
また保存するログのログレベルの変更は以下コマンドで可能。
(config)logging buffered <レベル>
Syslogサーバへの出力
Syslogサーバへシステムログを出力するにはサーバの指定が必要で以下コマンドで行える。
(config)# logging host <IPアドレス/ホスト名>
8.1.2. システムログのその他の設定
タイムスタンプの表示設定
システムログで表示されるメッセージのタイムスタンプの形式は以下コマンドで行える。
(config)#service timestamps <debug | log> [<datetime [localtime] [msec] [show-timezone] [year] | uptime>]
シーケンス番号の設定
メッセージにシーケンス番号を付加するには以下コマンドで行える。
(config)#service sequence-numbers
システムログの確認
コンソールラインや仮想ターミナルラインでシステムログを確認するには以下コマンドで行える。
show logging
デバッグの設定と表示
システムログのレベル7に相当するデバッグは通常のlogging console
やterminal monitor
では表示されない。表示するには以下コマンドを実行する。
debug <表示したいデバックメッセージ>
デバッグコマンドはCPUに負荷がかかるため必要なときのみ使用するようにする。 デバッグメッセージを止める場合以下コマンドを実行することでできる。
no debug all
8.2 NTPの時刻管理の設定
8.2.1. NTPクライアントとしてサーバとの同期有効化
クライアント/サーバモードのクライアントとしてNTPサーバに対して時刻を要求するには以下コマンドを行う。
(config)#ntp server <IPアドレス> [prefer]
IPアドレスにNTPサーバのIPアドレスを指定する。 複数のNTPサーバを指定していたときはpreferを指定すると、サーバと優先的に同期を行うにすることができる。
8.2.2. NTPサーバとして有効化
Ciscoルータはクライアント/サーバモードどちらでも動作させられる。 NTPサーバにするには以下コマンドで行う。
(config)#ntp master [<stratum数>]
statrum数は1~15まで指定可能で、デフォルトでは8になる。
8.2.3. NTP認証の設定
NTPの認証機能を追加すると信頼できるNTPサーバ/クライアント間の通信に限定するため、誤った不正時刻に更新されることを防ぐことができる。 設定にはNTPサーバ/クライアント間双方で認証を有効化し共通番号の文字列定義を行う。
また自身のNTP設定の確認は以下コマンドで行える。
show ntp status
認証機能の有効化
認証機能はデフォルトでは無効化されているため以下コマンドで有効化する。
(config)#ntp authenticate
認証鍵の定義
認証鍵の定義は以下コマンドで行える。
(config)#ntp authentication <鍵番号> md5 <文字列>
NTPサーバ/クライアントに対して共通の鍵番号と文字列を指定する。
定義した鍵番号指定
鍵番号の指定は以下コマンドで行う。
(config)#ntp trusted-key <鍵番号>
同期有効化時の鍵番号指定
NTPクライアント側で時刻同期するNTPサーバに対して認証を行うには以下コマンドで設定を行う。
(config)#ntp server <IPアドレス> key <鍵番号> [prefer]
NTP時刻同期の確認
NTPの時刻同期状態の確認は以下コマンドで行える。
show ntp associations
8.2.4. タイムゾーンの設定
日本の場合UTCから+9時間の時差(JST)となる。 設定は以下コマンドで行える。
(config)#clock timezone <タイムゾーンの略称> <時差>
またルータなどの現在時刻の確認は以下コマンドで行える。
show clock
8.3. CDP/LLDPによる隣接機器の検出設定
8.3.1. CDPの設定と確認
Cisco機器ではCDPはデフォルトでONになっている。 有効化/無効化は以下コマンドで行う。
なおCDPの設定はshow cdp
やshow cdp interface
コマンドで確認可能で以下情報が確認可能。
- CDPパケット送信間隔(60s)
- ホールド時間(180s)
- CDPのバージョン
機器全体でのCDP設定
(config)#cdp run
(config)#no cdp run
インターフェイスごとのCDP設定
(config-if)#cdp enable
(config-if)#no cdp enable
CDPの隣接機器の要約情報確認
CDPで隣接機器から受信したの確認は特権EXECモードでshow cdp neibors
を実行する。
# cdpのL2情報の確認
show cdp neibors
# cdpのL3情報の確認
show cdp neibors detail
なお特定機器の隣接機器の情報を表示するにはshow cdp entry <機器名>
を実行する。
8.3.2. LLDPの設定と確認
LLDPの設定と確認
Cisco機器以外で隣接機器の情報を取得したい場合はLLDPを有効化する必要がある。 有効化/無効化は以下コマンドで行う。
なおCDPの設定はshow lldp
コマンドで確認可能で以下情報が確認可能。
機器全体でのLLDP設定
(config)#lldp run
(config)#no lldp run
インターフェイスごとのLLDP設定
transmitでLLDPフレームの送信、receiveでLLDPフレームの受信を設定できる。
(config-if)#lldp <transmit | rececive>
(config-if)#no lldp <transmit | rececive>
LLDPパケット送信間隔とホールド時間の設定
LLDPはデフォルトでは30秒ごとにLLDPフレームを送信する。
変更する場合はlldp timer <秒>
で設定する。
ホールド時間はデフォルトでは120秒となっており、変更する場合はlldp holdtime <秒>
で設定する。
またLLDPの初期化処理の遅延時間はデフォルトでは2秒であるが、これを変更するにはlldp reinit <秒>
で指定する。
LLDPの隣接機器の要約情報確認
LLDPで隣接機器から受信したの確認は特権EXECモードでshow lldp neibors
を実行する。
# lldpのL2情報の確認
show lldp neibors
# lldpのL3情報の確認
show lldp neibors detail
なお特定機器の隣接機器の情報を表示するにはshow llp entry <機器名>
を実行する。
8.4. Cisco IOSの管理設定
8.4.2. CISCO IOSのイメージファイルの確認
CISCO IOSのイメージのバージョンやファイルを確認するには特権EXECモードで以下コマンドを実行する。
show flashコマンド
このコマンドではフラッシュメモリに保存されているファイル(IOSイメージを含む)やフラッシュメモリの容量などを確認できる。
show flash
show versionコマンド
show version
このコマンドではIOSファイル以外にも以下内容を確認できる。
- IOSバージョン
- IOSイメージファイル名
- CPU/RAMの容量
- ルータのインターフェイス
- フラッシュメモリの容量
- コンフィギュレーションレジスタ値
- システムが稼働してからの時間
- システムを起動した方法
- DRAMの容量
8.4.3. CISCO IOSのバックアップとリストア
CISCO IOSのアップデート後に不具合が発生した際にバージョンを戻して対応できるようにバックアップを行うと安全である。
CISCO IOSのバックアップ手順
基本的にはTFTPサーバを用いてバックアップを行う。
この場合、実行前の準備としてTFTPサーバを立てておく必要がある。 TFTPサーバは基本PCで建てる場合が多く、windowsでは3CDaemonというソフトウェアで立てられる。
- TFTPサーバの準備と疎通確認(ping)を行う。
show flash
コマンドで.bin
が拡張子のIOSイメージファイルと空き容量を確認するcopy flash tftp
コマンドでIOSイメージをバックアップする
CISCO IOSのアップグレード
アップグレードを行う前にアップグレードを行いたいネットワーク機器がIOSの動作要件を満たしているか確認する。 また現行の機能がアップグレード後も使用できるか増設インターフェイスの使用ができるかやメモリの容量があるかなども確認が必要となる。
IOSはTFTPサーバにアップロードして特権EXECモードで以下のコマンドを使用する。
cpy tftp flash
CISCO IOSのリカバリ手順
事前準備として現行設定が保存されたrunnning-configのバックアップをしておく必要がある。 これはルータやスイッチの設定が誤った場合に戻せるようにするためである。
copy running-config tftp
リカバリはtftpに保存したバックアップファイルを設定ファイルにコピーして行う。 なおこの際のコピーは上書きではなくマージとなる。
copy tftp running-config
マージでは既存の設定、コピー元の設定が有効となり、競合した項目はコピー元が優先して保存される。
8.4.5. パスワードの復旧方法
特権EXECモードに移る際のパスワードを忘れてしまった場合は以下手順でパスワードを再設定できる。 ただし設定用PCとCISCO機器を直接接続する必要がある。
- ROMMONモードにアクセスする :
ルータの再起動を行い、起動シーケンスで
Self decompressing the image : #########
部分表示中にAlt+bを押してシーケンスを中断させる。(ハイパーターミナルの場合はCtrl+Break) - コンフィギュレーションレジスタ値の変更をする :
コマンド
confreg 0x2142
を叩いてコンフィギュレーションレジスタ値を0x2142にする。これは次回起動時にNVRAMの内容を無視して読み込むことを意味する。 - ルータを再起動する :
reset
コマンドによりルータを再起動する - 再起動後に特権EXECモードに入りstartup-configをコピーする :
パスワードを要求されずに特権モードに移れるので
copy startup-config runnning-config
でコピーする。 - 特権EXECモードから抜けずに新しいパスワードを設定する :
conf t
でコンフィギュレーションモードに入り、上記1.4.2に基づいてパスワードを再設定する - コンフィギュレーションレジスタ値をもとに戻す :
コンフィギュレーションレジスタ値を0x2102に戻す。具体的には
config-register 0x2102
で戻す - 設定の保存を
copy running-config startup-config
で保存する
8.5. リモートアクセス管理
8.5.1. ルータやスイッチからリモートアクセスする
telnetやsshで現在アクセスしているネットワークデバイスから別のネットワークデバイスにアクセスができる。
なお切断はexit
で行い、中断はCtrl+Shift+6入力後にXキーを押すと可能。
telnet
telnet <IPアドレス | ホスト名>
ssh
ssh -l <ユーザ名> <IPアドレス | ホスト名>
セッションの確認と再開
中断した接続に戻る場合で特に複数接続を行いセッションを中断する場合はリモートセッションを確認する必要がある。
show session
でセッションを確認、resume <セッション番号>
でセッションに復帰可能となる。
show session
中断セッションの切断
中断しているセッションはdisconnect <セッション番号>
で切断可能。
ログインしてきているセッションの確認
show users
でユーザのログインを確認可能。
8.5.2. バナーメッセージの設定
banner motd
でコンソール接続時にメッセージ(バナーメッセージ)を表示させることができる。
区切り文字は#などを使うとよい。
具体的なメッセージとしてはルータ管理の情報や警告などを表示するようにすることが多い。
(config)#banner motd <区切り文字>
8.6 QoSの設定
8.6.1. IP電話
IP電話を信頼境界とする場合はIP電話を接続しているスイッチでデータパケットに対するプライオリティの変更の有無をIP電話に指示が可能。
(config-if)#switchport priority extend {cos CoS値 | trust}
- CoS値・・・受信したパケットにすでに施されているマーキングを無視して、新たに設定するCoS値
- trust・・・受信したパケットのプライオリティを信頼する
9 - 9.ネットワーク機器のセキュリティ設定
9.1. L2セキュリティ
9.1.1. ポートセキュリティの設定
ポートセキュリティを有効化すると、想定外端末のネットワーク接続を防ぐことが可能。
ポートセキュリティの有効化
ポートセキュリティはデフォルトでは有効になっていないため有効化する必要がある。
ポートセキュリティの有効化にはインターフェイスを手動でアクセスポート/トランクポートにする必要がある。 有効化には以下コマンドで行える。
(config-if)#switchport porrt-security
セキュアMACアドレスの登録
ポートセキュリティの接続違反判断にはMACアドレスをスイッチに登録しておく必要がある。 方法は以下の通り。
- 手動で登録
- フレームが届いた際に自動でその送信元MACアドレスが登録される方法
- 最大MACアドレス登録数の設定
1つのインターフェイスに登録可能なMACアドレスはデフォルトでは1つ。 自動で登録させる場合はコマンドで変更する必要があり、以下コマンドで実現できる。
(config-if)#switchport port-security maximum <最大数>
- MACアドレスの登録
手動で登録する場合は以下コマンドで実行できる。
(config-if)#switchport porrt-security mac-address <MACアドレス>
またセキュアMACアドレスの種類は以下の通り。
種類 | 説明 | 保存先 |
---|---|---|
スタティックセキュアMACアドレス | 静的に設定したMACアドレス | MACアドレステーブル、running-config |
ダイナミックセキュアMACアドレス | 動的に学習したMACアドレス | MACアドレステーブル |
スティキーセキュアMACアドレス | 動的に学習したMACアドレス | MACアドレステーブル、running-config |
スティキーラーニング
スティキーラーニングは自動登録されたセキュアMACアドレスがrunning-configに保存する方法。 これによりスイッチが再起動された後も一度登録したセキュアMACアドレスが消えなくなる。
スティキーラーニングの有効化には以下コマンドで行うことができる。
(config-if)#switchport porrt-security mac-address sticky
違反時の動作の指定
ポートに登録されていないMACアドレスが登録された際の動作は3種類あり設定できる。 なおデフォルトではshutdownの設定となっている。
- protect … 通信をブロックするのみ
- restrict … ブロックするのに加えてセキュリティ違反のカウンタを加算する、SNMPと組み合わせて違反を通知できる
- shutdown(デフォルト) … restrictに加えてインターフェイスをシャットダウンする、このときインターフェイスは
error-disable
となる
違反モードの設定は以下コマンドで設定できる。
(config-if)#switchport port-security violation <モード>
ポートセキュリティの設定確認
ポートセキュリティの確認は以下コマンドで行える。
#ポートセキュリティの確認
show porrt-security
#セキュアMACアドレスの確認
show port-security address
#インターフェイスの確認
show port-security interface <インターフェイス>
err-disable状態の自動復旧方法
エラー原因の状態確認は以下コマンドで行える。
show errdisable recovery
また自動復旧をさせるためのコマンドは以下の通り。
(config)#[no] errdisable recovery cause <エラーの原因>
エラーの原因 | 復旧原因 |
---|---|
bpduguard | BPDUガードの動作 |
psecure-violation | ポートセキュリティの動作 |
エラー原因には自動復旧させるエラー原因を登録する。
なおall
を指定するとすべてのエラーでも復旧する。
ちなみにerrdisableになる原因は以下の通り。
- BPDUガード違反(レイヤ2ループを防ぐ機能であるSTPの動作)
- セキュリティ違反(不正な接続を防ぐ機能であるポートセキュリティの動作)
復旧までの時刻は以下コマンドで行える。 なおデフォルトでは300秒となっている。
(config)#errdisable recovery interval [秒数]
手動でerr-disable状態を復旧する
err-disableは、機械的にポートをshutdownさせているため手動でshutdown状態にする。 手順は以下の通り。
- err-disabledがかかっているinterfaceに移動し
shutdownコマンド
を適用する - その後、
no shutdownコマンド
を実行しポートを有効にする
なお「err-disable状態になった原因」を把握しないと、同じ原因で再びerr-diableになる可能性が高いので原因は合わせて調査すべきである。
9.1.2. DHCPスヌーピングの設定
DHCPスヌーピングの有効化
DHCPスヌーピングの有効化は以下コマンドで行える。 この項目のみの有効化ではすべてにポートが非信頼ポートとなるため、信頼ポートも指定する必要がある。
- すべてのVLANでDHCPスヌーピングは非アクティブ
- すべてのポートはuntrustedポート
(config)#ip dhcp snooping
また有効化にはVLANも指定する必要がある。
(config)#ip dhcp snooping vlan <VLAN番号リスト>
信頼ポートの設定
信頼ポートの割り当ては以下コマンドで行える。
(config-if)#ip dhcp snooping trust
no
をつけると非信頼ポートに指定できる。
リレーエージェント情報オプション
DHCPにはリレーエージェント情報オプション(82)という追加情報を含めることが可能。 このオプションはDHCPパケットをリモートネットワークに転送する機能で追加情報をつけることができる。
この機能ではデフォルトでは有効になっているが、DHCPサーバがこの機能に対応していないと応答が返らない。 そこで無効化を行うためには以下コマンドを行う。
(config)#[no] ip dhcp snooping information option
DHCPパケットのレート制限
DHCPパケットのレートを制限するには以下コマンドで行える。
(config-if)#ip dhcp snooping limit rate <1秒あたりに受信可能なDHCPパケット数>
上記設定のメリットは以下の通り。
- インターフェースが受信できる1秒あたりのDHCPパケット数を設定できる
- 不正なクライアントがDHCPサーバに大量のDHCP要求を送りつける攻撃(DOs攻撃)を防ぐ
MACアドレス検証の有効化/無効化
接続されたDHCPクライアントのMACアドレスと、DHCPクライアントが送信するDHCPパケットに含まれる送信元MACアドレスが一致しているか検証する機能を使うには以下コマンドを入力する。
(config)#ip dhcp snooping verify mac-address
DHCPスヌーピングの設定確認
DHCPスヌーピングの設定を確認するには以下コマンドで行える。
show ip dhcp snooping
DHCPスヌーピングバインディングデータベースの設定確認
DHCPスヌーピングバインディングデータベースはPCに割り当てられたIPアドレスが保存される。 このデータベースの確認は以下コマンドで行える。
show ip dhcp snooping binding
なおDHCPスヌーピングバインディングデータベースには以下情報が保存される。
- DHCPクライアントのMACアドレス
- DHCPクライアントに割り当てられたIPアドレス
- IPアドレスのリース時間
- ポートが属するVLAN
- スイッチのポート番号
9.1.3. ダイナミックARPインスペクションの設定
ダイナミックARPインスペクション(DAI)はデフォルトでは有効になっていないため、設定する必要がある。
ダイナミックARPインスペクションの有効化
ダイナミックARPインスペクションは以下コマンドで有効化を行える。
(config)#ip arp inspection vlan <vlan番号リスト>
信頼できるポートの指定
DHCPスヌーピングの設定同様にこの項目のみの有効化ではすべてにポートが非信頼ポートとなるため、信頼ポートも指定する必要がある。
(config-if)#ip arp inspection trust
ダイナミックARPインスペクションの設定確認
ダイナミックARPインスペクションの設定確認は以下コマンドで行うことができる。
show ip arp inspection [vlan <VLAN番号>]
9.1.4. VACL
VACLはスイッチ内のVLANにACLを適用するもの。 インバウンド/アウトバンドの指定はなく、VLANに届いたものすべてに適用される。
VACLはダブルダギング攻撃の対策となる。
ダブルタギング攻撃
ダブルタギング攻撃はトランクリンクのカプセル化がIEEE802.1Qの際にネイティブVLANを利用した攻撃手法。
通常VLANを使用してネットワークトラフィックを分離する際に、攻撃者がスイッチに対して偽装された二重のVLANタグ(802.1Qタグ)を送信することで実行される。攻撃者がこの方法を使用すると、通常は異なるVLANに属するべきトラフィックが攻撃者が制御するVLANに送信される可能性があるというもの。
この攻撃の対策としては以下のようなことが上げられる。
- ネイティブVLANを未使用VLAN IDに設定する
- ネイティブVLANでもタグが付くなどの設定をする
この「ネイティブVLANでもタグが付くようにする」には以下コマンドで行える。
(config)#vlan dot1q tag native
9.2. L3セキュリティ
9.2.1. IPアドレススプーフィングの設定
IPアドレススプーフィングとは攻撃者が自身のIPアドレスを偽って不正に接続する攻撃のこと。
IPソースガードの有効化
IPアドレススプーフィングの防止にはIPソースガードを使用する。 この機能はIPパケットの送信元アドレスを検査するものであり、IPソースガードが有効になっているポートにIPパケットが着信すると検査して、送信元IPアドレスと送信元MACアドレス(オプション)が、「DHCPスヌーピングバインディングデータベース」または手動で作成したバインディングデータベースに載っていれば許可し、載っていなければ拒否する。
有効化は以下コマンドで行える。
(config-if)# ip verify source [ port-security ]
IPソースガードの確認
show ip verify source
show ip verify source binding
9.3. デバイスのセキュリティ
9.3.1. パスワードによるアクセス保護の暗号化
Enableパスワードの暗号化
異なるアルゴリズムを使用してenableパスワードを暗号化するには以下コマンドで行える。
(config)#enable algororithm-type <md5 | scrypt | sha256> secret <パスワード>
暗号化アルゴリズムはshow running-config
で確認した後にenable secret項目の数字で判断できる。
アルゴリズム | タイプ番号 |
---|---|
md5 | 5 |
sha-256 | 8 |
scrypt | 9 |
ローカル認証時のユーザアカウントパスワードの暗号化
コンソールやVTY接続でのログイン時にローカル認証(ユーザ名/パスワード)をすることができる。
ローカル認証のパスワード暗号化には以下コマンドで行える。
(config)#username <ユーザ名> [privilege <特権レベル>] secret <パスワード>
9.4. AAAを利用したログイン認証設定
AAAは「認証」「認可」「アカウンティング」の略でセキュリティの3機能を示す概念である。
9.4.1. AAAの有効化
AAAの有効化は以下コマンドで行える。
(config)#aaa new-model
9.4.2. ログイン時の認証方式指定と適用
ログインの認証方式の指定には認証方式リストを作成する必要があり、リストの作成は以下コマンドで行える。
(config)#aaa authentication login <default | リスト名> <認証方式1> [<認証方式2>]
認証方式として利用できるのは以下の通り。
認証方式 | 説明 |
---|---|
enable | あらかじめ設定されているenableパスワードの利用 |
group radius | Radiusサーバによる認証の有効化 |
group tacacs+ | TACACS+サーバによる認証の有効化 |
line | ラインモードで設定されているパスワードを使用する |
local | あらかじめ設定されているローカル認証用のユーザアカウント情報を使用 |
local-case | localと同じだが、ユーザ名の大文字小文字を区別 |
none | 認証を使用しない |
認証方式の適用は以下コマンドで行える。
(config-line)#login authentication < default | リスト名 >
ちなみに上記例では認証タイプはlogin
になっているが、指定可能な認証タイプは他に以下のようなものがある。
- enable … 特権EXECモード兵の移行認証
- dot1x … IEEE802.1X認証
- ppp … ppp接続の認証
10 - 10.Cisco社が提供するSDNソリューション
10.1. Cisco SDNの前提知識
10.1.1. インテントベースネットワーク(IBN)
インテントベースネットワーク(Intent-based Network:IBN)は、Ciscoが提唱するSDNのソリューション。
「ソフトウェアで定義する」という段階を一歩進め、「利用者の意図に応じたネットワーク環境を自動構築する」ことを可能にする。
10.1.2. Cisco社の提供する代表的なSDNソリューション
Cisco社が提供するSDNのソリューションサービスには以下のようなものがある。
Open SDN | Cisco ACI | APIC Enterprise Module | |
---|---|---|---|
コントロールプレーンの変更 | ○ | ○ | × |
コントロールプレーンの集中度 | ほぼすべて | 一部 | 分散 |
SBI | OpenFlow | OpFlex | CLI, SNMP |
代表的なコントローラ | OpenDaylight, Cisco Open | APIC | APIC-EM |
10.2. Cisco ACI
Cisco ACI(Cisco Application Centric Infrastructure)は、Ciscoが提供するデータセンター向けのSDNソリューション。
10.3. Cisco SD Access
CISCO社の提供するIBNに基づいた新しいキャンパスLANの構築手法。 CISCO DNA CenterやWebGUIで提供されるアプリケーションや自作プログラムで制御ができる。
SD-Accessは大きくアンダーレイとオーバーレイで構成される。
10.3.1. ファブリック
ファブリックはアンダーレイとオーバーレイをひとまとめにしたもの。 言い換えると外部から見た、SDAネットワーク全体といえる。
10.3.2. アンダーレイ
アンダーレイはオーバレイ機能を提供するための基盤物理ネットワークのこと。 これらはルータやスイッチ、ケーブルなどの物理的なネットワークによって構成され、以下の特徴がある。
- すべてがレイヤ3での接続となる(ルーテッドアクセス)
- ルーティングプロトコルにOSPFやIS-ISといったリンクステート型のプロトコルを使用する
- レイヤ2ループの考慮が不要になるため、STP/RSTPは使用しない
- これまでの2階層、3階層モデルの役割分担がなくなり、ディストリビューション層が担当していたデフォルトゲートウェイ機能はPCが接続するエッジノードが担当する
また、各スイッチの役割は以下3つに分類される。
分類 | 説明 |
---|---|
ファブリックエッジノード | エンドポイントとなるデバイスに接続する機器、アクセス層のスイッチにあたる |
ファブリックボーダノード | WANルータなどと接続する機器 |
ファブリックコントロールノード | LISP MAP Serverとして機能する機器 |
アンダーレイの構築には、既存のネットワークに段階的に適用する手法(ブラウンフィールド)と、既存のものとは別個に構築して段階的に移行する手法(グリーンフィールド)がある。
10.3.3. オーバレイ
アンダーレイは通信経路などは意識せず、実際に通信を行うエンドポイント間が直接接続しているように振る舞う仮想的な論理ネットワークのこと。
内部的にはエンドポイントからパケットを受け取ったSDAエッジノード間に仮想的な接続(トンネル)を構築し、エッジノード間が直結されているように動作する。
オーバレイは以下の特徴がある。
- トンネル構築にVXLANを使用する
- トンネルの相手側アドレスの解決にLISPを使用する
VXLAN
物理的に異なるL3ネットワーク上に論理的なL2ネットワークを構築する技術。 具体的にはレイヤ2フレームやレイヤ3パケットをUDPパケットにカプセル化を行う。
VXLANの使用により物理的なL3ネットワークをまたいだ同一ネットワークが構築可能とまる。
LISP
LISP(Locator Identity Separation Protocol)はIPアドレスのIDとロケータ機能を分けてルーティングを行うトンネリングプロトコル。 これにより各エッジノードは全エッジノードのアドレス/ネクストホップを知らずに通信可能。
LISPではEID(エンドポイント端末のIPアドレス)とRLOC(LISP有効のルータのIPアドレス)と言う値を用いて通信を行う。
10.4. Cisco DNA/Cisco DNA Center
10.4.1. Cisco DNA
CISCO DNA(Digital Network Architecture)はCiscoが提唱するインテントベースネットワークを企業ネットワークに適用するためのアーキテクチャ。
インテントベースネットワークでは、ネットワーク機器ごとの個別の設定コマンドや設定値を意識する必要はなく、管理者の目的に沿って自動的に設定変更が行われる。
10.4.2. Cisco DNA Center
Cisco DNA CenterはCisco DNA製品やソリューションを一元管理する装置。
GUIで操作可能で、各ネットワーク機器のステータスやネットワーク上の問題点などを可視化して一元的に管理できるSDNコントローラとして動作する。
デバイスを物理的な場所単位(ビルやフロア)で管理するためのグループであるサイトを作成し、サイトごとにネットワークの設定やネットワーク機器等を紐づけてネットワークの管理を行う。 各ネットワーク機器にはサイトにあった適切な設定を自動投入可能で、様々なツールを用いて自動化を行うこともできる。 具体的にはデバイスの設定や運用監視のほか、セキュリティ対策機能も提供している。
Cisco DNA Centerの利点は以下の通り。
- GUIによる一元管理が可能
- ネットワーク機器のプラグアンドプレイが行われる
- ネットワーク全体のスムーズな監視が可能
- Easy QoSの機能(QoS設定をGUIで簡単にポリシとして設定可能)
- Cisco AIによるエンドポイント分析機能の提供
また、Cisco DNA CenterにはマルチベンダSDKが提供されているため、マルチベンダ環境においても、マルチベンダSDKを使って非Cisco機器の情報を登録することでCisco DNA Centerから非Cisco機器を制御できるようにできる。
Cisco DNA Centerの機能
- ネットワークのモニタリング(アシュアランス)機能
- CLIテンプレート作成機能(テンプレートエディタ)
- インベントリ機能(IPアドレスやMACアドレスなどネットワーク内のデバイスの情報の保持)
Cisco DNA Centerの特徴
CISCO DNA Centerの特徴は以下の通り。
- ソフトウェアとしてではなく機器一体
- SDNコントローラとして動作
- NorthBound APIはREST APIを使用
- Southbound APIはTELNET, SSH, SNMP, NETCONF/RESTCONFを使用
スケーラブルグループ
スケーラブルグループは、SD-Accessファブリックにおけるセキュリティポリシー適用のコンポーネント。
ユーザや宛先ネットワークをグループとして定義し、どのネットワーク機器に設定するか、どのような設定をするかということは一切考えず「どのグループからどのグループへの通信は許可する」というポリシーを指定するだけで必要な設定はすべてCisco DNA CenterからSD-Accessファブリックに反映される。
ACLとの違いは以下手順でセキュリティポリシを適用可能。
- Cisco DNA Centerでエンドポイントやユーザを「グループ(Scalable Groups)」に割り当て
- 各グループ間の通信を「許可/拒否」設定する
10.5. Cisco PI
Cisco PI(Cisco Prime Infrastructure)とは、Ciscoが提供するネットワーク管理ツール。 管理対象となる全てのデバイスを一つの画面から設定、管理することが可能。
機能としてはネットワークの可視化機能も持ち、デバイスの動作状況やネットワークトラフィックの状況、無線LANの電波状況など、様々な情報をダッシュボード上で視覚的に確認することを可能。
Cisco DNA Centerと比べて高度な自動化機能を多くない。 例えば、ソフトウェアの自動アップデートや、ポリシーベースの機器設定、障害の自動検知と分析、対応策の機能がDNAよりも弱い。
従来型のネットワークではCisco PIによる一元管理が幅広く使用されていたが、SDN対応が求められる現代のネットワークではCisco DNA Centerが多く使用されている。
11 - 11.CiscoのワイヤレスLAN設定
11.1. CiscoワイヤレスLANの前提知識
11.1.1. AP/ワイヤレスLANコントローラへの接続
CiscoのワイヤレスLANソリューションにおける無線LAN設計には分散管理型と集中管理型の2種類がある。
- 分散管理型 … アクセスポイントと無線LANクライアントから構成
- 集中管理型 … アクセスポイント、無線LANクライアント、無線LANスイッチで構成
11.1.2. WLCへのログイン
WLC(ワイヤレスLANコントローラ)にはCUIログイン以外にもHTTP/HTTPSを用いたGUIアクセスも可能。
11.1.2. CiscoワイヤレスLANコントローラのポート概念
物理ポートの役割
種類 | 説明 |
---|---|
ディストリビューションシステムポート | WLCを有線LANに接続するポート、通常はIEEE802.1Qトランクリンクでスイッチと接続する。LAG接続も可能 |
サービスポート | WLCへ管理アクセスするためのポート |
コンソールポート | WLCにコンソール接続するためのポート。アウトオブバンド管理に使用される |
冗長ポート | WLCの冗長化のためのポート |
論理ポートの役割
種類 | 説明 |
---|---|
Dynamicインターフェイス | SSID/VLANの紐づけを行うポート、SSIDに紐づいたVLANデータの送受信を行う |
Virtualインターフェイス | モビリティ機能を提供するための仮想ポート |
Serviveインターフェイス | サービスポートと紐づくインターフェイス、アウトオブバンド管理に使用される |
Managementインターフェイス | WLCの管理用ポート、WLC通信制御に使用される。インバウンド管理に使用される |
11.2. ワイヤレスLANコントローラの設定
11.2.1. Monitorメニュー
ポートやプロトコルの大まかな情報を把握可能。
またWLCは未知のAP(不正AP)を検出したとき、そのAPを事前に設定したルールに基づき、以下のいずれかのタイプに分類し、その結果はMonitorタブで閲覧可能。
なお以下種類ごとに表示される。
分類 | 説明 |
---|---|
Friendly | 友好的(脅威的ではない) |
Malicious | 悪意のあるAP |
Custom | 管理者が新たに作成した分類 |
Unclassified | 未分類 |
11.2.2. WLANsメニュー
WLANsメニューでは以下のことが可能。
- SSIDの作成
- WLANセキュリティ規格の設定
- Web認証設定
- AAAのRadiusなどの認証サーバ設定
- QoSの設定
Generalタブ
SSID名変更/作成したWLANの有効無効化などを行える。
Securityタブ
- Layer 2タブ … WLCのセキュリティ規格設定(WPA+WPA2など)や事前共有鍵認証方式の設定(PSKなど)、MACフィルタリングの有効化、PSK Format(ASCII,Hsx)、PMF有効化など
- Layer 3タブ … Web認証の有効化/無効化(Webブラウザでのユーザ認証)
- AAA Serverタブ … Radiusサーバなどの認証サーバの指定
- Advancedタブ … DHCP、AAAオーバライドなどの設定
なお「AAA Serverタブ」のQoSのレベルは以下のようなものを設定できる。
QoS Level | 説明 |
---|---|
Plutinum | Voice over Wireless LAN用サービスの提供 |
Gold | 高品質ビデオアプリケーション用サービス提供 |
Silver | クライアント用の通常帯域幅を提供 |
Bronze | ゲストサービス用の最小帯域幅の提供 |
PMF: 管理フレームのセキュリティを強化するための機能(Comebackタイマー、SAクエリタイムアウトの設定が必要 )
11.2.3. Controllerメニュー
Controllerメニューでは以下のことが可能。
- Dynamicインターフェイスの作成
- WLANの作成
- LAG(EthernetChannel)の設定
- Fast SSID Changeの有効化
Fast SSID Change: SSIDに接続しているWLANクライアントが別のSSIDへ接続しようとした際に、SSIDを素早く切り替える機能
11.2.4. Wirelessメニュー
Wirelessメニューでは以下のことが可能。
- APモードの変更
APモード
モード | 説明 |
---|---|
Local | LAPデフォルトのモード。無線LANクライアントを使ったデータの送受信/無線通信に1つのチャネルを使用し他チャネルを監視 |
FlexConnect | WAN経由でWLCと接続するときに使用するモード |
Monitor | 不正APの検出、IDS・RFID専用モードなどとして動作 |
Rogue Detector | 有線ネットワーク上に不正なAPやクライアントがいないか監視するモード |
Sniffer | 特定チャネルのすべてのトラフィックを収集し指定デバイスに送信するモード |
Bridge | APがブリッジとして動作するモード |
SE-Connect | スペクトルアナライザ専用モード |
11.2.5. Securityメニュー
Securityメニューでは以下のことが可能。
- Radiusサーバの登録
- ACLの作成と適用
11.3.6. Managementメニュー
Managementメニューでは以下のことが可能。
- HTTP/HTTPSによるWLCへのアクセスを許可/拒否
11.3. CiscoのワイヤレスLANに関するサービス/製品
Cisco Meraki
Cisco Merakiは自律型アクセスポイント(AP)を始めとしたネットワーク機器の設定やネットワークの管理をクラウド上で行うシステムのこと。
Merakiに対応したアクセスポイントであれば、コンソールケーブルを接続してCLIで設定を行う必要がなく、APをLANケーブル(インターネット)に接続するだけで導入できる。 細かい設定や管理については、インターネット経由でMerakiのクラウドにアクセスすることで、GUIで操作できる。