コンテンツへスキップ

概要

スイッチにACLを設定する前に、
パケットトレーサーで実施したACLの検証内容を記載する。

検証方法

環境

パケットトレーサーにて以下の検証環境を用意した。

・PC0 : 192.168.1.1
・PC1 : 192.168.1.3
・Switch0[vlan1]:192.168.1.5
・Router0[Giga 0/1]:192.168.1.254

以下はいずれもpingの反応が正常に返ってくる。
PC0→Router
PC1→Router

目的

Router0で、ACLを作成して、
[PC1 : 192.168.1.3]からのパケットを拒否したい

検証内容

・ Router0にログインし、コンフィギュレーションモードにて
 192.168.1.3を拒否するアクセスリスト1を作成する

Router(config)#access-list 1 deny host 192.168.1.3

・アクセスリストはデフォルトで全て拒否する性質があるため、
 すべてのパケットを許可する内容を追加する

Router(config)#access-list 1 permit any
Router(config)#exit

・アクセスリスト1の内容をコンフィグに反映されているか確認する

Router#show access-lists
Standard IP access list 1
        10 deny host 192.168.1.3
        20 permit any

・PC1のターミナルからRouterにpingが通ることを確認したあとに、コンフィグモードからインターフェイスモードに変更し、アクセスリスト1を設置する

Router(config)#int GIgabitEthernet 0/1
Router(config-if)#ip access-group 1 in


・特権モードで現在の設定からアクセスリストが反映されているか確認する

Router#show run
interface GigabitEthernet0/1
ip address 192.168.1.254 255.255.255.0
ip access-group 1 in

・再度PC1のターミナルからRouterにpingを飛ばし、通らないことを確認する

・PC0からRouterにpingが通ることを確認する

## 検証結果
PC0からRouterへのpingは通るが、PC1は、
アクセスリストによってpingが通らないようになった。

# 疑問

## アクセスリストの順番を変更するにはどうしたらいいか

・アクセスリストを確認

Router#sh access-lists
Standard IP access list 1
10 deny host 192.168.1.3
20 permit any
30 deny host 192.168.1.4

以下コマンドを入力しても何も変更されないことを確認

Router(config)#access-list 1 permit any

### シーケンスを指定して削除する

permit anyのシーケンスを30以下にしたいので、 20のシーケンスであるpermit anyを削除する

Router(config)#ip access-list standard 1
Router(config-std-nacl)#no 20
Router(config-std-nacl)#exit

再度アクセスリスト1を確認

Router#sh access-lists
Standard IP access list 1
10 deny host 192.168.1.3
30 deny host 192.168.1.4

上記にてシーケンス20が削除されていることを確認 ### コンフィグモードに入り、アクセスリスト1に再度 permit any を入力

Router(config)#access-list 1 permit any

再度、アクセスリスト1を確認する

Router#sh access-lists
Standard IP access list 1
10 deny host 192.168.1.3
30 deny host 192.168.1.4
40 permit any

permit any のシーケンスが20から40に変わった

DISTINCT
重複行を1行にまとめる

参考
https://www.sejuku.net/blog/54990

CONCAT
文字列を結合する

concat(列1, ' : ', 列2, ' ', 列3) |

結果
列1:列2 列3

参考
https://xtrend.nikkei.com/atcl/contents/18/00069/00039/

TRUNCATE
テーブルを再作成する
データを一つずつDELETEと違い、削除が高速。
ただしロールバックはできない。

参考
https://medium-company.com/sql-truncate/

order by
ソート機能

デフォルトは昇順(ASK)だから
降順の「DESC」を覚えておくとよい


order by 列 desc

参考
https://medium-company.com/sql-truncate/

UNION/UNION ALL
複数の検索結果をまとめる。

・UNION→重複したデータを統合する
・UNION ALL→重複したデータ全て表示

SELECT 列名 FROM 表名1
UNION ALL
SELECT 列名 FROM 表名2

NOT IN
対象の行を含めない

SELECT 列名 FROM 表名2

WHEREの後に NOT IN("A","B");
みたいな。

参考
https://www.sejuku.net/blog/73631

解決方法

管理者モードでコマンドプロンプトを開き、winsock をリセットすると解決します

1.コマンドプロンプトを右クリックで「管理者として実行」を選択

2.コマンドプロンプトで以下コマンドを入力する

PS C:\WINDOWS\system32> wsl.exe --shutdown
PS C:\WINDOWS\system32> wsl.exe
The attempted operation is not supported for the type of object referenced.
PS C:\WINDOWS\system32> netsh winsock reset

Sucessfully reset the Winsock Catalog.
You must restart the computer in order to complete the reset.

PS C:\WINDOWS\system32> wsl.exe

上記を入力後に、再度、usernameを記入すると解決します。

参考
https://oji-cloud.net/2021/04/20/post-6157/

【IPv4からIPv6の変更点】

・フィールドの簡素化
・40バイト固定長(基本ヘッダ)
・チェックサムの削除
・フローラベルの追加
・オプション機能は拡張ヘッダで対応
・ルータ(中継機器)でのフラグメント処理を禁止

フローラベル…効率的にアプリケーションフローを識別するためのフィールド
ネクストヘッダ…次のタイプのヘッダを定義する

Ipv6は一つのインターフェースに複数の種類(グローバルユニキャストアドレスやリンクローカルユニキャストアドレスなど)のIPv6アドレスを割り当てて使用できる
Ipv6アドレスが割り当てられるインターフェイス上には必ずリンクローカルアドレスが
割り当てられる

Ipv6のヘッダフォーマット

バージョントラフィッククラスフローラベル
ペイロード長ネクストヘッダホップリミット
送信元アドレス
送信先アドレス

