LoginSignup
2
5

【Cisco】Catalyst設定

Last updated at Posted at 2023-02-28

Ciscoのスイッチ"Catalyst"の設定メモ。
確認はIOS17.3。ずらっと横に長いです。

よくいれる設定

service timestamps debug datetime msec localtime show-timezone  ### デバッグメッセージをミリ秒まで表示。機器本体のローカルタイムゾーンを時刻に反映
service timestamps log datetime msec localtime show-timezone    ### ログメッセージをミリ秒まで表示。機器本体のローカルタイムゾーンを時刻に反映
service password-encryption                                     ### コンフィグ上に表示されるパスワードを暗号化する
service compress-config                                         ### コンフィグをNVRAMに保存する時に圧縮する。起動が少し遅くなる。
!
hostname SW01
!
ip routing                                                      ### ルーティング有効
clock timezone JST 9 0                                          ### タイムゾーン設定
!
ip vrf VRFNAME                                                  ### VRF定義。"vrf definition"でも可。適用はIFコンフィグモードで"ip vrf forwarding VRFNAME"
 rd 3333:3333                                                   ### 識別子
!
no ip domain-lookup                                             ### 認識されていないコマンドを打った時に名前解決しない。※コマンドをミスると時間がかかる
enable secret PASSWORD                                          ### 特権モードへ移行する際のパスワード。secretで暗号化。"enable password"はNG。secretの後の番号を入れることで暗号化済のパスワードを指定できる。(0=デフォルト暗号化なし。5=MD5。8=PBKDF2※SHA-256を繰り返す。9=scrypt)
username NAME secret PASSWORD                                   ### リモート接続時のローカル認証用のユーザーとパスワード(passwordは弱いのでsecretを使う)。privilegeを指定せずに作成したユーザーでログインするとユーザEXECモードから始まり、実行出来るコマンドは1以下に設定されているコマンドになる。
ip domain name HOSTNAME.local                                   ### FQDN。SSH鍵交換に必要
no login on-success log                                         ### ログイン成功時のログ出力を無効化。※ウザいので
ipv6 unicast-routing                                            ### IPv6トラフィックの転送許可
vtp mode transparent                                            ### VLAN情報を共有するVTP機能を使用したくない場合。VTPを透過してスルーするモード。offでもいい
license boot level network-advantage                            ### ライセンスの種類を指定
license smart transport off                                     ### ライセンス認証をoffline方式にする ※最近onlineのサブスク形式を推奨してるらしい...
no spanning-tree vlan 1-4096                                    ### STPをVLANで無効
no cdp run                                                      ### CDP(Cisco社独自の接続機器の情報収集プロトコル)無効
!
logging buffered 512000                                         ### ログのバッファサイズ変更。単位はbyte
logging event link-status global                                ### ポートをsyslog監視
logging event trunk-status global                               ### trunkステータスをsyslog監視
logging host X.X.X.X vrf Mgmt-vrf                               ### ログ出力先のサーバ指定
logging snmp-trap emergencies                                   ### syslogサーバへトラップを送信。レベル0-7で指定できる↓
logging snmp-trap alerts
logging snmp-trap critical
logging snmp-trap errors
logging snmp-trap warnings
logging snmp-trap notifications
!

### ここらへんからVLAN,Po,IF,SVIの設定
vlan 100
 name XXXXX
vlan 200
 name YYYYY
 
interface Port-channel10                                      ###Po設定。物理IFの方で先に指定すると自動作成される。
 description XXXXX
 switchport mode trunk
 switchport trunk allowed vlan add 100

interface Vlan100
 vrf forwarding VRFNAME
 ip address 192.168.0.1 255.255.255.0
 no ip proxy-arp
 standby version 2
 standby 1 ip 192.168.0.3
 standby 1 timers 1 3
 standby 1 priority 120                                        ###二号機は90
 standby 1 preempt delay minimum 30 reload 60                  ###プリエンプト

interface vlan200
 ip address 192.168.1.1 255.255.255.0
 vrrp 2 ip 192.168.1.3                                         ###VRRPはデフォルトでpreempt有効
 vrrp 2 priority 200                                           ###二号機は100

