横浜539のブログ

技術ブログっぽい雑記。

Ciscoのメニュー(MENU)機能まとめ

昔、Twitterで書きなぐったCiscoのメニュー機能を改めてまとめます。


メニュー機能はSSHTelnetでログインした際、実行できるコマンドがリスト化されて表示される機能です。
選択肢を表示させて、指定されたコマンドを実行させるような動作になります。

基本的な設定

・メニューのタイトルの設定。ログイン時に表示される文字列を定義する。
(config)# menu [メニュー名] title [デリミタ文字] 文章 [デリミタ文字]

例
R1(config)#menu MENU_R1 title %
Enter TEXT message.  End with the character '%'.
 *********Welcome To The R1***********
 9 to exit the menu
 *************************************
%


・選択肢の説明。各選択肢の番号の説明文を定義する。
(config)# menu [メニュー名] text [番号] [選択肢の説明文]

例
R1(config)menu MENU_R1 text 1 sh ip ro


・選んだ時に実行されるコマンドを定義する。
(config)# menu [メニュー名] command [番号] [実行コマンド]
実行コマンドを「menu-exit」とすればMENU画面から抜けられる選択肢が作成できます。

例
R1(config)#menu MENU_R1 command 1 show ip route
R1(config)#menu MENU_R1 command 9 menu-exit


・ログイン時にMENUを実行する。(config-line)#配下にて設定する。
(config-line)#autocommand menu [メニュー名]

例
R1(config)#line vty 0 4
R1(config-line)#autocommand menu MENU_R1
//パスワード設定を入れる。
R1(config-line)#password yokohama539
R1(config-line)#login


・試してみる。

R2#telnet 12.12.12.1
//R1へTelnet
Trying 12.12.12.1 ... Open


User Access Verification

Password:
//パスワードを入力
*********Welcome To The R1***********
 9 to exit the menu
*************************************


    1          sh ip ro

    9          EXIT to menu
//1(show ip route)を押下

Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     12.0.0.0/24 is subnetted, 1 subnets
C       12.12.12.0 is directly connected, GigabitEthernet1/0
//show ip routeが実行される。

*********Welcome To The R1***********
 9 to exit the menu
*************************************


    1          sh ip ro

    9          EXIT to menu
//9(メニューから抜ける)を押下

R1>
//メニューから抜けてR1のユーザーモードに移行する。

オプション設定

・該当の選択肢を実行した時、実行結果までを表示する。
 ※Defaultだと実行結果とメニュー画面も表示されてしまう。
(config)menu [メニュー名] options [番号] pause

例
R1(config)menu MENU_R1 options 1 pause


・メニュー画面を表示する際、画面を全てクリアにして表示する。
(config)#menu [メニュー名] clear-screen

例
R1(config)#menu MENU_R1 clear-screen

show running-config出力例

!
menu MENU_R1 title ^C
*********Welcome To The R1***********
 9 to exit the menu
*************************************
^C
menu MENU_R1 text 1 sh ip ro
menu MENU_R1 command 1 show ip route
menu MENU_R1 options 1 pause
menu MENU_R1 text 2 sh ve
menu MENU_R1 command 2 show version
menu MENU_R1 options 2 pause
menu MENU_R1 text 9 EXIT to menu
menu MENU_R1 command 9 menu-exit
menu MENU_R1 clear-screen
!
line vty 0 4
 password yokohama539
 login
 autocommand  menu MENU_R1
!


____
バナーと違ってメニューは意外と設定例がない。

CCNAを16年ぶりに勉強したTips_その04

CCNAの参考書を読み進めて、あまりよく知らなかった内容や補足を書き記していきます。
第4回目のTipsは以下の3つです。
※各Tipsのエントリは今後の学習で適時増やしていきます。

ACL Tips

・標準ACL(Standard ACL):番号付きACLは1~99と1300~1999の799エントリ。
・拡張ACL(Extended ACL):番号付きACLは100~199と2000~2699の800エントリ。
 ※対象番号いつも覚えられない…。
・番号付きACLもシーケンス番号は付与されている。
 show runでは確認できないが、show access-listsでは確認できる。
 なので特定シーケンスのみ削除したい場合、名前付きACLと同様に
 ip access-list standard(extended) [ACL番号]コマンドで
 ACLコンフィグレーションモードに入って編集できる。

#show access-lists
Standard IP access list 1
    10 permit 192.168.1.0, wildcard bits 0.0.0.255
    20 permit 172.16.1.0, wildcard bits 0.0.0.255
