Cisco Packet Tracerで演習を行う_1

Cisco Packet Tracerにsign upして、以下のページからinstallします。
https://www.netacad.com/resources/lab-downloads?courseLang=ja-JP
Packet Tracer 8.2.2 MacOS 64bit

### PC2台をクロスケーブルで接続してPing確認
① PCを2台配置する
下部の【End Devices】→【PC】をクリック
作業エリアに2台ドラッグ&ドロップ

② ケーブルで接続する
下部の【Connections】を選択
黄色の【クロスケーブル(Copper Cross-Over)】を選ぶ
PC0 → FastEthernet0 をクリック
PC1 → FastEthernet0 をクリック

③ IPアドレスを設定する
PC0 をクリック →【Desktop】タブ →【IP Configuration】
IP address: 192.168.1.1
Subnet mask: 自動で 255.255.255.0 に設定される
PC1 も同様に設定
IP address: 192.168.1.2
Subnet mask: 同じく 255.255.255.0

④ Pingを実行して確認
PC0 をクリック →【Desktop】タブ →【Command Prompt】
ping 192.168.1.2 と入力して送信

Cisco Packet Tracer PC Command Line 1.0
C:\>ping 192.168.1.2

Pinging 192.168.1.2 with 32 bytes of data:

Reply from 192.168.1.2: bytes=32 time=1ms TTL=128
Reply from 192.168.1.2: bytes=32 time=1ms TTL=128
Reply from 192.168.1.2: bytes=32 time<1ms TTL=128 Reply from 192.168.1.2: bytes=32 time<1ms TTL=128 Ping statistics for 192.168.1.2: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 1ms, Average = 0ms おおおおおお、本の勉強とは違って、なかなか面白い ### スイッチ2960を入れる場合 ステップ1:デバイスの配置 Packet Tracer の下部「End Devices」→「PC-PT」を選んで作業エリアに2台配置(PC0、PC1) 「Switching」→「2960」を選んで中央に1台配置(SW1) 🔹 ステップ2:ケーブル接続 左下の「Connections(雷アイコン)」をクリック [ストレートケーブル](Copper Straight-Through) を選択 以下のように接続: PC0 の FastEthernet0 → SW1 の FastEthernet0/1 PC1 の FastEthernet0 → SW1 の FastEthernet0/2 ✅ ヒント: ポート番号(0/1、0/2)で使っているポートを確認できます。ケーブルをつなぐとLEDが緑に変わればリンクアップ成功。 🔹 ステップ3:IPアドレスの設定 PC0 をクリック → 【Desktop】タブ → 【IP Configuration】 IP Address: 192.168.1.1 Subnet Mask: 255.255.255.0(自動で入力されます) PC1 も同様に設定 IP Address: 192.168.1.2 Subnet Mask: 255.255.255.0 💡 デフォルトゲートウェイは未設定でOK(同一セグメント内なので) 🔹 ステップ4:Pingで通信確認 PC0 をクリック → 【Desktop】 → 【Command Prompt】 以下のコマンドを入力:ping 192.168.1.2 C:\>ping 192.168.1.2

Pinging 192.168.1.2 with 32 bytes of data:

Reply from 192.168.1.2: bytes=32 time=1ms TTL=128
Reply from 192.168.1.2: bytes=32 time<1ms TTL=128 Reply from 192.168.1.2: bytes=32 time<1ms TTL=128 Reply from 192.168.1.2: bytes=32 time<1ms TTL=128 Ping statistics for 192.168.1.2: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 1ms, Average = 0ms

Azureにアプリケーションをデプロイしてみる

こちらのjs, DockerベースのPlaygroundをAzureにデプロイすることを第一目標とする。
https://github.com/cmc-labo/ares

Azureに慣れていないため、storage, gateway, lb, container, function, sql database, active directoryなど各種機能は使わず、Azure Virtual Machinesのみ