interface Ethernet1/1
 description XXXXX
 switchport mode trunk
 switchport trunk allowed vlan add 100                         ###Po設定が反映される
 lacp rate fast                                                ###LACPDUの送信間隔を1秒に1フレームにする
 channel-group 10 mode active                                  ###Po指定
!
ip access-list standard 80                                      ### 80番の標準ACL。"access-list 80 permit host X.X.X.X"のようにそのまま定義してもOK
 10 permit 172.2.1.5                                            ### MGMTポートは標準ACLでソースアドレスのみ指定。(ワイルドカードマスク0.0.0.0が省略されており、ホスト指定)
 20 deny   any                                                  ### 2行目以降は「10」間隔で付加されていく
ip access-list 90 permit 172.22.20.3                            ### routemapの合致用ACL
!
route-map ROUTEMAP_NAME permit 5                              ### ルートマップ定義。5はseq番号
 match ip address 90                                             ### ACL90番に合致したら(PBRの制御の為に使用)
 set metric 100                                                 ### MED値を100にセットする
!
snmp-server community NAME RO XX                                ### SNMPサーバーがMIBを参照(RO)、又はMIBへの書き込み(RW)を行う際のコミュニティ名を設定
snmp-server host x.x.x.x vrf Mgmt-vrf version 2c COMMUNITY      ### SNMPサーバへtrapをpushする。VRF,SNMPバージョン,コミュニティ名を指定
snmp-server enable traps                                        ### トラップ通知指定。trapsを指定しない場合、全trapsがenableになる
!
port-channel load-balance src-dst-mac                           ### 負荷分散方法。宛先と送信元MACアドレスの組み合わせ
no ip http server                                               ### HTTPサーバ無効 ※GUI使わんだろ
no ip http authentication local                                 ### ローカル認証無効
no ip http secure-server                                        ### HTTPSサーバ無効
no ip http client source-interface GigabitEthernet0/0           ### GUIアクセスのインターフェース無効
ip route vrf Mgmt-vrf 0.0.0.0 0.0.0.0 10.1.1.254                ### 管理用NWへのDGW設定
ip ssh version 2                                                ### SSHバージョン指定
!
line con 0                                                      ### コンソール設定
 password PASSWORD                                               ### コンソールログインのパスワード
 login                                                           ### "password"コマンドで設定したパスワードで認証
 exec prompt timestamp                                           ### showコマンド実行時に時刻をつける
 stopbits 1                                                      ### ストップビッツ。1デフォルト
 privilege level 15                                              ### 15(権限モード)。ログイン後にenableをすることなくそのまま特権モードになる。デフォルトは1(ユーザーモード)
line vty 0 4                                                    ### vtyはリモートログイン用の仮想IFで、0から15まで設定できる。0-4までの設定
 access-class 80 in vrf-also                                     ### 作成したACLを指定。MGMTがVRFに所属している場合は"vrf also"が必要
 login local                                                     ### "username"コマンドで設定したパスワードで認証
 exec prompt timestamp                                           ### showコマンド実行時に時刻をつける
 transport input ssh                                             ### SSHでのみログインできる
line vty 5 15                                                   ### 5-15までの設定
 no login                                                        ### telnetで、認証なしでログインできる
!
ntp server vrf Mgmt-vrf X.X.X.X prefer                          ### NTPサーバ指定(優先)
ntp server vrf Mgmt-vrf X.X.X.X                                 ### NTPサーバ指定

ACL

標準ACL

送信元IPアドレスを基にフィルタリング。
access-list number [ permit | deny ] source wildcard
numberは1-99または1300-1999までで指定

拡張ACL

送信元IPアドレス、宛先IPアドレス、プロトコル、ポート番号を基にフィルタリング。
access-list number [ permit | deny ] protocol source wildcard port dest wildcard port [ established | log | log-input ]
numberは100-199または2000-2699までで指定
portはeq,neq,gt,lt,rangeを指定
protocolはtcp,udp,icmpを指定

