ACLの適用種別
interface:ip access-group
interface(ipv6):ipv6 traffic-filter _name [in/out]
class-map:access-group
vty:access-class
route-map:ip address
経路集約
| プロトコル | 集約場所 | コマンド |
|---|---|---|
| OSPF ABR | エリア間 | area range |
| OSPF ASBR | 再配送時 | summary-address |
| EIGRP | 任意IF | ip summary-address eigrp |
| BGP | BGPプロセス | aggregate-address |
EIGRPのコスト計算方法
EIGRPのメトリック = 256 ×( 帯域幅 + 遅延 )
帯域幅 = 10,000,000 ÷ 経路上の最小帯域幅(Kbps)
遅延 = 経路上の遅延合計(μ秒) ÷ 10
1.目的地までの中で最小帯域幅をピックアップする
2.1の帯域幅をkbpsに変換する
3.10^7 ÷ “手順2で算出した数値” を計算する(単位はkbpsのまま)
4.目的地までの遅延の合計を算出する
5.4で算出した値 ÷ 10 を計算する
6.(3と5で算出した値を加算した値) × 256 を算出する
7.各径路の6の値を比較して適切な経路がテーブルに反映される
| 用語 | 意味 |
|---|---|
| FD(Feasible Distance) | R1から宛先までの自分が計算したトータルコスト |
| AD(Advertised Distance) | 隣接ルーターが「自分から宛先までのコスト」として広告してきた値 |
| サクセサー | FDが最小のルート=メインルート |
| フィージブルサクセサー | バックアップルートになれる候補 |
そのルートのAD < 現在のサクセサーのFDならばフィージブルサクセサーだよねってこと。
variance 2とかをする場合は
フィージブル条件を満たしている
&(かつ)
フィージブルサクセサーのFD ≦ サクセサーのFD × variance ならばルーティングに登録
サブネットマスクの計算
やり方は以下の3ステップです。「203.0.113.17 /28」を例にします。
(サブネット算出
→ 256-サブネット=きざみ幅
→IP÷きざみ幅=xあまりy
→IP-あまり
- マスクの末尾を256から引いて「きざみ幅」を出す
- マスクは
255.255.255.240です。 - 256 – 240 = 16 (16個きざみだと分かります)
- マスクは
- IPの末尾を「きざみ幅」で割って「余り」を出す
- 今回のIPは
.17です。 - 17 ÷ 16 = 1 あまり 1
- 今回のIPは
- 元のIPから「余り」を引く ➔ これがネットワークアドレス!
- 17 – 1 = 16
ワイルドカードマスクの算出
ワイルドカードマスクを求めるときは、「調べたい範囲の終わりのIP」から「始まりのIP」を引き算すると、一発で答えが出ます。
今回のターゲットである「クラスBのプライベートIP」の範囲を並べて、引き算してみましょう。
- 終わりのIP:
172 . 31 . 255 . 255 - 始まりのIP:
172 . 16 . 0 . 0 - 引き算の答え:
0 . 15 . 255 . 255
第2オクテット(2番目の区切り)を見ると、「31 – 16 = 15」 になっていますよね。 これが、コマンドで 0.15.255.255 を使う一番簡単な理由です。
YANGとXMLとJSONとか
| 名前 | 役割 |
|---|---|
| YANG | 設計図 ・インタフェースにはIPアドレスという項目がある ・BGPにはAS番号という項目がある という構造・ルールを定義する |
| NETCONF/RESTCONF | データの送信方法 |
| XML/JSON | データの書き方 (YANGで定義された必要な項目をどのように書くか) pythonやjavaなどはプログラミング言語。 送信側と受信側で常に同一言語が使われているわけではない。そういったときのデータの受け渡しには決まりが必要。そのデータ受け渡しの標準がXMLやJSONである。あくまでもデータの受け渡しを担当。 *命令処理などを送ったりするわけではない |
<interface>
<name>GigabitEthernet0/0</name>
<ip>192.168.1.1</ip>
</interface>{
"interface": {
"name": "GigabitEthernet0/0",
"ip": "192.168.1.1"
}
}NETCONFとRESTCONF
| 比較項目 | NETCONF (Network Configuration Protocol) | RESTCONF (RESTful Configuration Protocol) |
| トランスポート層 | SSH (標準ポート: TCP 830) ※TLSなども可 | HTTP / HTTPS (標準的なWebポート) |
| データフォーマット | XML のみ | XML および JSON の両方に対応 |
| 操作・通信方式 | リモートプロシージャコール (RPC) (例: <rpc>, <rpc-reply>) | HTTP メソッド ( GET, POST, PUT, PATCH, DELETE) |
| セッション管理 | ステートフル(接続を維持してセッション管理) | ステートレス(HTTPの仕組みに準拠) |
| 主な特徴・メリット | 厳密なトランザクション制御や、複数機器への一括設定・ロールバック機能に優れる | Web技術との親和性が高く、軽量なスクリプトやAPI連携が容易 |
| 主なユースケース | ネットワーク機器の高度な構成管理、信頼性重視のオーケストレーション | クラウド管理ツールとの連携、Webダッシュボードからの操作、簡易的な自動化 |
Pythonのライブラリ
| 関数 | 変換前 | 変換後 |
|---|---|---|
| json.dumps | データ | JSON文字列 |
| json.loads | JSON文字列 | 辞書 |
| json.dump | データ | Jsonに変換しファイルに書き込む |
| json.load | ファイル | 辞書型で読み込む |
構成管理ツール
| 特徴 | Ansible | Puppet | Chef | SaltStack |
| PUSH/PULL | PUSH型 | PULL型 | PULL型 | PUSH型、PULL型 (両方の動作が可能) |
| 使用するプロトコル | SSH、NETCONFなど | HTTP | HTTP | SSH、ZeroMQなど |
| 定義ファイルの名称 | プレイブック (Playbook) | マニフェスト (Manifest) | レシピ (Recipe)、クックブック (Cookbook) | ステート (State) |
| 定義ファイルの記述形式 | YAML形式 | 独自形式 | Ruby言語 | YAML形式、独自形式 |
| サーバ側の待受ポート | なし | 8140/tcp | 10002/tcp | 4505/tcp、4506/tcp |
| エージェントの要否 | 不要 (エージェントレス) | 必要 (外部エージェントも利用可能) | 必要 | 必要 (Salt SSHではエージェントなしでも動作可能) |
| コードの記法 | 手続き型 | 宣言型 | 手続き型 | 手続き型、宣言型 |
| 開発言語 | Python | Ruby | Ruby | Python |
AD値(アドミニストレイティブディスタンス)
| ルーティングプロトコル / ルート種別 | AD値(デフォルト) | 備考 |
| Directly Connected(直結) | 0 | インターフェイスが直接繋がっている状態 |
| Static Route(スタティック) | 1 | 手動で設定する静的ルート |
| EIGRP(Summary / サマリー) | 5 | EIGRPの経路集約ルート |
| External BGP (eBGP / 外部) | 20 | 異なるAS(外部)から学習するBGPルート |
| EIGRP(Internal / 内部) | 90 | 同じAS内で学習するEIGRPルート |
| IGRP | 100 | (レガシープロトコル・現在はほぼ不使用) |
| OSPF | 110 | 広く使われるリンクステート型ルーティングプロトコル |
| IS-IS | 115 | 大規模ネットワーク向けプロトコル |
| RIP | 120 | ホップ数ベースのディスタンスベクタ型プロトコル |
| EIGRP(External / 外部) | 170 | 他のプロトコルからEIGRPに再配送されたルート |
| Internal BGP (iBGP / 内部) | 200 | 同じAS内で学習するBGPルート |
| Unknown / Unreachable(不明) | 255 | 信頼性なし(ルートとして採用しない) |
STPのコスト算出方法
| 帯域幅 | パスコスト(改訂版・推奨) | パスコスト(旧規格) |
| 10 Mbps | 100 | 100 |
| 100 Mbps | 19 | 10 |
| 1 Gbps | 4 | 1 |
| 10 Gbps | 2 | 1 |
STP関連のプロトコル
| プロトコル | STP | RSTP | MST | CST |
| 規格 | IEEE802.1D | IEEE802.1w | IEEE802.1s | IEEE802.1Q |
| Ciscoでの実装 | PVST+ | Rapid PVST+ | MST (Rapid PVST+で動作) | 無し |
| インスタンスの数 | VLANごとに1つ | VLANごとに1つ | 複数のVLANで1つ | 全体で1つ |
| インスタンスごとの負荷分散 | 可 | 可 | 可 | 不可 |
自動集約の考え方
| クラス | 第1オクテット | デフォルトマスク |
|---|---|---|
| A | 1~126 | /8 |
| B | 128~191 | /16 |
| C | 192~223 | /24 |
| D | 224~239 | マルチキャスト |
| E | 240~255 | 実験用 |
プレフィックスが増大した時のエントリ数が何個になるかの計算方法
増えた分のエントリ数=2(変更後のプレフィックス長-変更前のプレフックス長)
例1:/8 から /10 にした場合
2(10-8)=4
例2:22/ から /25 にした場合
2(25-22)=8
色々なプロトコルの認証コマンド
▼OSPF
#インタフェース単位のMD5認証
int g0/0
ip ospf authentication message-digest #MD5認証の有効化
ip ospf message-digest-key キーID md5 パスワード #キーIDとパスワードの設定
#インタフェース単位の平文認証
int g0/0
ip ospf authentication
ip ospf authentication-key パスワード
#エリア単位の認証
router ospf 1
area 0 authentication message-digest #エリアでMD5認証を有効化する
int g0/0
ip ospf message-digest-key キーID md5 パスワード
#キーチェインを使う場合
key chain キーチェイン名
key キー番号
key-string パスワード
cryptographic-algorithm hmac-sha-256
send-life 00:00:00 Jan 1 2026 23:59:59 Dec 31 2026
accept-lifetime 00:00:00 Jan 1 2026 23:59:59 Dec 31 2026
int g0/0
ip ospf authentication key-chain キーチェイン名▼BGP
#認証設定方法(シンプルバージョン)-------------------------------
router bgp AS番号
neighbor 192.0.2.2 password MySecretPassword123
#認証設定方法(キーチェーンを使うバージョン)-----------------------
key chain キーチェイン名
key キー番号
key-string パスワード
send-life 00:00:00 Jan 1 2026 23:59:59 Dec 31 2026
accept-lifetime 00:00:00 Jan 1 2026 23:59:59 Dec 31 2026
key キー番号
key-string パスワード
send-life 00:00:00 Jan 1 2026 23:59:59 Dec 31 2026
accept-lifetime 00:00:00 Jan 1 2026 23:59:59 Dec 31 2026
router bgp 65001
neighbor 192.0.2.2 password encrypted-key-chain キーチェイン名
#send-lif:このカギを送信時に使う期間
#accept-lifetime:このカギを受信時に使う期間▼EIGRP
#HMAC-SHA-256バージョン
key chain キーチェイン名
key 1
key-string MyEigrpPassword123
cryptographic-algorithm hmac-sha-256
int g0/0
ip authentication mode eigrp 100 hmac-sha-256 キーチェイン名
#MD5バージョン
key chain キーチェイン名
key 1
key-string MyEigrpPassword123
cryptographic-algorithm hmac-sha-256
int g0/0
ip authentication mode eigrp 100 md5
ip authentication key-chain eigrp 100 キーチェイン名画像の表の内容を、コピペしやすいマークダウン形式で書き起こしました。
StackWiseとStackWiseVitrualとVSSの違い
| 項目 | StackWise | StackWise Virtual | VSS (Virtual Switching System) |
| 最大接続台数 | 9台 | 2台 | 2台 |
| ポート数(1台あたり) | 2つ | 機種による(通常のアップリンク等を利用) | 機種によるが専用ポートあり |
| 使用ケーブル | 専用スタックケーブル | イーサネットケーブル / 光ケーブル (VSL) | VSL(専用線が基本) |
| 対象機種 | Catalyst 3750/3850/9300など | Catalyst 9300/9400/9500/9600など | Catalyst 6500/6800など |
スーパバイザエンジンの冗長動作モード
| 冗長動作モード | RPR(Route Processor Redundancy) | RPR+(Route Processor Redundancy Plus) | SSO(Stateful Switchover) |
| startup-configの同期 ブート変数の同期 コンフィグレジスタの同期 VLANデータベースの同期 | ○ | ○ | ○ |
| running-configの同期 | × | ○ | ○ |
| L2プロトコルンの同期 FIBテーブルの同期 | × | × | ○ |
| スイッチオーバー時間 | 2分以上 | 30秒以上 | 0〜3秒 |
EIGRPにおけるK値
| パラメータ | 意味(デフォルトのK値の重み) |
| Bandwidth(帯域幅) | K1 = 1(使用) |
| Load(負荷) | K2 = 0(デフォルトでは使用されない) |
| Delay(遅延) | K3 = 1(使用) |
| Reliability(信頼性) | K4 = 0(デフォルトでは使用されない) |
| MTU | K5 = 0(実はメトリック計算そのものには使われない) |
redistribute ospf 1 metric 10000 10 255 1 1500
#<帯域幅> <遅延> <信頼性> <負荷> <MTU>主要な DHCP オプション番号一覧
| オプション番号 | オプション名 | 説明・補足 |
| 3 | ルーター(デフォルトゲートウェイ)のIPアドレス | クライアントが同一サブネット外へ通信するためのデフォルトゲートウェイを指定します。 |
| 6 | DNSサーバーのIPアドレス | 名前解決を行うためのDNSサーバーのIPアドレスを指定します。 |
| 43 | ベンダー固有情報(Vendor Specific Information) | 【追加】 Ciscoなどの無線LAN環境において、Lightweight AP(LAP)へWLC(無線LANコントローラ)の管理IPアドレスを通知するために使用されます。 |
| 66 | 1つのTFTPサーバーのIPアドレス | IP電話機などのプロビジョニングやファームウェアのブートに使用するTFTPサーバーのIPアドレスを指定します。 |
| 82 | DHCPリレーエージェント情報(Relay Agent Information) | リレーエージェント(ルーターやL3スイッチ)がDHCPパケットに付加する中継情報です。 |
| 150 | 複数のTFTPサーバーのIPアドレス | 主にCisco IP電話機(CUCM環境など)向けに、複数のTFTPサーバーのIPアドレスリストを通知します。 |
ネットワーク設計で念頭に置く考え方
| 質問 | 回答 |
| 今後、どんな軸を持つべきか | ・可用性 ・拡張性 ・セキュリティ ・管理のしやすさ ・性能 ・コスト これら従来から確立された軸は、引き続き普遍的に重要。これに加えて、自動化・運用効率、電力・持続可能性といった観点の重みが、AI時代において増している |
| どの軸を優先すべきか | 唯一の正解はなく、対象システムの目的・関係者の要求によって変わる。エンジニアに求められるのは、”固定の答えを持つこと”ではなく、”その都度、何を優先すべきかを見極める力 |
タイムスタンプの見方
*May 14 16:17:20: %LINK-5-CHANGED: Interface FastEthernet0/0, changed state to administratively down| 先頭記号 | システムクロックの同期状態 | 詳細・説明 |
* | 未同期 | システムクロックの同期が行われていない状態(日付と時刻が正確ではない状態) |
. | 同期ロスト(現在は未同期) | システムクロックの同期を行ったことはあるが、現在は同期できていない状態 |
| (なし) | 同期済み(正常) | システムクロックの同期が行われている状態(日付と時刻が信頼できる状態) |
ミラーリングの設定
▼SPAN
監視対象とモニターが同一のスイッチに接続されている場合
Switch# configure terminal
Switch(config)# monitor session 1 source interface gigabitEthernet1/0/1 both
Switch(config)# monitor session 1 destination interface gigabitEthernet1/0/10
Switch(config)# end▼RSPAN
監視対象とモニターが異なるスイッチに接続されている場合
SW1,2# configure terminal
SW1,2(config)# vlan 999
SW1,2(config-vlan)# remote-span
SW1,2(config-vlan)# end
SW1,2# configure terminal
SW1,2(config)# interface gigabitEthernet1/0/24
SW1,2(config-if)# switchport mode trunk
SW1,2(config-if)# switchport trunk allowed vlan add 999
SW1,2(config-if)# end
SW1# configure terminal
SW1(config)# monitor session 1 source interface gigabitEthernet1/0/1 both
SW1(config)# monitor session 1 destination remote vlan 999
SW1(config)# end
SW2# configure terminal
SW2(config)# monitor session 1 source remote vlan 999
SW2(config)# monitor session 1 destination interface gigabitEthernet1/0/10
SW2(config)# end▼ERSPAN
監視対象とモニターが異なるL3ネットワークに接続されている場合
SW1# configure terminal
SW1(config)# monitor session 1 type erspan-source
SW1(config-mon-erspan-src)# source interface gigabitEthernet1/0/1 both
SW1(config-mon-erspan-src)# destination
SW1(config-mon-erspan-src-dst)# erspan-id 10
SW1(config-mon-erspan-src-dst)# ip address 198.51.100.2
SW1(config-mon-erspan-src-dst)# origin ip address 192.0.2.1
SW1(config-mon-erspan-src-dst)# no shutdown
SW1(config-mon-erspan-src-dst)# end
SW2# configure terminal
SW2(config)# monitor session 1 type erspan-destination
SW2(config-mon-erspan-dst)# destination interface gigabitEthernet1/0/10
SW2(config-mon-erspan-dst)# source
SW2(config-mon-erspan-dst-src)# erspan-id 10
SW2(config-mon-erspan-dst-src)# ip address 192.0.2.1
SW2(config-mon-erspan-dst-src)# no shutdown
SW2(config-mon-erspan-dst-src)# endACLの番号範囲
| ACLの種類 | 通常範囲 | 拡張範囲 | 特徴・フィルタリング条件 |
| 標準ACL (Standard ACL) | 1 ~ 99 | 1300 ~ 1999 | ・送信元IPアドレスのみで判定する ・宛先に近い場所(出口付近)に適用するのが一般的 |
| 拡張ACL (Extended ACL) | 100 ~ 199 | 2000 ~ 2699 | ・送信元/宛先IPアドレス、プロトコル(TCP/UDP/ICMPなど)、ポート番号など詳細な条件を指定可能 ・送信元に近い場所(入口付近)に適用するのが一般的 |
| 名前付きACL (Named ACL) | なし(名前で管理) | なし(名前で管理) | ・数字の代わりに**任意の文字列(名前)**で管理する ・内部的には標準または拡張の性質を持ち、ルールの途中挿入や削除(行単位の編集)が簡単に行えるため実務でよく使われる |