//番号付きACLでもシーケンス付与される。
(config)#ip access-list standard ?
  <1-99>       Standard IP access-list number
  <1300-1999>  Standard IP access-list number (expanded range)
  WORD         Access-list name
(config)#ip access-list standard 1
(config-std-nacl)#no 20
(config-std-nacl)#do sh access-list
Standard IP access list 1
    10 permit 192.168.1.0, wildcard bits 0.0.0.255
//シーケンス単位で編集できた。

NAT Tips

・Unidirectional(一方向) NAT:内部からセッション開始した通信のみ有効とするNAT。
 = Traditional NAT、Outbound NAT
・Bi-Directional NAT(双方向) NAT:内部からでも外部からでも開始する通信を有効にするNAT。
 一方の通信が行われたら、自動的にもう片方のNATルールが生成される。
 = Two-Way NAT
・NATテーブルの削除する際はclearコマンド使う。

# clear ip nat translations *
//生成したNATテーブルの削除

・PATの内部グローバルIPアドレスはPoolまたはIFで指定できる。overloadオプションをつけないとPATとして機能しない。

DHCP Tips

・(DHCP)クライアント→サーバ宛パケット(DISCOVERとREQUEST)のL4(宛先ポート)はUDP68番ポート、
 サーバ→クライアント宛パケット(OFFERとACK)のL4(宛先ポート)はUDP67番ポートを使用する。
・基本は(dhcp-config)#配下にて設定する。
 ※除外アドレス指定(ip dhcp excluded-address~コマンド)は(config)#配下で設定する。
・クライアント側にてDHCPで払い出されたアドレスはshow ip interface briefで確認できる。
・払い出すIPアドレス情報のlease期限はデフォルト1日。
・(ルーターへ)払い出されたデフォルトゲートウェイ(というかDefault Route)のAD値は254。
DHCPリレーエージェントする場合は-if)# ip helper-address使う。
・各種確認コマンド

# show ip dhcp pool

サーバ側の設定内容の表示。

# show ip dhcp binding

サーバ側のIPアドレス払い出し状況の表示。
クライアントの機種によってはuser nameの先頭にクライアントID(01とか)が付与されてる場合がある。

# show ip dhcp conflict

サーバ側にて競合が確認されたIPアドレスの表示。競合したIPアドレスは記録され、払い出されなくなる。
※「conflict」は矛盾という意味。払い出してないのにも関わらず存在するから…ということで、だと思う。

・クリア系

# clear ip dhcp binding *
//払い出し状況のクリア。
# clear ip dhcp conflict *
//記録された競合情報のクリア。

_____
DHCPは自己流で勉強してたのでタメになりました。

JUNOSの設定についてまとめてみたTips_02

ノートにまとめていた内容を公式ドキュメントと照らし合わせてまとめ直しました。
今回はConfigurationファイル周りのTipsです。

Configurationファイル Tips

・編集中のconfigはCandidate Configurationと呼ばれ、commitするまで動作に反映されない。
・起動後やcommit後のconfigはActive Configurationと呼ばれる。
・Candidate Configurationは3世代前までは/config/juniper.conf.X(1~3).gzとして、
 それ以降は/var/db/config/juniper.conf.X(4~).gzとして保存される(設定による)
・Active Configurationは/config/juniper.conf.gzとして保存されている。
・rollbackコマンドにて過去Active Configurationとなったファイルを読み出せる。
・loadコマンドにて特定のConfigurationをCandidate Configurationとして設定投入する(要commit)
・その他いろいろ便利(以下コマンドにて説明)

# commit

Active Configurationへ反映する。

# commit check

構文上のエラーが起きてないかチェックする。

# commit confirmed [分]

指定した時間後にActive Configurationに戻る。
本設定とする場合は、もう一度commitコマンドを実行する必要がある。デフォルトは10(分)。

# commit at "時刻"
//ex # commit at "2022-01-25 19:00:00"

指定した時刻にcommitする。

# commit comment "文章"

commit時のコメントを付与する。
コメントはshow system commitコマンドで確認できる。

# show | compare

Candidate ConfigurationとActive Configurationの差分が表示される(Active Configuration基準)
 +:Active Configurationに足された設定
 -:Active Configurationから取り除かれた設定

# load [オプション] [ファイルネーム(パス)]