・行の上から一致するパケットのルールを適用する。最後の行に全てのIP通信を拒否する暗黙のdenyがある
・wildcardは省略すると「0.0.0.0」が適用される。⇒ホスト指定になる

適用
ip access-group [ number | name ] [ in | out ]

名前付きACL

名前付きACLでは[standard/extended] ACL_NAME を指定

ip access-list extended ACL_NAME
10 deny   tcp any any eq 22
20 deny   tcp any eq 4000 any 
30 permit ip any any
interface GigabitEthernet1/0/1
description XXX
ip access-group ACL_NAME in

で、Gi1/0/1に繋がっている機器に対して、宛先20番ポートの通信と送信元が4000番ポートの通信は全拒否する。

VACL(VLAN ACL)

ACLをVLANアクセスマップに関連付け、VLANに適用。

【VACL設定の流れ】

  1. VLANアクセスマップを作成
    (config)#vlan access-map {VLANアクセスマップ名} {シーケンス番号}
  2. 条件を指定
    (config-access-map)#match ip address {ACL名}
  3. 条件に一致したパケットの処理方法を指定
    (config-access-map)#action {drop | forward}
  4. VLANアクセスマップを適用するVLANを指定
    (config)#vlan filter {VLANアクセスマップ名} vlan-list {適用先VLAN番号}

設定例

制御の対象となる通信をアクセスリストのpermit文で指定
ここでは送信元IPアドレスが172.18.1.0/24に含まれるパケットを指定。

SwitchA(config)# ip access-list standard 1
SwitchA(config-std-nacl)# permit 172.18.1.0 0.0.0.255

VLANアクセスマップを作成。
ここでは先に指定した「ACL 1」に該当(match)するパケットであれば転送(forward)するよう指定。
なお、ここで指定した条件に該当するパケット以外は全て破棄。

SwitchA(config)# vlan access-map TEST 10
SwitchA(config-access-map)# match ip address 1
SwitchA(config-access-map)# action forward

作成したVLANアクセスマップ(TEST)を、VLAN11に適用。
これでSwitchAにおいて、VLAN11を通過しようとするパケットはVLANアクセスマップ(TEST)がチェックされる。

SwitchA(config)# vlan filter TEST vlan-list 11

トラフィック制御

CoPP(Control Plane Policing:コントロールプレーン ポリシング)は、ルータのコントロールプレーンで処理するパケットを制御する。
・ACLによるトラフィックの識別
・クラスマップによるトラフィックの分類
・ポリシーマップによるトラフィックのポリシング

設定例

1Mbps以内の場合はパケットを転送し、1Mbpsを越えた場合はパケットを破棄

Router(config)# access-list 100 deny tcp host 172.16.10.1 any eq telnet   #レート制限の対象にならない
Router(config)# access-list 100 permit tcp any any eq telnet              #レート制限の対象になる
Router(config)#
Router(config)# class-map TELNET               #クラスマップを作成
Router(config-cmap)# match access group 100    #対象となるACLの番号を指定
Router(config-cmap)# exit
Router(config)# policy-map COPP                #ポリシーマップを作成
Router(config-pmap)# class TELNET              #class名を指定
Router(config-pmap-c)# police 1000000 conform-action transmit exeed-action drop    #ポリシングルールを作成。
Router(config-pmap-c-police)# exit
Router(config-pmap-c)# exit
Router(config-pmap)# exit
Router(config)#
Router(config)# control-plane                  #コントロールプレーンにポリシーマップを適用
Router(config-cp)# service-policy input COPP

※ここでのACLは対象になるかどうかの判断になることに注意。permitはポリシー適用の対象になる。

NAT

NATも良く入れるのでメモ。

・スタティックNAT

⇒特定のローカルアドレスと特定のグローバルアドレスを1対1で対応付け

conf t
ip nat inside source static 192.168.1.1 10.10.0.1
int Fa0/0
ip nat inside
exit
int Fa0/1
ip nat outside

⇒ Fa0/0へ入ってFa0/1から出ていく192.168.1.1の送信元アドレスは10.10.0.1へ変換される。

