Smithery Logo
MCPsSkillsDocsPricing
Login
NewFlame, an assistant that learns and improves. Available onTelegramSlack
    hbnu-nlplab

    pnetlab-playbook

    hbnu-nlplab/pnetlab-playbook
    DevOps
    1

    About

    SKILL.md

    Install

    • Telegram
      Telegram
    • Slack
      Slack
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    • Download skill
    ├─
    ├─
    └─
    Smithery Logo

    Give agents more agency

    Resources

    DocumentationPrivacy PolicySystem Status

    Company

    PricingAboutBlog

    Connect

    © 2026 Smithery. All rights reserved.

    About

    PNETLab 토폴로지 관리 도구 사용법

    SKILL.md

    PNETLab Tool Playbook

    PNETLab 가상 네트워크 환경 관리 방법을 안내합니다.

    1. 조회 작업

    토폴로지 목록 조회

    lab_manage("show_inventory")
    

    특정 장비 상태 조회

    lab_manage("get_status", {"device": "PE1"})
    

    콘솔 접속 링크 조회

    lab_manage("get_console_link", {"device": "PE1"})
    

    2. 장비 관리

    장비 추가

    lab_manage("add_node", {
        "name": "NewRouter",
        "template": "vios",   # vios, csr1000v, xrv9k 등
        "left": 400,          # X 좌표
        "top": 300            # Y 좌표
    })
    

    장비 시작/중지

    lab_manage("start_node", {"name": "NewRouter"})
    lab_manage("stop_node", {"name": "NewRouter"})
    

    장비 삭제 (⚠️ 주의)

    # 먼저 장비 중지 권장
    lab_manage("stop_node", {"name": "OldRouter"})
    lab_manage("delete_node", {"name": "OldRouter"})
    

    3. 네트워크(Cloud) 관리

    네트워크 추가

    lab_manage("add_network", {
        "name": "Mgmt-Cloud",
        "net_type": "pnet2",  # pnet2 = Cloud2
        "left": 300,
        "top": 150
    })
    

    네트워크 타입

    net_type 설명
    bridge 내부 브릿지
    ovs Open vSwitch
    pnet0 Cloud0 (NAT)
    pnet1 Cloud1
    pnet2 Cloud2 (관리용 권장)
    pnet3~`pnet9` Cloud3~9

    네트워크 삭제

    lab_manage("delete_network", {"name": "Mgmt-Cloud"})
    

    4. 연결 관리

    인터페이스 → 네트워크 연결

    lab_manage("connect_interface", {
        "device_name": "Router1",
        "interface_id": 0,         # Gi0/0 = 0, Gi0/1 = 1 ...
        "network_name": "Cloud1"
    })
    

    인터페이스 연결 해제

    lab_manage("disconnect_interface", {
        "device_name": "Router1",
        "interface_id": 0
    })
    

    5. Batfish 연동

    NSO에서 설정 추출

    lab_manage("export_configs", {
        "output_dir": "./batfish_snapshot",
        "devices": ["PE1", "PE2"]  # 선택적, 없으면 전체
    })
    

    Batfish 스냅샷 초기화

    lab_manage("init_batfish", {
        "snapshot_path": "./batfish_snapshot"
    })
    

    6. 인터페이스 ID 매핑

    interface_id 인터페이스
    0 GigabitEthernet0/0
    1 GigabitEthernet0/1
    2 GigabitEthernet0/2
    3 GigabitEthernet0/3

    7. 흔한 오류

    "Node not found"

    → lab_manage("show_inventory") 로 정확한 장비 이름 확인

    "Network not found"

    → lab_manage("show_inventory") 로 네트워크 이름 확인

    "PNETLab connection failed"

    → 환경변수 확인:

    • PNETLAB_BASE_URL
    • PNETLAB_USER
    • PNETLAB_PASS

    "Node not started"

    → lab_manage("start_node", ...) 로 노드 시작 후 재시도

    Recommended Servers
    fillin
    fillin
    Medical Terminologies MCP
    Medical Terminologies MCP
    mrc-data
    mrc-data
    Repository
    hbnu-nlplab/gia
    Files