【アドレス長】

IPv6アドレスは128ビットであり、16ビットずつ[:]で区切って
8個のフィールドに分けて16進数で表記する

【IPv6アドレスの省略表記】

・各フィールドの先頭は0の省略が可能
・0000は0に省略可能
・0のフィールドが連続する場合は[::]で表現可能
 一つのアドレスにつき一回だけ

【アドレス関連】

グローバルユニキャストアドレス

先頭3ビットが[001]の[2000::/3]で始まるアドレスで
IPv4ののグローバルアドレスに相当する。

リンクローカルユニキャストアドレス

先頭10ビットが1111111010[FE80::/10]で始まるアドレス。
物理的に接続されているローカルネットワーク内のみで有効なアドレス
ルータを超えて通信することができません。

ユニークローカルアドレス

IPv4のプライベートアドレスに相当するもの(FC00::/7)

EUI-64

IEEEによって標準化された64ビット超の識別子
MACアドレスを元にして一意なインターフェイスを生成
EUI‐64のインターフェイスはMACアドレスの上位3バイトと
下位3バイトの間に0xFFFEを挿入し、U/Lビットと呼ばれる
先頭から7番目のビットを反転する

マルチキャストアドレス

先頭ビットが[1111 1111 (FF00::/8)

その後、フラグ(4ビット)スコープ(4ビット)残り112ビットはグループIDとして使用される
フラグはマルチキャストのタイプを表す。
 4ビットのうち3ビットが将来のための予約されている領域であり、常に000であり
 末尾1ビットがタイプをしめす。
 永続的に割り当てられるアドレス:0
 一時的なアドレス:1

スコープはマルチキャストパケットの有効範囲を表す
 スコープが2
 →特定リンクでのみ有効なリンクローカルアドレス

Ipv6マルチキャストアドレスのグループはIpv4マルチキャストアドレスを元に以下のテーブルのようになっている

説明IPv4IPv6
同一リンク上の全ノード224.0.0.1FF02::1
同一リンク上の全ルータ224.0.0.2FF02::2
同一リンク上のOSPFルータ224.0.0.5FF02::5
同一リンク上のOSPF指定ルータ(DR/DBR)224.0.0.6FF02::6
同一リンク上のRIP(RIPng)ルータ224.0.0.9FF02::9
同一リンク上のEIGRPルータ224.0.0.10FF02::A

【ステートレスアドレス自動設定】

(SLAAC:Stateless Addless Autoconfiguration)
IPv6ホストが自動的にグローバルユニキャストアドレスを生成する方法
DHCPサーバーの必要がない

【DHCPv6】

DHCPサーバーによってIPv6ホストにIPアドレスやDNSなどのネットワーク設定情報を動的に割り当てる
管理者がホストアドレスの管理をしたいときに使われる
ステートフルアドレス設定とも呼ばれる

【ルーターからのアドレス配布】

ステートレスアドレス自動設定ともいう
ルーターはRA(タイプ134)でプレフィックスを通知する
ホストはRS(タイプ133)でプレフィックスを要求する
RAに含まれるプレフィックス長は64ビット
RAの宛先はマルチキャストアドレス(FF02::1)

【RIPng】

RIPng(RIP next generation)はディスタンスベクタールーティングであり
RIPv2を受け継いでいるらしい

コマンド周り

インターフェイスの確認
#show ipv6 interface

【IPv6のスタティックルートの設定】

(config)#ipv6 route <ipv6-address>/<prefix-length> {<nexthop> | <interface> } [distance]

(config)#ipv6 route 2000::1/128 2013::1/126 10

【ipv6へ移行する理由】

パケット転送処理の高速化(ヘッダ変更、チェックサム廃止)
ブロードキャストの廃止
アドレス自動設定機能(フラグアンドプレイ)
セキュリティ強化(Ipsecの標準実装)

【デュアルスタック】

1台の機器にIPv4とIPv6の両方のアドレスを設定し、IPv4ネットワークと
IPv6ネットワーク間で相互に通信する移行技術

【トンネリング】

IPv6ネットワーク同士をIPv4ネットワーク経由で、もしくはIPv4ネットワークを
IPv6経由で通信させる技術

【NAT-PT】

IPv4ホストとIPv6ホスト間で通信するために、トランスレータでIPv4パケットと
IPv6パケットを相互に変換する移行技術

標準アクセスリスト

アクセスリストはトラフィックを条件によって分類することができる
特定のパケットフローを特定し制御することができる条件リスト

パケットを識別する際に送信元アクセスからのパケットをチェックする
設定は送信元アドレスとワイルドカードでできる。省略も可能

そもそもパケットにはIP、TCP,UDPヘッダがある。

レイヤ3送信元IPアドレス、宛先IPアドレス、プロトコル
レイヤ4送信元ポート、宛先ポート

標準アクセスリストでは、レイヤ3の送信元IPアドレスのみチェック
拡張アクセスリストでは、レイヤ3,4全ての項目がチェックできる。

番号付きACL

ACLには番号をつけて識別することが可能で標準/拡張ACLによって利用できる番号がわかれている

Ipv41~99 1300~1999
Ipv6100~199 2000~2699

ワイルドカードマスク

ワイルドカードマスクは直前に設定したIPアドレスに対して
「どの部分をチェックするか」を決めるもの。

ACLの条件文でIPアドレスを指定する場合はワイルドカードを使用する
ワイルドカードは32ビットの値で8ビットずつドットで区切って10進数で表す。
0はチェックして、1は無視する

全ビットをチェック0.0.0.0
全ビットを無視255.255.255.255

なお、特定のホストアドレスを指定したい場合、host
全てのアドレスを指定する場合、any でも代用可能


アクセスリスト[1]で192.168.0.1/24からのパケットを許可した場合

(config)access-list 1 permit 192.168.0.1 0.0.0.255

ACLをインターフェイスへ適用する

ACLをインターフェイスへ適用する

ACLを適用したいコンフィグインターフェイスモードに移動して

(config-if)#ip access-group <acl-number> {in | out}

特定の送信元IPアドレスのみ対象のインターフェースの
から転送できないようにする

例 192.168.0.0/24からきたパケットをserial 0/0から転送させない

(config)#access-list <acl-number> deny 192.168.0.0 0.0.0.255
(config)#access-list <acl-number> permit 0.0.0.0 255.255.255.255
(config)#interface serial 0/0
(config-if)#ip access-group <acl-number> out 

permitとdenyの順番

denyをどの順番を置いたとしても
permitがdenyより先にマッチしてしまうとそこで条件が終了して
denyを無視してパケットが通過してしまう。

なので、条件が細かいものほど先に記述する。


deny
deny
permit ここで 通過する。

permit 1ホストのみ
permit 1ホストのみ
deny 上記の合計2ホストにマッチしなかったら拒否
permit any aclには暗黙のdenyがあるため残り全て許可を置く

番号付き拡張アクセスリストの条件順番

プロトコル 送信元IPアドレス 送信元ポート 宛先IPアドレス
宛先ポート

プロトコルを決めた後に 送信元のIP、ポート 宛先IP、ポートと
覚えたらよい

(config)#access-list <acl-number> {permit | deny} <protocol> <sr> <wrc> <port>
 <sr> <wrc><port> 

例 192.168.100.64/24からのサーバ172.16.24.100のSSH接続のみ拒否する場合
(config)#access-list 100 deny tcp 192.168.100.64 0.0.0.255 host 172.16.24.100 eq 22
(config)#access-list 100 permit ip any any
(config)line vty 0 4 (ルータのリモートアクセス用の仮想ポートに移動)
(config-line)#access-class 100 in (access-classに変わるから要注意)

拡張ACLのコンフィグレーションモードに移動して設定する

シーケンス番号は低い数値から優先される

(config)#ip access-list extended TEST
(config-ext-nacl)#5 permit ip ~~~

(config)#show access-lists
5 permit ip ~~~
10 deny ~~~
20 deny ~~~

ACLの確認コマンド

#show access-lists  全てのIPリストを表示
#show ip access-lists <acl-numbers> 特定のACLのみ
#show ip access-lists すべてのIPv4のACLを表示

ACL

  • ホスト10.1.1.1からパケットのみ拒否するACL1を作成
    (config)#access-list 1deny 10.1.1.1(または host 10.1.1.1)
    (config)#access-list 1 permit any
    (または、0.0.0.0 255.255.255.255)
  • 10.1.1.0/24からのパケットのみ許可するACL2を作成
    (config)#access-list 2 permit 10.1.1.0 0.0.0.255
  • ホスト10.1.1.1からのパケットのみを拒否し、マッチするパケットがあればログを作成しコンソールメッセージに送信するACL3を作成
    (config)#access-list 3 deny host 10.1.1.1 log
    (config)#access-list 3 permit 0.0.0.0 255.255.255.255
  • 10.1.1.10/24に対してHTTPセッションを許可するACL100を作成
    (config)#access-list 100 permit tcp any 10.1.1.0 0.0.0.255 eq 80(or eq www)
  • ネットワーク10.1.1.0/24のホストからサーバ172.16.1.1へTelnetアクセスを拒否するACL102を作成
    (config)#access-list 102 deny tcp 10.1.1.0 0.0.0.255 host 172.16.1.1 eq 23(or eq telnet)
    (config)#access-list 102 permit ip any any
  • ネットワーク10.1.1.0/24からのホストからのpingトラフィックを許可するACL103を作成
    (config)#access-list 103 permit icmp 10.1.1.0 0.0.0.255 any echo
  • TCPセッションを開始できるのは内部ネットワークからのみに制限するためのACL104を作成
    (config)#access-list 104 permit tcp any any established
  • パケット着信時にACLのフィルタリングテストを実行
    (config-if)#ip access-group 1 in
  • パケット送信時にACLのフィルタリングテストを実行
    (config-if)#ip access-group 1 out
  • 10.1.1.0/24からのパケットのみを拒否するACL[Filter]を作成し、Serial0/0インターフェイスから送出時にフィルタリングテストを実行
    (config)#ip access-list standard Filter
    (config-std-nacl)#deny 10.1.1.0 0.0.0.255
    (config-std-nacl)#permit any
    (config-std-nacl)#interface serial0/0
    (config-if)#ip access-group Filter out
  • 営業部(10.1.1.0/24)から技術部(10.2.2.0/24)へのSMTPのみを拒否するACL[SMTP-Filter]を作成し、fa0/0インターフェイスの着信時にフィルタリングテストを実行
    (config)#ip access-list extended SMTP-Filter
    (config-ext-nacl)#deny tcp 10.1.1.0 0.0.0.255 10.2.2.0 0.0.0.255 eq 25
    (config-ext-nacl)#interface fa0/0
    (config-ext-nacl)#ip access-group SMTP-Filter in
  • ACL1に10.2.2.0/24からのパケットを許可するステートメント(シーケンス番号15)の追加
    (config)#ip access-list standard 1
    (config-std-nacl)#15 permit 10.2.2.0 0.0.0.255
  • すべてのACLを表示
    #show access-lists
  • ACL100のみを表示
    #show access-lists 100
  • ACLの適用と方向を確認
    #show ip interface
  • ACLのカウンタをクリア
    #clear access-list counters
  • ACL1を消去
    (config)#no access-list 1
  • インターフェイスに適用したアウトバウンドのACL100を解除
    (config-if)#no access-group 100 out

VTYアクセス制御

  • ルータに対するTelnetアクセスを10.1.1.1からのみ許可するVTYアクセス制御(ACL1)の設定
    (config)#access-list 1 permit 10.1.1.1(または、host 10.1.1.1)
    (config)#line vty 0 4
    (config-line)#access-class 1 in
  • ルータに対するTelnetユーザーが、192.168.1.0/24へTelnet接続するのを拒否するVTYアクセス(ACL2)の設定
    (config)#access-list 2 deny 192.168.1.0/2 0.0.0.255
    (config)#access-list 2 permit any
    (config)#line vty 0 4
    (config-line)#access-class 2 out

スタティックNAT

  • スタティックNAT変換の設定(内部ローカルアドレス:10.1.1.1,内部グローバルアドレス:1.1.1.1,内部NW:fa0/0,外部NW:s0/0)
    (config)#ip nat inside source static 10.1.1.1 1.1.1.1
    (config)#interface fa0/0
    (config-if)#ip nat inside
    (config-if)#interface s0/0
    (config-if)#ip nat outside

ダイナミックNAT

  • NATアドレスプールを作成(プール名:NAT,プール範囲1.1.1.1~1.1.1.10,マスク:255.255.255.0)
    (config)#ip nat pool NAT 1.1.1.1 1.1.1.10 netmask 255.255.255.0 (またはprefix-length 24)
  • プール「NAT」とACL1をマッピングし、ダイナミックNATを有効化
    (config)#ip nat inside source list 1 pool NAT
  • ダイナミックNAT変換の設定(プール名:NAT,プール範囲:1.1.1.1~1.1.1.7,マスク:255.255.255.248,返還対象となる送信元アドレス:10.1.1.0/24,ACL:1,内部NW:fa0/0,外部NW:S0/0)
    (config)#ip nat pool NAT 1.1.1.1 1.1.1.7 netmask 255.255.255.248
    (config)#access-list 1 permit 10.1.1.0 0.0.0.255
    (config)#ip nat inside source list 1 pool NAT
    (config)#interface fa0/0
    (config-if)#ip nat inside
    (config-if)#interface s0/0
    (config-if)#ip nat outside
  • 外部インターフェースを使用したPATの設定(変換対象: 10.1.1.0/24,ACL1,内部:fa0/0,外部:s0/0)
    (config)#access-list 1 permit 10.1.1.0 0.0.0.0.255
    (config)#ip nat inside source list 1 interface s0/0 overload
    (config)#interface fa0/0
    (config-if)#ip nat inside
    (config-if)#interface s0/0
    (config-if)#ip nat outside

NAT

  • TCPプロトコルをNATテーブルからタイムアウトしないように設定
    (config)#ip nat translation tcp-timeout never

NATの検証

  • NATテーブルの情報の表示
    #show ip nat translations
  • 内部、外部インターフェースを確認
    #show ip interface
  • アドレス変換の統計情報の表示
    #show ip nat statistics
  • NATに関するコマンド(NAT,ACL,プール,インターフェイス)の設定の確認
    #show running-config
  • すべてのダイナミック変換エントリをクリア
    #clear ip nat translation *
  • 内部トランスレーションを含むダイナミック変換エントリをクリア
    #clear ip nat translation inside
  • NATのデバッグを有効化
    #debug ip nat

HDLC

  • シリアルリンクのカプセル化タイプをHDLCに設定
    (config-if)#encapsulation hdlc

PPP

  • シリアルリンクのカプセル化タイプをPPPに設定
    (config-if)#encapsulation ppp
  • シリアルリンクのカプセル化PPPで、CHAP認証を有効化
    (config-if)#encapsulation ppp
    (config-if)#ppp authentication chap
  • CentralルータのSerial0/0インターフェイス(10.1.1.1/24)に対して、BranchルータとCHAP認証(パスワード:cisco)を実行してシリアル接続
    (config)#hostname Central
    (config)#username Branch password cisco
    (config)#interface s0/0
    (config-if)#ip address 10.1.1.1 255.255.255.0
    (config-if)#encapsulation ppp
    (config-if)#ppp authentication chap
    (config-if)#no shutdown
  • Serial0/0インターフェイスの情報(リンク状態,カプセル化タイプ、帯域幅など)の表示
    #show interface serial0/0
  • PPP CHAP認証の実行の様子の表示
    #debug ppp authentication

IPv6

  • IPv6トラフィックの転送を有効化
    (config)#ipv6 unicast-routing
  • ipv6アドレスの設定(プレフィクス:2001:410:0:1::/64,インターフェイスID:1)
    (config-if)#ipv6 address 2001:410:0:1::1/64
  • ipv6アドレスの設定(プレフィクス:2001:410:0:2::/64,インターフェイスID:1 EUI64を使用)
    (config-if)#ipv6 address 2001:410:0:2::/64 eui-64
  • インターフェイスのIPv6に関する情報の表示
    #show ipv6 interface
  • IPv6ルーティングテーブルの表示
    #show ipv6 route
  • RIPngの設定(タグ:1,動作させるインターフェイス:fa0/0とSerial0/0)
    (config)#interface fa0/0
    (config-if)#ipv6 rip 1 enable
    (config-if)#interface s0/0
    (config-if)#ipv6 rip 1 enable
  • RIPngプロセスに関する情報の表示
    #show ipv6 rip
  • Ipv6ルーティングプロトコルのステータス表示
    #show ipv6 protocols
  • 手動トンネルの設定(トンネルIF:0,IPv6アドレス:2001:410:a::1/64,送信元IP:192.168.1.1 宛先IP:192.168.1.2)
    (config)#interface tunnel 0
    (config-if)#ipv6 address 2001:410:1::1/64
    (config-if)#tunnel source 192.168.1.1
    (config-if)#tunnel destination 192.168.1.2
    (config-if)#tunnel mode ipv6ip

Catalystスイッチの基本設定・検証

  • MACアドレステーブル(CAMテーブル)の表示
    #show mac-address-table
  • MACアドレステーブルからの全ダイナミックアドレスの消去
    #clear mac address-table dynamic
  • スタティックMACアドレスの登録
    (config)#mac address-table static 0010.aaaa.aaaa vlan 1 interface fa0/3
  • IPアドレス(10.1.1.2/24)を設定し管理(管理VLAN:1)
    (config)#interface vlan 1
    (config-if)#ip address 10.1.1.2 255.255.255.0
    (config-if)#no shutdown
  • IPアドレスとステータスの表示
    #show interface vlan 1
  • デフォルトゲートウェイの設定
    (config)#ip default-gateway 10.1.1.1
  • デフォルトゲートウェイの表示
    #show running-config
  • スイッチポートの状態を要約表示
    #show interface status
  • スイッチポートを全二重に設定
    (config-if)#duplex full
  • スイッチポートを半二重に設定
    (config-if)#duplex half
  • スイッチポートの速度を10Mbpsに設定
    (config-if)#speed 10
  • スイッチポートの二重方式と速度の表示
    #show interfaces(#show interfaces status)
  • Catakystスイッチの初期化
    #erase startup-config
    #delete flash:vlan.dat
    #reload

ポートセキュリティスイッチ

  • ポートセキュリティの有効化
    (config-if)#switchport port-security
  • セキュアMACアドレスの最大数を1に設定
    (config-if)#switchport port-security maximum 1
  • セキュアポートでセキュリティ違反が発生した場合、ただちにポートをシャットダウンさせる
    (config-if)#switchport port-security violarion shutdown
  • セキュアポートでセキュリティ違反が発生した場合、違反フレームのみ破棄し、セキュリティ違反の発生を通知させる
    (config-if)switchport port-security violation restrict
  • ダイナミックに学習したMACアドレスを、スタティックセキュアMACアドレスとして実行しコンフィギュレーションに追加させる
    (config-if)#switchport port-security mac-address sticky
  • ポートセキュリティの設定の表示
    #show port-secrurity
  • セキュアポートステータスの表示
    #show port-security interface
  • セキュアMACアドレスの情報の表示
    #show port-security address

VLAN・VTP

  • スイッチポートをアクセスポートに設定
    (config-if)swithport mode access
  • スイッチポートをトランクポートに設定
    (config-if)switchport mode trunk
  • 対向リンクがauto,trunk,desirableのいずれかの場合、トランクポートになるための設定
    (config-if)switchport mode dynamic desirable
  • 対向リンクがtrunk.またはdesirableの場合、トランクポートになるための設定
    (config-if)#swithport mode dynamic auto
  • DTPネゴシエートフレームの送信を停止
    (config-if)#swithport nonegotiate
  • VLANを作成(VLAN-ID:2, 名前:test)
    (config)vlan 2
    (config-vlan)#name test
  • Catalyst 2900XLでVTPをクライアントモードに設定
    #vlan database
    (vlan)#mode client
  • ポートfa0/1をアクセスポートに設定し、VLAN2を割り当てる
    Switch(config)#interface fastethernet0/1
    Switch(config-if)#switchport mode access
    Switch(config-if)#switchport access vlan 2
  • トランキングプロトコルをIEEE 802.1Qに設定
    (config-if)#switchport trunk encapsulation dot1q
  • トランキングプロトコルをISLに設定
    (config-if)#switchport trunk encapsulation isl
  • トランクポートで許可するVLANの設定(1~10,15)
    (config-if)#switchport trunk allowed vlan 1-10,15
  • ネイティブVLANを99に設定
    (config-if)#switchport trunk native vlan 99
  • 全てのVLANを表示
    #show vlan
  • VLAN2のみの情報の表示
    #show vlan id 2
  • ポートfa0/1の設定と動作状況の表示
    #show interfaces fa0/1 switchport
  • トランクポート(fa0/12)に関する要約情報の表示
    #show interfaces fa0/12 trunk
  • トランクポートとVLANフレームタグ方式をリスト表示
    #show interfaces trunk
  • VTPドメイン名をTESTに設定
    (config)#vtp domain TEST
  • VTPモードをクライアントに設定
    (config)#vtp mode client
  • 作成したVLANを他のスイッチに通知しないVTPモードに設定
    (config)#vtp mode transparent
  • VTPパスワードをtestに設定
    (config)#vtp password test
  • VTPプルーニングの有効化
    (config)#vtp pruning
  • VLANデータベースモードでVTPドメイン名をCCNAに設定
    #vlan database
    (vlan)#vtp domain CCNA
  • VTPの設定の表示
    #show vtp status
  • VTPメッセージの統計情報の表示
    #show vtp counters
  • VTPのパスワード表示
    #show vtp password
  • フラッシュメモリからVLAN情報を消去
    #delete flash:vlan.dat

STP(スパニングツリープロトコル)

  • VLAN1をルートブリッジに設定(プライオリティ:4096)
    (config)#spanning-tree vlan 1 priority 4096
  • ダイナミックにVLAN1のルートブリッジに設定
    (config)#spannning-tree vlan 1 root primary
  • ダイナミックにVLAN2をセカンダリルートブリッジに設定
    (config)#spanning-tree vlan 2 root secondary
  • STPに関する情報(状態)の表示
    #show spanning-tree
  • Catalyst 3500シリーズでSTP情報の表示
    #show spantree
  • ルートブリッジの設定と状態の表示
    #show spanning-tree root
  • 特定のポートでのみのPortFastの設定
    (config-if)#spanning-tree root
  • 特定のポートでのみのPortFastの設定
    (config-if)spanning-tree portfast
  • すべてのアクセスポートのPortFastの設定
    (config)spanning-tree portfast default
  • UplinkFastの設定
    (config)#spnning-tree uplinkfast
  • BackboneFastの設定
    (config)#spanning-tree backbonefast
  • スパニングツリーの動作モードをPVRST+に設定
    (config)#spanning-tree mode rapid-pvst
  • Catalyst 2950スイッチでスパニングツリーの動作をリアルタイムに確認
    #debug spanning-tree

ルーティング基礎

  • IPルーティングの有効化
    Router(config)#ip routing
  • CiscoルータでIPルーティングを無効にし、ラストリゾートゲートウェイを10.1.1.1に設定
    (config)#no ip routing
    (config)#ip default-gateway 10.1.1.1
  • スタティックルートの設定(宛先NW:172.16.1.0/24 next-hop: 10.1.1.2)
    (config)#ip route 172.16.1.0 255.255.255.0 s0/0 10.1.1.12
  • RIPによるルート情報がない場合に使用するためのスタティックルートの設定
    (config)#ip route 172.16.1.0 255.255.255.0 s0/0 permanent
  • デフォルトルートの設定(Next-hop : 10.1.1.2)
    (config)#ip route 0.0.0.0 0.0.0.0 10.1.1.12
  • 宛先が不明なパケットの場合、デフォルトルートを使用してルーティングするように設定
    (config)#ip classless
  • インターフェースにゼロサブネットを設定可能にする
    (config)# subnet-zero
  • ルーティングテーブルの表示
    #show ip route

RIPv2

  • RIPv2の設定(動作させるインターフェース:10.1.1.1/24と172.16.1.1/24)
    (config)#router rip
    (config-router)#version 2
    (config-router)#network 10.0.0.0
    (config-router)#network 172.16.0.0
  • RIPv2の自動経路集約の無効化
    (config)#no auto-summary
  • RIPルータのFa0/0インターフェイスでのアップデート送信の抑制
    (config)#router rip
    (config-router)#passive-interface fa0/0
  • デフォルトルート(Next-hop:10.1.1.2)を設定し、RIPアップデートで配布
    (config)#ip route 0.0.0.0 0.0.0.0 10.1.1.1.2
    (config)#router rip
    (config-router)version 2
    (config-router)#default-infomation originate
  • キーチェーン(ABC)でRIPv2の認証を有効化
    (config-if)#ip rip authentication key-chain ABC
  • RIPv2の認証タイプをMD5に設定
    (config-ig)#ip rip authentication mode MD5
  • RIPv2ルータのFa0/0インターフェイスでRIPv1のアップデートを送受信
    (config)#interface fa0/0
    (config-if)#ip rip send version 1
    (config-if)#ip rip receive version 1
  • ルーティングプロトコルの情報の表示
    #show ip protocols
  • RIPのデバッグを有効化
    #debug ip rip
  • RIPv2の無効化
    #(config)#no router rip

OSPF

  • OSPFをシングルエリアで設定(プロセスID:1、動作させるインターフェイス:10.1.1.1/24と172.16.1.1/30)
    (config)#router ospf 1
    (config-router)#network 10.1.1.0 0.0.0.255 area 0
    (config-router)#network 172.16.1.1 0.0.0.3 area 0
  • ループバックインターフェイス0の設定(1.1.1.1/32)
    (config)#interface loopback 0
    (config-if)#ip address 1.1.1.1 255.255.255.255
  • ルータIDを明示的に設定
    (config-router)#router-id 1.1.1.1
  • OSPFプライオリティの設定(プライオリティ:5)
    (config-if)#ip ospf priority 5
  • 強制的にDROTHERに設定
    (config-if)#ip ospf priority 0
  • OSPFのコスト計算式を変更
    (config-router)#auto-cost referebce-bandwidth 1000
  • インターフェイスのコストを明示的に指定
    (config-if)#ip ospf cost 100
  • ロードバランシング(負荷分散の最大数を5に設定
    (config-router)#maximum-paths 5
  • OSPF認証タイプをMD5に設定
    (config-if)#ip ospf authentication message-digest
  • OSPF MD5認証のパスワードの設定(キーID:1,パスワード:cisco)
    (config-if)#ip ospf message-digest-key 1 md5 cisco
  • OSPFルーティングプロセスに関する情報の表示
    #show ip ospf
  • OSPFネイバーテーブルの表示
    #show ip ospf neighbor
  • インターフェイスごとのOSPFの表示
    #show ip ospf interface
  • リンクステートデータベース(LSDB)の表示
    #show ip ospf database
  • ルータが要求したすべてのLSAの表示
    #show ip ospf request-list
  • 内部ルータのルーティングテーブルにあるABRとASBRの表示
    #show ip ospf border-routers
  • OSPFルーティングプロセスをリセット
    #clear ip ospf process
  • OSPFパケットを送受信している様子を確認
    #debug ip ospf events
  • OSPF隣接関係のイベントDR/BDR選出情報など)の表示
    #debug ip ospf adj

EIGRP

  • EIGRPの設定(AS:1 動作させるインターフェイス:10.1.1.1/24と172.16.1.1/30)
    (config)#router eigrp 1
    (config-router)#network 10.0.0.0
    (config-router)#network 172.16.0.0
  • メトリックを最適化するため、Serial0/0インターフェイスの帯域幅を64kbpsに設定
    (config)interface serial0/0
    (config-if)#bandwidth 64
  • EIGRPの自動経路を無効化
    (config-router#no auto-summary
  • 最少メトリックより2倍の範囲内で不当コストロードバランシングを行う
    (config-router)#variance 2
  • EIGRP認証をSerial0/0インターフェイスに設定(R1-chain,id:1、キー:cisco,AS:1)
    (config)#key chain R1-chain
    (config-keychain)#key 1
    (config-keychain-key)#key-string cisco
    (config-keychain-key)#interface serial0/0
    (config-if)#ip authentication mode eigrp 1 md5
    (config-if)#ip auhentication key-chain eigrp 1 R1-chain
  • EIGRP認証で受信時に使用するライフタイムの設定(開始2022年6月30日7:00,終了:無制限)
    (config-keychain-key)#accept-lifetime 07:00:00 june 30 2022 infinite
  • クラスフルネットワーク10.0.0.0をデフォルトルートとして設定
    (config)#ip default-network 10.0.0.0
  • EIGRPネイバーテーブルの表示
    #show ip eigrp neighbors
  • EIGRPインターフェイスに関する情報の表示
    #show ip eigrp interface
  • EIGRPトポロジテーブルの表示
    #show ip eigrp topology
  • 送受信されたEIGRPパケットの数の表示
    #show ip eigrp traffic
  • EIGRPパケットの送受信の様子を確認
    #debug ip eigrp

IOS操作

  • 特権モードに入る
    >enable
  • グローバルコンフィギュレーションモードに入る
    #configure terminal
  • ユーザモードで使用可能なコマンドリストを確認
    >?
  • 最近入力したコマンドの履歴
    #show history

Ciscoルータの基本設定

  • ルータの名前をNに設定
    (config)#hostname N
  • インターフェイスモードに入る
    (config)#interface fa0/0
  • IPアドレスの設定
    (config-if)#ip address 10.1.1.1 255.255.255.0
  • インターフェイスの有効化
    (config-if)#no shutdown
  • インターフェイスを管理的に無効化
    (config-if)# shutdown
  • EXECモードに対するローカルパスワード(暗号化なし)をpassに設定
    (config)#enable password pass
  • EXECモードに対するローカルパスワード(暗号化あり)をpass2に設定
    (config)#enable secret pass2
  • コンソールパスワードをpassに設定
    (config)#line console 0
    (config-line)#password pass
    (config-line)#login
  • 仮想端末(telnet)でパスワードをpassに設定(同時接続4まで)
    (config)#line vty 0 3
    (config-line)#password pass
    (config-line)#login
  • コンフィグレーション上の全パスワードの暗号化
    (config)#service password-encryption
  • Serial0/0インターフェイスに対する説明文の設定
    (config)#interface serial0/0
    (config-if)#description description2222
  • Serial0/0インターフェイスの帯域幅を128kbpsに設定
    (config)#interface s0/0
    (config-if)#bandwidth 128
  • MoTDバナーの設定(区切り文字 #)
    (config)banner motd #
  • バックツーバックシリアル接続を行うためのDCE側の設定(64kbps)
    (config-if)#clock rate 64000
  • 入力中にメッセージが割り込んで表示されたときのコマンドの再表示
    (config-line)#logging synchronous
  • EXECセッションタイムアウト時間を10分10秒に設定
    (config-line)#exec-timeout 10 10
  • EXEXセッションタイムアウトを防ぐ(タイムアウトしない)
    (config-line)#exec-timeout 0 0 or no exec-timeout
  • DNSサーバのIPアドレスの設定
    (config)#ip name-server 10.1.1.100
  • ドメイン名の設定
    (config)#ip domain-name a.com
  • DNSへの名前解決の無効化
    (config)#no ip domain-lookup
  • Cisco IOSで名前解決をする(name 10.1.1.1)
    (config)#ip host name 10.1.1.1

Ciscoルータの検証

  • ホストの確認
    #show hosts
  • fa0/0インターフェイスの設定パラメータおよび統計情報の表示
    #show interfaces fa0/0
  • DHCPアドレスプールの表示
    #show dhcp pool
  • DHCPサーバの統計
    #show ip dhcp server statistics
  • インターフェイスのIPに関する情報の表示
    #show ip interface
  • 全インターフェイスの状態を要約で表示
    #show ip interface brief
  • 実行中のコンフィギュレーションの表示
    #show running-config
  • NVRAMのコンフィギュレーションの表示
    #show startup-config
  • シリアルコントローラのハードウェアに関する固有情報
    ケーブルの種類などの表示(DTE,DCEどちらかなのか確認する)
    "show controllers serial0/0

Ciscoルータの管理

  • IOSのバックアップコピーをTFTPサーバへ作成
    #copy flash: tftp:
  • RAMの実行コンフィギュレーションをフラッシュメモリに格納
    #copy running-config flash:
  • 実行コンフィギュレーションをNVRAMに保存
    #copy running-config startup-config
  • TFTPサーバからRAM上にコンフィギュレーションをダウンロード
    #copy tftp: running-config
  • TFTPサーバにバックアップ済みのIOSをルータへ格納
    #copy tftp: flash:
  • Cisco IOSソフトウェアを保存するためにメモリの容量を調べる
    #show version
    #show flash:
  • フラッシュメモリの内容を表示
    #show flash
  • 拡張pingの実行
    #ping
  • ARPテーブルの表示
    #show arp
  • 特定のARPテーブルの表示
    #show ip arp 10.1.1.1
  • ルータに関する情報の表示(実行中のIOS、メモリサイズ、搭載しているインターフェイスの種類と数の表示)
    #show version
  • ルータ(10.1.1.1)へのtelnetの実行
    #telnet 10.1.1.1
  • telnet接続の終了
    #exit
  • ルータに対する接続状態(ライン接続)の表示
    #show users
  • telnetセッションの中断
    [ctrl]+[shift]+[6]キーを押した後、[x]キー
  • 中断したTelnetセッションの表示
    #show sessions
  • 事前に使用していた中断中のTelenetセッションの再開
    #resume(または[Enter]キー押下)
  • 中断中のTelnetセッションの再開(セッション 2)
    #resume 2
  • 直前に使用していた中断中のTelnetのセッションの終了
    #disconnect
  • デバッグメッセージにタイムスタンプ(ミリ秒単位)を追加
    (config)#service timestamps debug datatime msec
  • デバッグを実行する前に現在のCPU使用率の表示
    #show process
  • 実行中のデバッグを表示
    #show debugging
  • VTYセッション(Telnet接続)上でのデバッグに関する出力の表示
    #terminal monitor
  • すべてのデバッグの停止
    #undebug all(# no debug all)
  • パケットが宛先につくまでの確認
    #traceroute
  • copy以外で現在の設定をNVRAMへ保存
    #write memory
  • ルータのコンフィギュレーションレジスタをデフォルトに戻す
    (config)#config-register 0x2102
  • パスワードリセットのためのコンフィギュレーションレジスタの変更
    (config)#config-register 0x2142
  • TFTPサーバ(10.1.1.100)にあるIOSソフトウェアを使用したルータの起動
    (config)boot system tftp ~~~
  • NVRAMのコンフィギュレーションの消去
    #erace startup-config
  • ルータの再起動
    #reload
  • ルータの初期化
    #erace startup-config
    #reload
  • SSHでのみリモートログインの許可
    (config)#line vty 0 4
    (config-line)#tranceport input ssh
  • SSHサーバに対する接続のステータスの表示
    # show ssh
  • SSHのバージョンとコンフィギュレーション情報の表示
    #show ip ssh
  • CDPのグローバルな情報の表示
    #show cdp
  • 直接接続されたCiscoデバイスの要約情報の表示
    #show cdp neighbors
  • 直接接続された全Ciscoデバイスの詳細情報の表示
    #show cdp neighbors detail
  • 直接接続された特性のCiscoデバイスの詳細情報
    #show cdp entry デバイスID
  • CDPパケットの詳細情報
    #show cdp traffic
  • インターフェイスおよびCDPタイマー情報の表示
    #show cdp interface
  • CDPをデバイス全体で無効化
    (config)#no cdp run
  • インターフェイスでCDPを無効化
    (config-if)#no cdp enable
  • CDPv2のアドバタイズを無効化
    (config)#no cdp advertiese-v2

アドレスクラス

【クラスA】

  • 第一オクテットの先頭1ビットが「0」に固定
  • 第一オクテット:00000001~01111110(1~126)

【クラスB】

  • 第一オクテットの先頭2ビットが「10」に固定
  • 第一オクテット:10000000~10111111(128~191)

【クラスC】

  • 第一オクテットの先頭3ビットが「110」に固定
  • 第一オクテット:11100000~11101111(224~239)

予約済みアドレス

  • ネットワークアドレス:ホスト部が全て「0」
  • ブロードキャストアドレス:ホスト部が全て「1」
  • ループバックアドレス:127.x.x.x

グローバルIPアドレス(パブリックアドレス)

ISPから割り当てられる一意のアドレス

クラス範囲
A1.0.0.0 ~ 9.255.255.255
11.0.0.0 ~ 126.255.255.255
B128.0.0.0 ~ 172.15.255.255
172.32.0.0 ~ 191.255.255.255
C192.0.0.0 ~ 192.167.255.255
192.169.0.0 ~ 223.255.255.255

プライベートIPアドレス

家庭や組織で利用するためのアドレス
アドレス範囲はRFC1918で定義

クラス範囲
A0.0.0.0 ~ 10.255.255.255
B172.16.0.0 ~ 172.31.255.255
C192.168.0.0 ~ 192.168.255.255

サブネットマスク

オクテット内でサブネット化したときのサブネットマスク

1286432168421
110000000128
211000000192
311100000224
411110000240
511111000248
611111100252
711111110254
811111111255

n進数のまとめ

10進数012345678910111213141516
2進数0110111001011101111000100110101011110011011110111110000
16進数0123456789ABCDEF10

4月に引っ越しをしたあとに友人とスマブラSPのオンラインでマッチングするとエラーが発生してしまい対戦できなくなってしまった。

前提として
・引っ越し前は、友人と遊べていた。
・過去現在共にプロバイダーは違うがIpv6+

エラー内容については、以下サイトがわかりやすい

ひとまずポートを開放をしようと考え、貸し出されているルータの管理画面にアクセスをしたが何度やってもできない。
ルーターを貸してもらっているサポートセンターに電話で問合せをしたところ、そもそもルーターの管理画面にアクセス権利が私にはないようだ。
言われてみれば当たり前か......

解決方法


・管理会社にIPv4用のIPアドレスを教えてもらい、任天堂switchの設定画面でIPを手動入力すると友人とスマブラでマッチングが可能となった。
┗ ただし、Ipv6+と比べて回線速度が断然に落ちるので遊ぶ時間を選ばないとラグや遅延が発生してしまう。

※参考
任天堂スイッチ IPアドレス固定とDNSを指定する方法
https://www.akakagemaru.info/port/switch-staticip.html

・IPv6+のままで遊ぶ方法としてポート開放をするとかあるみたいだけど、サポートセンターに電話したところ、もう既にUDPのポートが全開放されているらしい。調査依頼は出したけどやや詰んでる