extendableオプション

ip nat inside source static tcp 192.168.1.100 8080 100.1.1.2 80 extendable
ip nat inside source static tcp 192.168.1.100 8080 100.1.100.2 80 extendable

内部グローバルアドレスを冗長化している場合、「extendable」オプションを使用することにより静的NATの設定で1つのWEBサーバに対して2つの内部グローバルアドレスを対応付けることが可能。
上記の設定例では、静的IPマスカレードによって100.1.1.2(80番ポート)または100.1.100.2(80番ポート)宛のTCPパケットを192.168.1.100(8080番ポート)宛に変換。

・ダイナミックNAT

⇒ローカルアドレスとアドレスプールを対応付け。グローバルIPアドレスを登録したアドレスプールを用意しておき、IPアドレス変換の際にアドレスプールの中で使われていないIPアドレスを動的に割り当てる。

conf t
access-list 1 permit 192.168.1.0 0.0.0.255
ip nat pool pool1 100.1.1.2 100.1.1.4 netmask 255.255.255.0
ip nat inside source list 1 pool pool1
int Fa0/0        ### ACLで定義した192.168.1.0/24のアドレス帯側
ip nat inside
exit
int Fa0/1        ### pool1で定義した100.1.1.2-4のアドレス帯側
ip nat outside

上記設定により、ネットワーク(192.168.1.0/24)のPCがインターネットにアクセスするとIPアドレスが「100.1.1.2、100.1.1.3、100.1.1.4」に変換されるようになる。
※ただし、上記設定ではプールアドレスを3つ(100.1.1.2 ~ 100.1.1.4)しか用意していないため、インターネットに同時にアクセスできるのは3台まで。

・PAT(Port Address Translation) IPマスカレード、NAPT

⇒IPアドレスの他にTCP/UDPポート番号も合わせて記憶することで、ポート複数のローカルアドレスに対して1つのグローバルアドレスを対応付け。

conf t
access-list 1 permit 192.168.1.0 0.0.0.255
ip nat pool pool1 100.1.1.2 100.1.1.2 netmask 255.255.255.0
ip nat inside source list 1 pool pool1 overload
int Fa0/0        ### ACLで定義した192.168.1.0/24のアドレス帯側
ip nat inside
exit
int Fa0/1        ### pool1で定義した100.1.1.2のアドレス側
ip nat outside

ネットワーク(192.168.1.0/24)のPCがインターネットにアクセスするとIPアドレスが「100.1.1.2」に変換されるようになる。
なお、上記設定ではPATの設定(overload)で、ウェルノウン以外のポートを使っていくことで1つのプールアドレス(100.1.1.2)で4台同時にインターネットにアクセス可能。

ちなみにデフォルト設定は...

service timestamps debug datetime msec             ###デバッグメッセージをミリ秒まで表示
service timestamps log datetime msec               ###ログメッセージをミリ秒まで表示
service call-home                                  ###コールホーム通知設定
platform punt-keepalive disable-kernel-core        ###カーネルコアの生成を無効化
hostname Switch                                    ###ホスト名
vrf definition Mgmt-vrf                            ###管理用VRF。interfaceはGigabitEthernet0/0
 !
 address-family ipv4
 exit-address-family
 !
 address-family ipv6
 exit-address-family
!
no aaa new-model                                   ###RADIUS サーバのデータベースにあるユーザ名とパスワード情報を利用してログインするため使用。Authentication(認証)、Authorization(認可)、Accounting(アカウンティング)。デフォルトで無効化
switch 1 provision cXXXX-XXX                       ###スイッチスタックのオフライン設定.型番名が入る
login on-success log                               ###ログイン成功ログ出力有効化
no device-tracking logging theft                   ###IP device trackingを利用する際に取得するログの内容を設定。theftはIP,MAC。無効
!
crypto pki trustpoint SLA-TrustPoint               ###ip http secure-serverが有効になっている(デフォ)ので有効になる署名周りの設定。
 enrollment pkcs12
 revocation-check crl
