mcpField
N
network

network

github.com/htlin222クラウド・DevOps7836 回インストール3 週間前に更新
リポジトリ

network について

ネットワークの接続問題の調査やインフラ設定に使うスキルです。DNS、SSL/TLS、ロードバランサー、トラフィック分析、性能診断のコマンド例と手順を扱います。

主な機能

  1. 01接続とポートの確認
  2. 02DNS と SSL/TLS のデバッグ
  3. 03ロードバランサー設定のガイダンス
  4. 04パケットキャプチャとトラフィック分析
  5. 05一般的なネットワーク問題の診断

活用シーン

  1. 01API のタイムアウト調査
  2. 02DNS や証明書エラーの対応
  3. 03ロードバランサーの設定
  4. 04ネットワーク遅延やパケットの確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/htlin222/dotfiles --skill network

インストール後、Claude Code で/networkを入力して読み込まれたか確認します。

詳細

ネットワークエンジニアリング

接続をデバッグし、ネットワークインフラストラクチャを設定します。

使用する場面

  • 接続の問題
  • ロードバランサーの設定
  • SSL/TLS の問題
  • DNS のデバッグ
  • ネットワークパフォーマンス

診断コマンド

接続テスト
# Basic connectivity
ping -c 4 host.example.com
traceroute host.example.com

# Port check
nc -zv host.example.com 443
telnet host.example.com 80

# DNS lookup
dig +short example.com
dig +trace example.com
nslookup -type=MX example.com

# HTTP testing
curl -v https://api.example.com/health
curl -w "@curl-format.txt" -o /dev/null -s https://example.com
curl-format.txt
     time_namelookup:  %{time_namelookup}s\n
        time_connect:  %{time_connect}s\n
     time_appconnect:  %{time_appconnect}s\n
    time_pretransfer:  %{time_pretransfer}s\n
       time_redirect:  %{time_redirect}s\n
  time_starttransfer:  %{time_starttransfer}s\n
                     ----------\n
          time_total:  %{time_total}s\n
SSL/TLS のデバッグ
# Check certificate
openssl s_client -connect example.com:443 -servername example.com

# Verify certificate chain
openssl s_client -connect example.com:443 -showcerts

# Check expiry
echo | openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -noout -dates

# Test specific TLS version
curl --tlsv1.2 --tls-max 1.2 https://example.com

ロードバランサーの設定

Nginx
upstream backend {
    least_conn;
    server backend1.example.com:8080 weight=5;
    server backend2.example.com:8080 weight=3;
    server backend3.example.com:8080 backup;

    keepalive 32;
}

server {
    listen 443 ssl http2;
    server_name api.example.com;

    ssl_certificate /etc/ssl/certs/api.crt;
    ssl_certificate_key /etc/ssl/private/api.key;

    location / {
        proxy_pass http://backend;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_connect_timeout 5s;
        proxy_read_timeout 60s;
    }

    location /health {
        access_log off;
        return 200 "OK";
    }
}

トラフィック分析

# Capture packets
tcpdump -i eth0 -w capture.pcap port 443

# Read capture
tcpdump -r capture.pcap -n

# Filter by host
tcpdump -i any host 10.0.0.1 and port 80

# Show HTTP requests
tcpdump -i any -A -s 0 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'

よくある問題

症状確認項目修正方法
接続が拒否されるポートは開いているか?サービスは稼働しているか?サービスを起動し、ファイアウォールを開放する
接続がタイムアウトするファイアウォールか?ルートか?セキュリティグループとルーティングを確認する
SSL エラー証明書は有効か?チェーンは完全か?証明書を更新し、チェーンを修正する
DNS の障害リゾルバーか?レコードは存在するか?DNS 設定を確認し、レコードを追加する
応答が遅いレイテンシか?帯域幅か?ルートを最適化し、容量を増やす

例

入力:「API 呼び出しがタイムアウトする」 **アクション:**接続をテストし、DNS を確認し、SSL を検証し、レイテンシを分析する

入力:「ロードバランサーを設定する」 **アクション:**nginx/HAProxy を設定し、ヘルスチェックを追加し、フェイルオーバーをテストする

コメント