特定ファイルのConfigurationを読み込む。オプションは以下。
 merge:現在のCandidate Configurationに追加する。
 merge terminal:show(階層)形式でコピペ追加できる状態になる。
 set terminal:set~コマンド形式でコピペ追加できる状態になる。
 override:現在のCandidate Configurationが破棄され、新たにCandidate Configurationが生成される。

# rollback [世代数]

過去世代のActive ConfigurationをCandidate Configurationとして読み込む。0から採番されている。なお、
rollbackの最大数はset system max-configuration-rollbacksコマンドで変更でき、
直近のrollback(/config/配下に保存されるヤツの)数はset system max-configurations-on-flashコマンドで変更できる。

# show | display set

Active Configurationを(階層形式ではなく)set~コマンド形式にて表示する。

# save [ファイルパスとファイル名]

Candidate Configurationを指定したファイルパスに保存する。当然ながら他メーカーのNW機器と意味合いが違う。


参考URL
https://www.juniper.net/content/dam/www/assets/additional-resources/jp/ja/commit-rollback.pdf
www.juniper.net
www.juniper.net

www.slideshare.net

JUNOSの設定についてまとめてみたTips_01

ノートにまとめていた内容を公式ドキュメントと照らし合わせてまとめ直しました。
今回はログインする前までのTipsです。

起動時 Tips

・コンソール接続時のパラメーター

種別 設定値
ボーレート 9600
データ 8 bit
パリティ なし
停止ビット 1
フロー制御 なし


・BootシーケンスはPOST→Removable Media→Flash Drive→Hard Driveの順で読み込まれる。

Removable Media USBメモリやCFなど
・基本は空にしておく。
・OSアップデートの時ファイルを入れておく。
Flash Drive
(Primary Boot Media)
機器内部のフラッシュメモリ
・通常はここにJUNOSが搭載され読み込まれる。
Hard Drive
(Secondary Boot Media)
HDDやSSD
Flash Driveの読み込みが失敗したらここから読み込まれる。

Hard Driveでの読み込みが失敗した場合、Halt Boot Processとなり起動失敗となる。

FreeBSDベースなのでUNIX(≒Linux)ライクなディレクトリ構成となっている。
・覚えてた方がいいディレクト

ディレクトリ名 内容
/config Active Configurationと過去直近の3世代(機種による)分のConfigurationが格納されている。
Flash Driveにマウントされている。
/var/tmp 各デーモンのコアダンプが格納されている。
Hard Driveにマウントされている。
/var/db 過去47世代(機種による)分のConfigurationが格納されている。
Hard Driveにマウントされている。
/var/log 各種ログやデバッグ情報が格納される。
Hard Driveにマウントされている。
/var/home ユーザ別の保存情報が格納される。
/altroot request system snapshotコマンドにてバックアップされた情報が格納される。
Hard Driveがブートされる場合、このsnapshotが読み込まれる。

※Configuration周りは後のTipsで記載する予定です。

モード Tips

JUNOSの入力モードは3種類ある。

プロンプト モード 内容
% Shell モード mkdirやcatなどUNIX系コマンドが使える
> Operational モード showやpingなど確認系のコマンドが使える
# Configuration モード (setで)設定変更ができる


・Operational モードへ移行

root@host% cli
root@host> 
//exitコマンドでShellモードへ戻る
root@host> exit
root@host% 


・Configuration モードへ移行

root@host> configure
root@host#
//exitコマンドでOperationalモードへ戻る
root@host# exit
root@host>


参考URL
https://www.juniper.net/assets/jp/jp/local/pdf/others/junos_basic-operation.pdf
www.juniper.net

JUNOSの設定についてまとめてみたTips_00

Juniper Networks製品に搭載されている
JUNOSの設定方法についてブログにまとめてみようと思います。

元々は「はじめてのJUNOS」を参考にして、ノートにまとめていました。
いつでもネット上で見られるように電子化しておこうと考え、少しずつ投稿しようと思います。

当方、TシリーズとMシリーズにて設定経験があるので、
主にルーティング周りについてブログに残そうと考えています。
情報が古いので、最新のドキュメントと比較して差異も示せればいいなあ。

こうご期待!!

f:id:YOKOHAMA539:20220122172553j:plain

CCNAを16年ぶりに勉強したTips_その03

CCNAの参考書を読み進めて、
あまりよく知らなかった内容や補足を書き記していきます。
第3回目のTipsはOSPFのみです。
※各Tipsのエントリは今後の学習で適時増やしていきます。