!
crypto pki trustpoint TP-self-signed-9941xxxxx
 enrollment selfsigned
 subject-name cn=IOS-Self-Signed-Certificate-9941xxxx
 revocation-check none
 rsakeypair TP-self-signed-9941xxxxx
!
crypto pki certificate chain SLA-TrustPoint
 certificate ca 01
  30820321 XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
---省略
crypto pki certificate chain TP-self-signed-994169514
 certificate self-signed 01
  3082032E XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
---省略
!
license boot level network-advantage addon dna-advantage    ###ライセンスのレベル
diagnostic bootup level minimal                             ###機器起動時に実行されるブートアップ診断のレベルの設定。minimal が設定されている。
spanning-tree mode rapid-pvst                               ###STPのモード
spanning-tree extend system-id                              ###VLAN毎にSTPを組むための拡張システムID利用
memory free low-watermark processor 133138                  ###デバイス上の空きメモリ量が設定された閾値を下回った場合にログ出力する設定。閾値134432KB。
!
redundancy                                                  ###冗長コンフィギュレーションモードをステートフルスイッチオーバ―(SSO)に設定
 mode sso
transceiver type all                                        ###すべてのトランシーバーについて、デジタル・オプティカル・モニタリング(DOM)を有効
 monitoring
!
class-map match-any system-cpp-police-ewlc-control          ###多数のクラスマップ(受信フレームをトラフィッククラスに分類するための条件を定義するもので、matchコマンドで定義した条件とそれに対するアクション(permit/deny)で構成される)が設定されているが、すべてdescription のみ設定
  description EWLC Control
class-map match-any system-cpp-police-topology-control
  description Topology control
class-map match-any system-cpp-police-sw-forward
  description Sw forwarding, L2 LVX data packets, LOGGING, Transit Traffic
class-map match-any system-cpp-default
  description EWLC Data, Inter FED Traffic
class-map match-any system-cpp-police-sys-data
  description Openflow, Exception, EGR Exception, NFL Sampled Data, RPF Failed
class-map match-any system-cpp-police-punt-webauth
  description Punt Webauth
class-map match-any system-cpp-police-l2lvx-control
  description L2 LVX control packets
class-map match-any system-cpp-police-forus
  description Forus Address resolution and Forus traffic
class-map match-any system-cpp-police-multicast-end-station
  description MCAST END STATION
class-map match-any system-cpp-police-high-rate-app
  description High Rate Applications
class-map match-any system-cpp-police-multicast
  description MCAST Data
class-map match-any system-cpp-police-l2-control
  description L2 control
class-map match-any system-cpp-police-dot1x-auth
  description DOT1X Auth
class-map match-any system-cpp-police-data
  description ICMP redirect, ICMP_GEN and BROADCAST
class-map match-any system-cpp-police-stackwise-virt-control
  description Stackwise Virtual OOB
class-map match-any non-client-nrt-class
class-map match-any system-cpp-police-routing-control
  description Routing control and Low Latency
class-map match-any system-cpp-police-protocol-snooping
  description Protocol snooping
class-map match-any system-cpp-police-dhcp-snooping
  description DHCP snooping
class-map match-any system-cpp-police-ios-routing
  description L2 control, Topology control, Routing control, Low Latency
class-map match-any system-cpp-police-system-critical
  description System Critical and Gold Pkt
class-map match-any system-cpp-police-ios-feature
  description ICMPGEN,BROADCAST,ICMP,L2LVXCntrl,ProtoSnoop,PuntWebauth,MCASTData,Transit,DOT1XAuth,Swfwd,LOGGING,L2LVXData,ForusTraffic,ForusARP,McastEndStn,Openflow,Exception,EGRExcption,NflSampled,RpfFailed
!
policy-map system-cpp-policy                     ###CoPP(コントロールプレーン・ポリシング)の設定。system-cpp-policy というポリシーマップを定義し、CoPP 設定で使用しているが、system-cpp-policy では対象トラフィックが定義されていない状態。
!
interface GigabitEthernet0/0                     ###Mgmtポートの設定
 vrf forwarding Mgmt-vrf
 no ip address
 shutdown
 negotiation auto
