勉強後記

千里の道も一歩から。学びから遊びまで継続活動の日記。

    NW機器

      このエントリーをはてなブックマークに追加 mixiチェック

    なぜNATのセッション数?

    最近1台あたりの通信機器が使うセッション数が増加傾向にある。
    文科省の資産だとWeb授業をそうていすると、1台あたり100セッションは見ておいた方がよいようです。

    参考資料
    新時代の学びにおける先端技術導入実証研究事業多様な通信環境に関する実証事業成果報告会
    78ページあたりをみると、1台あたりMAXで120セッションくらいつかっていることがわかります。

    ネットワンシステムズ株式会社
    O365などクラウドサービスの導入で企業が直面する課題とは?
    12ページに「O365を利用すると、多くの通信セッションが発生(1人あたり最大70~100セッション)」
    とあります。

    帯域はそこまでトラヒック使ってないのにネットワークが遅い場合NATのセッション数でひっかかっている事があります。

    設計

    1.機器にログインしてNATのセッション数を取得してテキストファイルに保存するスクリプト
    2.5分おきに実施
    3.保存されたテキストファイルを表示するスクリプト

    こんな感じで行こうかと思います。
    本当は1つにできそうな気もするのですが、Fortigateがどうしても自動ログインして取得すると
    30秒以上かかるので、いったん全部この形式でやります。

    私が管理している一部の機器ではMIBでセッション数がはけないことを確認済みです。
    となると、機器に自動でログインしてコマンドを実行し、その結果を読み込むといった
    流れがよいのかなと思います。
    事前にいろいろテストしたのですがパスワードの暗号化をするとZabbixの方でスクリプトの
    実行時にタイムアウトになってしまってうごかなかったので、しゃーない2段階で実施しようかと思います。

    環境

    サーバー CentOS Linux release 7.9.2009
    Zabbix zabbix_server (Zabbix) 5.0.23

    秘密鍵の作成

    秘密鍵 ~/.ssh/id_rsaを作成する
    とりあえず全部デフォルト
    ssh-keygen →デフォルトのままで作成
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa): →未入力
    Enter passphrase (empty for no passphrase): →未入力
    Enter same passphrase again: →未入力

    鍵が出来る
    001

    鍵が出来ている事を確認
    02

    パスワードを暗号化して秘密鍵を作る
    echo '任意のパスワード' | openssl rsautl -encrypt -inkey ~/.ssh/id_rsa > 任意のファイル名.rsa

    複合化できるか確認する
    penssl rsautl -decrypt -inkey ~/.ssh/id_rsa -in 任意のファイル名.rsa
    任意のパスワード
    パスワードが表示できればOK

    ログインしてセッション数を表示するスクリプトの作成

    スクリプトファイルを作る
    zabbix01 ~]# vi 任意のファイル名.sh
    #!/bin/sh
    export LC_CTYPE=ja_JP.UTF-8

    host="ホスト名"
    user="ログインユーザ名"
    pass="$(openssl rsautl -decrypt -inkey ~/.ssh/id_rsa -in 先ほど作った秘密鍵.rsa)"
    cmd="edit NAT"
    fortigateのコマンド1 cmd1="config vdom"
    fortigateのコマンド2 cmd2="get system session status"
    fortigateのコマンド3 end="end"
    fortigateのコマンド4
    expect -c "
    spawn ssh ユーザ名@IPアドレス
    expect \\"Password:\\"
    send \\"${pass}\\n\\"
    expect \\">\\"
    send \\"${cmd1}\\n\\"
    expect \\">\\"
    send \\"${cmd}\\n\\"
    expect \\">\\"
    send \\"${cmd2}\\n\\"
    expect \\">\\"
    send \\"${end}\\n\\" ; sleep 1
    expect eof
    " > /usr/lib/zabbix/externalscripts/任意のファイル名.log

    こんな感じ。あとは実行権限をつける。
    chmod +x 任意のファイル名.sh

    cronに設定して5分おきに実行する。
    vi /etc/crontab
    */5 * * * * root /root/./任意のファイル名.sh

    Zabbixに取り込むための外部スクリプト作成

    セッション数の数字部分だけ抜け出せることを確認
    cat -v /usr/lib/zabbix/externalscripts/任意のファイル名.log | grep -e "The total number of sessions for the current VDOM"|grep -o '[0-9]*'| tail -n 1

    zabbixのディレクトリ移動
    cd /usr/lib/zabbix/externalscripts

    zabbixの取り込みスクリプト作成
    vi 任意のファイル名2.sh
    #!/bin/sh
    export LC_CTYPE=ja_JP.UTF-8

    cat -v /usr/lib/zabbix/externalscripts/任意のファイル名.log | grep -e "The total number of sessions for the current VDOM"|grep -o '[0-9]*'| tail -n 1

    実行権限付与
    chmod +x 任意のファイル名2.sh

    Zabbixで実行できるように所有権を変更
    chown zabbix:zabbix 任意のファイル名2.sh
    chown zabbix:zabbix /usr/lib/zabbix/externalscripts/任意のファイル名.log 


    Zabbixでアイテムを作成する

    ホスト→アイテムを作成したホストを選択。
    上のメニューからアイテムを選択する。
    003

    右上のアイテムを作成を選ぶ
    004


    必要事項を入力する
    005


    テストボタンを選択し値が取れる事を確認する。

    006


    値が取れる事を確認したら最後に追加を押して完了。

    Zabbixでグラフを作成する

    グラフを選択し、グラフの作成を選択する。
    007

    任意の名前を入力して、追加をクリック
    008

    アイテムから外部チェックを選び選択をクリック

    009

    アイテムにはいるので追加を選択する
    010

    プレビューを押すと見れます。
    (初回はまだテストでデータ入ってないのでグラフは真っ白です。)
    011

    Zabbixでトリガーを作成する

    トリガーをクリックする
    013

    トリガーの作成をクリック
    014

    名前を入力して、障害レベルの定義をする。
    条件式は
    {zabbix登録ホスト名:保存した任意の外部スクリプト.last()}>閾値の数字(今回は10000)

    015

    監視データのホストからグラフに閾値が追加されていればOK。

    グラフはホストのテンプレートからは見れないのでスクリーンなどを作って追加しておくと良いかと思います。
    016

    終わり!



      このエントリーをはてなブックマークに追加 mixiチェック
    新しい職場のL2スイッチでProcurve2510Gが導入されているのですが壊れました(涙)
    NW機器についてBLOG書くのなんか10数年ぶりですが初期設定の備忘録残しておきます。
    ライフタイムワランティに加入してるので壊れてもただで交換できるというのはお金のない情シスとしては大助かり。Ciscoの方が情報は多くて楽なんですが、ない袖はふれないので。
    ※一応動作確認はとってますが、何かあっても責任はとれませんので自己責任でオナシャス。多分2810くらいまではマニュアル見た感じ同じそう?

    下記サイト様を参考にさせて頂きました。本当にありがとうございます。
    IT x Diary
    Yamachan.com by Masaki Yamaguchi
    HP ProCurve [構築]

    ProCurve Switch 2510G 初期設定

    1.事前準備

    1-1.HPからマニュアルを落としておきます。2021/04/22時点で閲覧できています。
    HPのカスタマーサポートの人に初期設定用のマニュアルのリンクおしえてといえば教えくれます。古い機種は型番でぐぐるよりそちらの方が速そう。

    Management and Configuration Guide Y.11.XX (J9279A - 2510-24G and J9280A - 2510-48G only) (hpe.com)

    1-2.OSの最新版をダウンロードしておきます。
    https://h10145.www1.hpe.com/downloads/SoftwareReleases.aspx?ProductNumber=J9279A&lang=&cc=&prodSeriesId=

    OSのインストールや、コンフィグの復元はWebUIが簡単。ただJavaのインストールが必要なのと、ブラウザの設定がいります。EdgeとChromeはだめっぽいです。
    FirefoxかIE11でやる必要があります。
    https://java.com/ja/download/help/enable_browser.html

    1-3.スイッチを工場出荷状態に戻す
    最悪初期状態に戻して保存したコンフィグから戻す。
    →作業前は必ずコンフィグのバックアップを取得すること。

    ProCurve Switch 2510G-24# configure terminal
    ProCurve Switch 2510G-24(config)# erase startup-config
    Configuration will be deleted and device rebooted, continue [y/n]?  y

    [Y] キーを押すと 、現在の設定を工場出荷時の設定で置換してスイッチをリブー トします。
     [N] キーを押すと現在の設定を維持し、 リブートしません。

    ※この時パスワードとユーザ名はリセットされませんので気を付けましょう。
    ※OSのバージョンをアップしると初期化してもダウンはしないようです。

    1-4.コンフィグの保存 
    交換機がCLIでアクセスできる場合で、そこから最新版のコンフィグを保存したい場合

    TFTP
    ProCurve Switch 2510G-24# copy startup-config tftp IPアドレス コンフィグファイル名

    xmodem
    ネットワークの構成上接続できない場合はxmodeで実施しましょう。

    速度変更
    ProCurve Switch 2510G-24# configure terminal
    ProCurve Switch 2510G-24(config)# console baud-rate 115200
    9600だとおっそいので115200にする。

    Command will take effect after saving configuration and reboot.
    ProCurve Switch 2510G-24(config)# exit
    ProCurve Switch 2510G-24# write memory
    ProCurve Switch 2510G-24# reload
    スイッチは再起動が必要です。

    テラターム「設定(S)」の項目から「シリアルポート(E)」を選んでスピードををデフォルトの9600から115200に変更して現在の接続を再設定を押下する

    コンフィグ保存
    ProCurve Switch 2510G-24# copy startup-config xmodem pc
    Press 'Enter' and start XMODEM on your host...

    Enterを押下

    ファイル(F)からテラタームの下記のようにする
    xmodemコンフィグ保存2

    保存先を選ぶ

    xmodemでコンフィグ保存3

    保存を押すと転送されて終わり。

    2.コンフィグを流し込むためのIPアドレスを設定してパスワードを設定する

    メニューを立ち上げる

    ProCurve Switch 2510G-24# menu

    メニューが立ち上がるので、8.Run Setupを選択する
    初期設定メニュー


    デフォルトゲートウェイとIPを設定しておく。
    各環境下でNTPに接続できる環境だと時刻合わせがしやすいかもしれません。
     
    ipアドレス

    IP Configの部分までカーソルをもっていってスペースキー押下でステータスが変更できるのでDHCPになっているのをマニュアルにしてIPを入力します。Saveでエンターキーを押下するとメニューにもどるので5.CLIを押下します。

    コンフィグを保存します。
    ProCurve Switch 2510G-24# write memory

    設定が反映されているか確認します。
    ProCurve Switch 2510G-24# show running-config

    Running configuration:

    ; J9279A Configuration Editor; Created on release #Y.11.41

    hostname "ProCurve Switch 2510G-24"
    console baud-rate 115200
    snmp-server community "public" Unrestricted
    vlan 1
       name "DEFAULT_VLAN"
       untagged 1-24
       ip address dhcp-bootp
       exit

    余談ですがこの交換機OSが若干バージョンアップされてますね。

    3.OSのバージョンアップ

    3-1.xmode
    転送に時間かかるのでTFTP使えるなら使える環境でやった方がよいです。あとPrimayにしか転送できないっぽいです。

    メニューから7.DownloadOSを押下する。
    ProCurve Switch 2510G-24# menu

    xmodeos6

    MetodがTFTPになっているのをスペースキーを押下してxmodeに変更してエンターキー押下。
    変更したらeXecuteでエンターキー押下
    xmodeOS

    エンターを押すした後、テラタームのファイル→転送→XMODE→送信を選択してOSのファイルを選んで開くを押下する。
    xmodeOS3

    転送が始まる。
    送信するファイルを選ぶ前にエンターキーを押してないと転送されないので注意すること。

    xmodeOS4

    転送が終わるとメニューに戻るので、5. Command Line (CLI)選ぶ。
    xmodeOS5

    CLIに戻ったら
    保存して再起動する。
    ProCurve Switch 2510G-24# write memory
    ProCurve Switch 2510G-24# boot

    起動したらOSのバージョンが上がっているか確認

    ProCurve Switch 2510G-24# show version
    Image stamp:    /sw/code/build/cod
                    Apr 11 2018 16:26:31
                    Y.11.52
                    133
    Boot Image:     Primary

    3-2.TFTP

    ここではセカンダリをバージョンアップしていますが、プライマリもTFTPで可能です。
    ProCurve Switch 2510G-24# copy tftp flash IPアドレス Y_11_52.swi Primary or secondary

    yをしたら転送開始。
    tftpos2


    転送終わったら再起動
    ProCurve Switch 2510G-24# boot
    Device will be rebooted, do you want to continue [y/n]? y

    再起動したら、フラッシュのバージョンを確認する。
    ProCurve Switch 2510G-24# show flash
    Image           Size(Bytes)   Date   Version
    -----           ----------  -------- -------
    Primary Image   : 3390986   04/11/18 Y.11.52
    Secondary Image : 3390986   04/11/18 Y.11.52
    Boot Rom Version: N.10.02
    Current Boot    : Primary

    なんらかの原因でセカンダリでブートに代わったのをプライマリに戻す。
    ProCurve Switch 2510G-24# show version
    Image stamp:    /sw/code/build/cod(cod11)
                    Jul 16 2009 02:13:03
                    Y.11.12
                    676
    Boot Image:     Secondary

    下記コマンドでプライマリへ
    ProCurve Switch 2510G-24# boot system flash primary

    4.バックアップコンフィグ転送間にしておいた方がいいこと

    4-1.時刻同期
    CLI

    現在の設定を確認する
    ProCurve Switch 2510G-24# show sntp

     SNTP Configuration

      Time Sync Mode: Timep
      SNTP Mode : disabled
      Poll Interval (sec) [720] : 720

    TimeZoneを日本へ
    ProCurve Switch 2510G-24(config)#time timezone 540 04/22/2021 18:33

    Time Sync ModeをSNTPへ
    ProCurve Switch 2510G-24(config)# timesync sntp

    サーバのIPを指定する
    ProCurve Switch 2510G-24(config)# sntp server IPアドレス

    うちの環境はユニキャストなのでユニキャストに設定する
    ProCurve Switch 2510G-24(config)# sntp unicast

    変更されたことを確認する
    ProCurve Switch 2510G-24(config)# show sntp

     SNTP Configuration

      Time Sync Mode: Sntp
      SNTP Mode : Unicast
      Poll Interval (sec) [720] : 720


      IP Address       Protocol Version
      --------------   ----------------
      設定したIP      3

    インターバルを短くして時間変更する
    ProCurve Switch 2510G-24(config)# sntp 30

    時間が変更されたことを核にする。
    ProCurve Switch 2510G-24(config)# show time
    Thu Apr 22 07:54:02 2021

    インターバルを戻す
    ProCurve Switch 2510G-24(config)# sntp 720

    保存
    ProCurve Switch 2510G-24# write memory

    4-2.sshのキーをジェネレートする。
    ログインにSSHを使っていてキーがない状態でコンフィグ戻すとSSHでエラーになって戻らなかった。
    先に作っておく

    キーをジェネレートする
    ProCurve Switch 2510G-24(config)# crypto key generate ssh
    Installing new RSA key.  If the key/entropy cache is
    depleted, this could take up to a minute.

    ProCurve Switch 2510G-24(config)# exit
    ProCurve Switch 2510G-24# write memory

    うちの環境だこれで下準備終わり。

    5.configの転送

    5-1.xmode

    ProCurve Switch 2510G-24# copy xmodem startup-config pc
    Device may be rebooted, do you want to continue [y/n]?  y
    Press 'Enter' and start XMODEM on your host...
    エンターを押す

    テラタームのファイル→転送→XMODE→送信からバックアップしたコンフィグファイルを選択する。
    configxmode2

    転送が終わると再起動がかかります。

    5-2.TFTP
    ProCurve Switch 2510G-24# copy tftp startup-config IPアドレス コンフィグファイル名
    Device may be rebooted, do you want to continue [y/n]?  y

    この時保存と適用をTFTPは間違えやすいので気を付けましょう。
    やってる最中に間違えた。コンフィグは必ず作業のディレクトリを別に作ってそちらに入れておきバックアップ本体はいじなないようにしましょう。

    後始末

    xmode様でファイル転送のために大きくしたbaud-rateを戻す

    LS03-P2510-01(config)# console baud-rate 9600
    Command will take effect after saving configuration and reboot.
    LS03-P2510-01(config)# exit
    LS03-P2510-01# write memory
    LS03-P2510-01# reload

    おまけ

    banner motdでメモ書きを入れる
    LS03-P2510-01(config)# banner motd %
    文字列を入力
    最後%を入力してエンター

    その他

    最初にセットアップする際に工場出荷状態に戻したときに、DHCP環境下でNW繋げちゃってて、IPとっちゃってさ、コンフィグ戻した後もshow cdp neighbors detailするとなぞのローカルIPが見えるという気持ち悪い状況になった。デフォルトIP設定をdisableしてしばらくして、conf tからvlan1にはいったらいつのまにか消えててた不思議。

    やっぱCisco以外の機械はめんどくさいな。安いけど。



    このページのトップヘ