OSPF Tips

理論

・コスト算出式は\dfrac{10^8(100Mbps)}{帯域幅}
 ※覚えてたけどまだ変わってないので挙げました。まだ100Mbps基準なのね…。
・コストが1未満の場合、小数点以下を切り上げる。1Gbpsの場合はコストが0.1→1となる。
・各パラメーター(Hello/Deadタイマー、サブネットマスク長、エリアID、スタブフラグ、認証情報)が
 一致しないとNeighborとならない = Initへ遷移しない。
・MTUのミスマッチはDBDのやりとりまでできるのでNeighborになるが、
 Exstart or Excangeから遷移しない。

・Helloパケット内にNeighbor Tableがあり、相手から送られてくるNeighbor Tableに自身のルーターIDが
 登録されていれば2Wayとなる。
・DBDパケットを送出する時にExstart、DBDパケットの交換を終えるとExchangeとなる。
・LSR/LSUパケットを送出する時にLoadingとなり、LSAckを受け取るとFullとなる。
・DR/BDR選出プロセス
 1. ルータープライオリティが最も大きいルーター
 2. ルーターIDが最も大きいルーター
  ルーターID選出プロセス
   ①router-idコマンドによる静的設定
   ②設定されているLoopback IFにおいて最も大きいIPアドレス
   ③設定されている物理 IFにおいて最も大きいIPアドレス
CIscoはデフォルト4経路まで等コストロードバランシングできる。
 ※show ip protocolコマンドにて確認できる。
・Passive Interfaceの場合、Helloパケットを送信しない。
 また、Helloパケットを受信してもステートが遷移しない。

コマンド

ルータープライオリティの定義

(config-if)#ip ospf priority [値]

 デフォルトは1。0にするとDR/BDR選出されない。


ルーターIDの定義

(config-router)#router-id [値]


・パッシブインターフェイスの定義

(config-router)#passive-interface [IF名]


・Hello/Deadタイマー値の変更

(config-if)#ip ospf hello-interval [秒]
(config-if)#ip ospf dead-interval [秒]

 hello-intervalの値を変えればdead-intervalは自動的に最適値になる(hello-intervalの4倍の値になる)


・MTUミスマッチの無視

(config-if)#ip ospf mtu-ignore

 DBD交換できるようになる(無理やりFullステートへ移行する感じ)


・デフォルトルートの広告

(config-router)#default-information originate (always)

 alwaysオプションをつけると自身にDefaultRouteの設定がなくとも広告する。

___
設定する階層ややこしいね。

CCNAを16年ぶりに勉強したTips_その02

CCNAの参考書を読み進めて、
あまりよく知らなかった内容や補足を書き記していきます。
第2回目は以下の3つのTipsです。
※各Tipsのエントリは今後の学習で適時増やしていきます。

Interface Tips

・show ip interface [IF名]コマンドで適用したACLと方向が表示される。
・show controllers serial [ID]コマンドでDCE/DTEが表示される。
 ※DCEがclock rate定義する側。
・show ip interface briefコマンドにおいて物理層(Status)がup、
 データリンク層(Protocol)がdownしてる場合の考えられる原因 

  1. clock rateが未設定
  2. カプセル化タイプが不一致
  3. keepaliveを受信していない
  4. ケーブルが接続されていない

・show ip interface briefコマンドのMethodの意味
 ※IPアドレスの付与状態を示している。

表示 内容
unset 設定なし
manual 静的設定
NVRAM 静的設定しsave済み
DHCP DHCPにて付与されてる

Routing Table Tips

・(show ip routeのCodesの)「L」= ローカルルート = ホストルート。
 自身のIPアドレスが/32形式で表示される。
・Default Route = Last Resort Gateway
 show ip route 実行時に「Gateway of last resort is …」と表示される。
 Default Route設定時にはNext-HopのIPアドレスが表示される。
 ※海外の人がDefault Routeを「Last Resort」と言ってるのを聞いたり見かける。
・Default RouteもAD値変更できる。
・Direct ConnectedのNWのAD値は0。

ICMP Tips

CiscoPingタイムアウト判定は2Sec以内。
 (Echo Requestを送ってEcho Replyが返ってくるまでの許容時間が2Sec)拡張Pingにて値を変更できる。
 ※Windows系の許容時間は4Sec。
・tracerouteパケットはUDP
 ※Linux系、IOS系はUDPWindows系はICMP。

___
show interface系の細かいところは知らんこと多い…。