MacでCisco Catalyst2940にコンソール接続
環境
Macbook Air Big Sur
Catalyst2940
コンソールケーブルは下記URLを使用
https://www.amazon.co.jp/gp/product/B0769J9QXP/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1
やってみよう!
ls -l /dev/tty.* crw-rw-rw- 1 root wheel 22, 2 9 3 13:35 /dev/tty.D50-R-SerialPort
/dev配下にtty.D50-R-SerialPortがマウントされている。
コンソールケーブルが認識しているのがわかる。
screen /dev/tty.D50-R-SerialPort
screenコマンドを使用して接続する。 これだけで終わり!
MacOS Big SurでELECOM製EDC-GUA3-Bを認識させる。
経緯
ELECOM製EDC-GUA3-BをBig SurにアップデートしたMacにつないでも認識されなかった。 原因を調査しているとどうやらEDC-GUA3-BはBig Surをサポートしていなかった。最終更新2020/12/16って半年以上前やぞこれ、、、。
いろんなサイトを駆け巡るとASIXのAX88179をインストールすると改善したとの情報があり、早速試してみることに。
環境
MacbookAir(13(13-inch 2017 ) MacOS Big Sur 11.5.2
ELECOM製 EDC-GUA3-B
手順
下記ASIXのサイトでドライバーダウンロード https://www.asix.com.tw/en/support/download
「Software & Tools」→「Drivers」→「USB Ethernet ICs」→「AX88179」→ 「AX88179USB3.0 to 10/100/1000M Gigabit Ethernet Controller 」へ移動する。
ASIX_USB_Device_Installer_macOS_11.3_above_Driver_v1.3.0 を選択 zipファイルの中にPDFファイルのインストーラーガイドがあるので一読。
その後下記の手順でインストール。インストーラーを選択。
再起動してLaunchpadでASIX_USB_DEVICE_APPを開けと言われます ASIX_USB_DEVICE_APPを再起動後、下記手順を実行。
1.デバイスをすべて抜く
2.Activateボタンをクリック
3.「機能拡張がブロックされました」というメッセージが 表示されたら 「セキュリティ環境設定を開く」を押して、許可をします。
4.システムを再起動
再起動後、ネットワーク設定を確認すると下記のようにAX88179として デバイスが認識され、有線接続したデバイスに疎通が確認でき、上記の手順で行うことでデバイスを認識させることができました。
参考サイト
下記のブログを参考にさせていただきました。 ブログ上ではリカバリモードから設定を触られたような記述がありましたが 今回の手順ではBeta版を使用せず再起動だけで完了したのでとても簡単でした。 https://obel.hatenablog.jp/entry/20201116/1605484800
実施は自己責任でお願いします。
pythonを使用したCisco機器のステータスの取得
初めに
ネットワーク機器にいちいちアクセスしてログインするのが
面倒なので最近流行りの自動化を使ってみました。
驚くほど簡単だったのでノンプログラマーでもできます。
対象機器
Cisco C2940
Macbook macOS Big Sur 11.5
準備
事前にターミナルでnetmikoをインストール
pip3 install netmiko
プログラム
下記がログを取得するプログラム(今回はTelnetを使用)
from netmiko import ConnectHandler # デバイスのタイプやIPアドレス、認証情報をディクショナリで定義 cisco = { "device_type": "cisco_ios_telnet", #SSH接続の場合はcisco_iosにする "ip": "10.x.x.x", # 接続先のCisco IOS機器 "username": "admin", # ログインユーザー "password": "password", # ログインパスワード "secret": "password" # enable パスワード } # TELNET接続して、コネクションオブジェクトを取得 net_connect = ConnectHandler(**cisco) # 特権モードへ移行する net_connect.enable() print("--- [●事前確認] ---") # show コマンドを実行 output = net_connect.send_command("show run int vlan 10") # 結果を出力 print(output) # 実行したい設定コマンドをリストで定義 lines = ["int vlan 10","description test"] # 設定コマンドを実行(事前のconf tも自動で実行される) output= net_connect.send_config_set(lines) print("\n--- [●事後確認] ---") # show コマンドを実行 output = net_connect.send_command("show run int vlan 10") # 結果を出力 print(output) # 切断 net_connect.disconnect()
苦戦したこと
間違って最初は
pip install netmiko
でインストールしてしまい、いくらpython ファイル名.pyを実行しても下記のエラーで悩まされました。
ImportError: No module named 'netmiko'
色々調べていくと、どうやらこのエラーはpython3系では
netmikoがインストールされていない時に表示されるそうです。
先程使用したpipコマンドだとpython2系でインストールされてしまうため
下記のコマンドを使用します。
pip3 install netmiko
また、ターミナルで実行する際は必ずpython3と記述して実行してください。
python3 ファイル名.py
pythonと記述して実行するとpython2系のコマンドになるので正しく使えません。
python ファイル名.py
netmikoがpython2系で使えないのかどうかはまた暇な時に調査します。
参考サイト
大変参考になりました。ありがとうございます。
技術経歴
OS
基本的に大体触ったがLinuxがまだあんまり得意では
ないのでそこを伸ばしていきたいところ
Network
CCNA取らなきゃ早く
Server
サーバはHPもあるが機種名忘れた
ざっと覚えてる限りで経験プロジェクト
- ESXi/vCenterで仮想基盤のクラスタ化
- vSANを使用して、ストレージ圧縮
- RSTP/Rapid PVSTで経路冗長したネットワーク構成
- Dell SシリーズスイッチでVLTを使ったactive/activeのスイッチ構築
- ACLを使用した通信制御
- 特定VLANのみ使用するVRF設定
主に仮想基盤が多めでそれに合わせてL3スイッチを導入するパターンが多かった。
基本的には構成が単純だがRSTPを使っていたり、vlanが30個ぐらい使用する
環境だったりと確認作業に膨大に時間がかかった記憶が。
随時更新していきます