!
interface TenGigabitEthernet1/0/1                ###各Interfaceの設定
!
---省略
!
interface Vlan1
 no ip address
!
ip forward-protocol nd                           ###ブロードキャスト パケットを転送するとき、ルータによって転送されるプロトコルおよびポートを指定。ND データグラムを転送
ip http server                                   ###HTTPサーバを有効化
ip http authentication local
ip http secure-server                            ###HTTPSサーバを有効化
!
control-plane
 service-policy input system-cpp-policy
!
line con 0                                       ###ログイン設定。初期設定だとリモートはSSHのみでpasswordコマンドで設定しないと入れないため、コンソール接続する。
 stopbits 1
line vty 0 4
 login
 transport input ssh
line vty 5 15
 login
 transport input ssh
!
call-home                                         ###Callhomeの設定。電子メールベースおよび http/https ベースの通知を提供。
 ! If contact email address in call-home is configured as sch-smart-licensing@cisco.com
 ! the email address configured in Cisco Smart License Portal will be used as contact email address to send SCH notifications.
 contact-email-addr sch-smart-licensing@cisco.com
 profile "CiscoTAC-1"
  active
  destination transport-method http
!
end

おまけ

コマンド集

#機器状態の確認
show logging    #機器が出力しているログ
show version    #IOSのバージョン、ライセンス状態、シリアル番号のなど
show inventory  #シリアル番号やモジュールの情報(SFPなどの情報も取得可能)
show module
show env all         #FAN、温度、パワーサプライの状態
show process cpu     #CPU使用率
show process cpu history      #60秒、60分、72時間におけるCPU平均使用率、CPU最大使用率
show process memory	 #メモリ使用率、空き容量
show flash            #フラッシュメモリの中身、使用率
show power inline      #PoEスイッチの場合、電源供給能力、供給状態、供給デバイス、クラス
show switch     #スタックしている場合、Master/Memberの確認、プライオリティ番号
show switch service-modules    #サービスモジュールを搭載している場合、CPUリンクやH/Wステータス

#IF確認(物理)
show interfaces status     #リンクアップ状態、duplex/speedの状態、VLAN番号、メディアタイプ
show interfaces ethX/X    #IFの詳細。| inc rate でレート確認
show interfaces ethX/X transceiver detail    #光モジュールのレベル確認
show idprom interface ethX/X      #IFのIDPROM確認
show interfaces count   #IFごとのIn/Outパケットカウントの一覧情報
show interfaces count error    #IFごとのエラーカウントの一覧情報
clear counters   #カウンタをクリア

#IF確認(VLAN)
show vlan     #VLANデータベース。ステータス、割り当てポートの確認
show interfaces trunk      #トランクポート、そのポート、許可(allowed)VLAN、ステータス
show interfaces 物理I/F switch    #特定の物理I/FについてVlanの割当状況を確認
show interfaces vlan num    #特定のVlanについて詳細情報を確認

#IF確認(L3)
show ip interface brief    #各VLANインターフェースに割り当てられたIPアドレス一覧
show ip intterface I/F   #特定のL3 I/FについてIPアドレス情報の詳細を確認
show vrf                 #VRF情報

#Etherchannel/HSRP確認
show etherchannel summary    #etherchannelのグループ、使用プロトコル、物理ポート
show etherchannel load-balance    #etherchannelにおけるロードバランシング方式
show standby brief    #各I/FのHSRPステータスを確認

#ルーティング確認
show ip ospf neighbor    #OSPF Neighborの確認
show ip bgp summary      #BGP Peerの確認
show ip bgp summary | inc Idle|Active  #BGP Peerを確立できないピア先を表示
show ip bgp regexp ^$    #自身のASからBGPで広報している経路情報を確認
show ip route            #ルーティングテーブルの確認

#その他
show license	 #ライセンスの詳細情報
show clock      #時刻情報の確認
show ntp associations      #NTPサーバとの同期情報の詳細

アクセスポート、トランクポート

このページの説明がとてもわかりやすい
https://it-networking.jp/different-access-trunk-port/

2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5