### 全体の流れ
1. Azureポータル(https://portal.azure.com/)にログインする
2. 仮想マシン(vm)を作成
3. ネットワークからインバウンドルールで3000ポートの開通
4. ターミナルからsshログイン
5. git, dockerなどをインストールしてgit cloneした後にdeploy

### 仮想マシンの作成
サブスクリプション: 自分のAzureアカウントに紐づく課金形態
リソースグループ: 作成済みの選択か新規作成
仮想マシン名: VMの名前
リージョン: 東日本(Japan East)など
可用性オプション: 単一インスタンス
イメージ: OSの種類 Ubuntu 22.04 LTSなど
サイズ: B1s(1vCPU, 1GB RAM)
認証タイプ: SSH公開キー
ユーザ名: azureuserなど
SSH公開キー
インバウンドポートの規則: 22, 80
※AWSでいうVPCやセキュリティグループの作成は不要

### インバウンドルールで3000ポートの開通
作成したvmの「ネットワーク」→「ネットワーク設定」
ソース: any
ソースポート範囲: *
宛先: Any
サービス: Custom
宛先ポート範囲: 3000
プロトコル: TCP
アクション: 許可
優先度: 1000
名前: AllowAnyCustom3000Inbound

### SSH接続
vm作成時に生成したpemファイルを使用する

$ ssh -i ~/hoge/azureuser.pem azureuser@${ip}

あとはアプリを動かすのに必要なもの(git, node, npm, Dockerなど)をインストールして起動

sudo apt update
sudo apt install git
git clone https://github.com/cmc-labo/playground.git
cd playground

sudo apt install nodejs npm
npm install

sudo apt install dos2unix
dos2unix rust-runner.sh
chmod +x rust-runner.sh
sudo docker build -t rust-runner .
node server.js

### Azure CLI の SSH接続 と mac の SSH接続の違いについて
Azure CLI のコマンド az vm ssh -n -g <リソースグループ> は、内部で Azure の管理 API を使って接続処理をしている。Azure CLI が一時的に接続をプロキシし、環境変数やシェルの種類などが微妙に異なることがある。特に、パスワードや sudo の対話的入力(プロンプト)に違和感が出る場合がある。端末割り当て(tty)が不完全になるケースなど。
mac やLinux端末があるなら、直接 ssh コマンドを使うのが確実

### AzureのVPC, SecurityGroupの概念
AzureでもVNet(仮想ネットワーク)の中に作られる(自走生成される)
subnetはVNetの中に複数作ることができる
SecurityGroupはAzureではNSG(ネットワークセキュリティグループ)で、自動的に割り当てられる
Internet Gateway はAzureは自動
Elastic IPは静的 or 動的の選択が可能
Route Table 明示的に作る場合は別途設定が必要

Azureは最小入力でVMをすぐ作れるという思想
AWSとの違いを意識しながら学ぶと整理しやすい

AI生成ツールの比較

1. Copilot Chat: Microsoft(+openAI) コーディング補助
2. Claude: Anthropic 長文補助
3. Gemini: Google 汎用AI・検索統合
4. Cursor: AI搭載のIDE、コーディングに特化
5. Devin: AIソフトウェアエンジニア, 自律型のコード開発

GeminiはChatGTPに比べてレスポンスの文章量が少ない印象。ChatGTPの方が丁寧で参考になりそう。
Devinは色々触って試してみたい。

ChatGTPとGithub Copilotの違い

### Chat GTP
– ブラウザやアプリでチャット形式
– モデル: GPT-4(Pro版)または GPT-3.5(無料)
– 補完のタイミング: 会話でまとめて質問・回答
– 用途: 質問・学習・エラー解析・仕様理解など広範囲
– 自然言語で深く対話可能
– 会話履歴を踏まえて提案

### GitHub Copilot
– Visual Studio Code / JetBrains / Neovim などで直接使う
– Codex(GPT-3系列)または Copilot専用モデル
– コードを書く「途中」でリアルタイム補完
– 手を動かしてコードを書くときの補助
– コメントやコードの一部を見て予測
– 開いているファイルや周辺コードだけで判断

Copilotでコードを書きながら、ChatGPTで「このコードの意味は?」「エラーの原因は?」と調べるのが効率的とのこと。

オンプレサーバの構成

[オンプレサーバの構成イメージ]

オンプレサーバ
 ↓
スイッチ
 ↓
ルータ or ファイヤウォール
 ↓
ONU(回線終端装置)
 ↓
光回線

### スイッチ: 社内機器を相互に接続する
中小企業向け: Cisco(Catalyst 1000 シリーズ), YAMAHA(SWX2200 シリーズ), NETGEAR(GS110TP, GS752TP)
中大企業向け: Cisco(Catalyst 9300, 9500シリーズ), Juniper(EX3400, EX4300), HPE Aruba(Aruba 2930F)

LAN内の通信を中継・管理
MACアドレスをもとに、必要なポートにだけデータを転送
**VLAN(仮想LAN)**によるセグメント分けも可能(セキュリティ・パフォーマンス向上)
L3スイッチなら、**セグメント間ルーティング(簡易ルータ機能)**も持つ

### ルータ/ファイヤフォール
中小企業向け: Cisco(Catalyst 1000 シリーズ), YAMAHA(SWX2200 シリーズ), NETGEAR(GS110TP, GS752TP)
中大企業向け: Palo Alto Networks, Fortinet, Cisco

ルータ:異なるネットワーク間(例:社内LAN ↔ インターネット)を中継
ファイアウォール:通信のフィルタリング・遮断で、社内ネットワークを保護
ルータの主な機能:
パケットの転送(ルーティング)
NAT変換(社内のプライベートIP ⇄ インターネットのグローバルIP)
DHCPやDNSリレー機能など
🟥 ファイアウォールの主な機能:
ポート制御/IP制限/アクセス制御(ACL)
外部からの不正アクセスをブロック
次世代型ではアンチウイルスやアプリ制御も(UTM機能)

### ONU(光回線終端装置)
NTT東西: PR-500KI、RT-500MI、RV-440NEなど
KDDI(auひかり): BL1000HW など
ソフトバンク光: HGW(型番非公開が多い)
—-
役割:光ファイバー信号(アナログ)を、デジタル信号に変換してルータへ渡す中継機器

amazonで製品名を検索すると、法人向けスイッチやルータ/ファイヤウォールがどんなものかイメージが掴める。