macos-networking について
macos-networking は、macOS のネットワーク設定とトラブルシューティングを自動化するスキルです。システムのコマンドラインツールや Tailscale を使い、WiFi、DNS、プロキシ、VPN、ファイアウォールを扱います。
主な機能
- 01WiFi と Ethernet の管理
- 02DNS サーバーの設定
- 03HTTP と SOCKS プロキシの設定
- 04Tailscale VPN の操作
- 05pfctl ファイアウォールルールの制御
活用シーン
- 01WiFi ネットワークのスキャンと接続
- 02DNS またはプロキシ設定の構成
- 03Tailscale VPN のセットアップ
- 04ファイアウォールルールの読み込みや変更
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ alphaonedev/ openclaw-graph --skill macos-networkingインストール後、Claude Code で/macos-networkingを入力して読み込まれたか確認します。
詳細
macos-networking
目的
このスキルは、Wi-Fi、Ethernet、DNS、プロキシ、Tailscale VPN、pfctl ファイアウォールなどの macOS ネットワークコンポーネントを管理するツールを提供し、ネットワーク設定タスクの自動化や支援を行います。
使用する場面
接続のトラブルシューティング、安全な VPN の設定、アプリケーション向けの DNS 管理、スクリプトやユーザーとのやり取りでのファイアウォールルールの適用など、macOS 固有のネットワーク操作を行う場合にこのスキルを使用してください。
主な機能
networksetupおよびairportCLI を使用した Wi-Fi と Ethernet の管理。ネットワークへの接続、スキャン、切り替えに対応します。networksetupを使った DNS 設定。Google DNS(例:8.8.8.8)などのサーバーを設定します。networksetupを使ったプロキシ設定。認証を含む HTTP/SOCKS プロキシに対応します。- Tailscale VPN との連携。ピアツーピアネットワークに対応し、Tailscale CLI と認証キーが必要です。
pfctlによるファイアウォール制御。ルールセットの読み込み、有効化/無効化、トラフィックの監視を行います。- Airport CLI(macOS の一部)によるネットワークスキャンなどのワイヤレス診断。
- 主な設定には
networksetup、VPN にはtailscale、パケットフィルタリングにはpfctlなどの専用ツールを使用します。
使用パターン
必要に応じて、sudo を使い、常に昇格した権限でコマンドを実行してください。スクリプトでは、まず tailscale などのツールがインストールされているか確認してください。機密データには環境変数を使用します。たとえば、Tailscale コマンドを実行する前に export TAILSCALE_AUTH_KEY=$SERVICE_API_KEY を実行します。ユーザーがコピーして貼り付けられる bash のコードスニペットを生成し、AI の応答に組み込んでください。
例 1:特定の Wi-Fi ネットワークに切り替える。
- 次のパターンを使用します。まず
airport en0 scanでネットワークをスキャンし、その後networksetup -setairportnetwork en0 SSID passwordで接続します。
例 2:Tailscale VPN を設定する。
- 認証して接続します。認証キーを
export TAILSCALE_AUTH_KEY=$SERVICE_API_KEYでエクスポートし、その後tailscale up --authkey=$TAILSCALE_AUTH_KEYを実行します。
一般的なコマンド/API
スクリプトや応答では、以下のコマンドをそのまま使用してください。すべて macOS 環境で実行する必要があります。
- Wi-Fi:
/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport en0 scanでネットワークをスキャンします。接続するには、sudo networksetup -setairportnetwork en0 "NetworkName" "Password"を実行します。 - Ethernet:
sudo networksetup -setnetworkserviceenabled Ethernet on/offで有効/無効にします。 - DNS:
sudo networksetup -setdnsservers Wi-Fi 8.8.8.8 8.8.4.4で Wi-Fi のサーバーを設定します。キャッシュを消去するには、sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponderを実行します。 - プロキシ:
sudo networksetup -setwebproxy Wi-Fi proxy.example.com 8080で HTTP プロキシを設定します。認証を有効にするには、sudo networksetup -setwebproxyusername Wi-Fi username -setwebproxypassword Wi-Fi passwordを実行します。 - Tailscale VPN:必要に応じて
brew install tailscaleでインストールします。認証するには、tailscale up --authkey=$TAILSCALE_AUTH_KEYを実行します。状態を確認するには、tailscale status --jsonを実行します。 - pfctl ファイアウォール:
sudo pfctl -f /etc/pf.confでルールを読み込みます。sudo pfctl -eで有効にします。トラフィックをブロックするには、block in on en0 proto tcp from any to any port 80のようなルールを /etc/pf.conf に追加し、その後再読み込みします。
Wi-Fi 接続のコードスニペット:
#!/bin/bash
network=$(airport en0 scan | grep -o 'SSID: .\+' | cut -d' ' -f2-)
echo "Available networks: $network"
sudo networksetup -setairportnetwork en0 "$1" "$2"
Tailscale 設定のコードスニペット:
#!/bin/bash
export TAILSCALE_AUTH_KEY=$SERVICE_API_KEY
tailscale up --authkey=$TAILSCALE_AUTH_KEY
tailscale status
統合に関する注意事項
コマンドを AI が生成したスクリプトでラップして統合します。Tailscale では、認証キーをハードコードしないよう、$TAILSCALE_AUTH_KEY 経由で渡してください。依存関係を確認します。command -v tailscale >/dev/null 2>&1 || brew install tailscale を使用してください。pfctl では、/etc/pf.conf を直接、またはスクリプト経由で編集してから再読み込みします。システムサービスとの競合を避けてください。関連するデーモンの管理には launchctl を使用します。例:sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.pfctl.plist。まず本番環境以外でテストしてください。
エラー処理
root 権限が必要なすべてのコマンドには sudo を使用して権限を処理し、終了コード(例:$? -ne 0)を確認して失敗を捕捉し、「Command failed, check sudo access.」とログに記録します。ネットワークエラーの場合は、続行する前に ping で接続を確認します。Tailscale の認証に失敗した場合は、$TAILSCALE_AUTH_KEY が設定され、有効であることを確認し、tailscale logout && tailscale up を実行して再試行します。pfctl の問題で「no ALTQ support」と表示される場合は、kextstat | grep pf でカーネル拡張機能が読み込まれていることを確認します。よくある問題として、インターフェースが見つからないエラー(例:en0 が存在しない場合)では、ifconfig -l で使用可能なインターフェースを一覧表示し、コマンドを調整します。
グラフの関係
- クラスター「macos」に関連します(例:macos-file-system、macos-security のスキルと依存関係を共有します)。
- タグで関連します:「networking」(general-networking スキルに接続)、「vpn」(remote-access スキルにリンク)、「firewall」(security-monitoring スキルに関連)、「dns」(domain-resolution スキルと連携)。