- ADD_CHAIN138_TO_LEDGER_LIVE: Ledger form done; public code review repo bis-innovations/LedgerLive; init/push commands - CONTRACT_DEPLOYMENT_RUNBOOK: Chain 138 gas price 1 gwei, 36-addr check, TransactionMirror workaround - CONTRACT_*: AddressMapper, MirrorManager deployed 2026-02-12; 36-address on-chain check - NEXT_STEPS_FOR_YOU: Ledger done; steps completable now (no LAN); run-completable-tasks-from-anywhere - MASTER_INDEX, OPERATOR_OPTIONAL, SMART_CONTRACTS_INVENTORY_SIMPLE: updates - LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE: bis-innovations/LedgerLive reference Co-authored-by: Cursor <cursoragent@cursor.com>
19 KiB
Omada Hardware & Configuration Review
Last Updated: 2026-01-31
Document Version: 1.0
Status: Active Documentation
Review Date: 2025-01-20
Reviewer: Infrastructure Team
Status: Comprehensive Review
Executive Summary
This document provides a comprehensive review of all Omada hardware and configuration in the environment. The review covers:
- Hardware Inventory: 2× ER605 routers, 3× ES216G switches
- Controller Configuration: Omada Controller on ml110 (192.168.11.8)
- Network Architecture: Current flat LAN (192.168.11.0/24) with planned VLAN migration
- API Integration: Omada API library and MCP server configured
- Configuration Status: Partial deployment (Phase 0 complete, Phase 1+ pending)
1. Hardware Inventory
1.1 Routers
ER605-A (Primary Edge Router)
Status: ✅ Configured (Phase 0 Complete)
Configuration:
-
WAN1 (ER605): Replaced by UDM Pro.
-
UDM Pro (edge): 76.53.10.34. Port forwarding: 76.53.10.36:80/443 → 192.168.11.167:80/443 (NPMplus LXC). Proxmox hosts: 192.168.11.10–12. NPMplus has .166 and .167; only .167 in UDM Pro.
-
WAN2 (Failover):
- ISP: ISP #2 (to be configured)
- Failover Mode: Pending configuration
- Priority: Lower than WAN1 (planned)
-
LAN:
- Connection: Trunk to ES216G-1 (core switch)
- Current Network: 192.168.11.0/24 (flat LAN)
- Planned: VLAN-aware trunk with 16+ VLANs
Role: Active edge router, NAT pools, inter-VLAN routing
Configuration Status:
- ✅ WAN1 configured with Block #1
- ⏳ WAN2 failover configuration pending
- ⏳ VLAN interfaces creation pending (16 VLANs planned)
- ⏳ Role-based egress NAT pools pending (Blocks #2-6)
ER605-B (Standby Edge Router)
Status: ⏳ Pending Configuration
Planned Configuration:
- WAN1: ISP #2 (alternate/standby)
- WAN2: Optional (if available)
- LAN: Trunk to ES216G-1 (core switch)
Role Decision Required:
- Option A: Standby edge router (failover only)
- Option B: Dedicated sovereign edge (separate policy domain)
Note: ER605 does not support full stateful HA. This is active/standby operational redundancy, not automatic session-preserving HA.
Configuration Status:
- ⏳ Physical deployment status unknown
- ⏳ Configuration not started
- ⏳ Role decision pending
1.2 Switches
ES216G-1 (Core Switch)
Status: ⏳ Configuration Pending
Planned Role: Core / uplinks / trunks
Configuration Requirements:
- Trunk ports to ES216G-2 and ES216G-3
- Trunk port to ER605-A (LAN)
- VLAN trunking support for all VLANs (11, 110-112, 120-121, 130-134, 140-141, 150, 160, 200-203)
- Native VLAN: 11 (MGMT-LAN)
Configuration Status:
- ⏳ Trunk ports configuration pending
- ⏳ VLAN configuration pending
- ⏳ Physical deployment status unknown
ES216G-2 (Compute Rack Aggregation)
Status: ⏳ Configuration Pending
Planned Role: Compute rack aggregation
Configuration Requirements:
- Trunk ports to R630 compute nodes (4×)
- Trunk port to ML110 (management node)
- Trunk port to ES216G-1 (core)
- VLAN trunking support for all VLANs
- Native VLAN: 11 (MGMT-LAN)
Configuration Status:
- ⏳ Trunk ports configuration pending
- ⏳ VLAN configuration pending
- ⏳ Physical deployment status unknown
ES216G-3 (Management & Out-of-Band)
Status: ⏳ Configuration Pending
Planned Role: Management + out-of-band / staging
Configuration Requirements:
- Management access ports (untagged VLAN 11)
- Staging ports (untagged VLAN 11 or tagged staging VLAN)
- Trunk port to ES216G-1 (core)
- VLAN trunking support
- Native VLAN: 11 (MGMT-LAN)
Configuration Status:
- ⏳ Configuration pending
- ⏳ Physical deployment status unknown
1.3 Omada Controller
Location: ML110 Gen9 (Bootstrap & Management node)
IP Address: 192.168.11.8:8043 (actual) / 192.168.11.10 (documented)
Status: ✅ Operational
Note: There is a discrepancy between documented IP (192.168.11.10) and configured IP (192.168.11.8). The actual controller is accessible at 192.168.11.8:8043.
Configuration:
- Base URL:
https://192.168.11.8:8043 - SSL Verification: Disabled (OMADA_VERIFY_SSL=false)
- Site ID:
090862bebcb1997bb263eea9364957fe - API Credentials: Configured (Client ID/Secret)
API Configuration:
- Client ID:
273615420c01452a8a2fd2e00a177eda - Client Secret:
8d3dc336675e4b04ad9c1614a5b939cc - Authentication Note: See
OMADA_AUTH_NOTE.mdfor authentication method details
Features:
- ✅ Open API enabled
- ✅ API credentials configured
- ⏳ Device adoption status unknown (needs verification)
- ⏳ Device management status unknown (needs verification)
2. Network Architecture
2.1 Current State (Flat LAN)
Network: 192.168.11.0/24
Gateway: 192.168.11.1 (ER605-A)
DHCP: Configured (if applicable)
Status: ✅ Operational (Phase 0)
Current Services:
- 12 Besu containers (validators, sentries, RPC nodes)
- All services on flat LAN (192.168.11.0/24)
- No VLAN segmentation
2.2 Planned State (VLAN-based)
Migration Status: ⏳ Pending (Phase 1)
VLAN Plan: 16+ VLANs planned
Key VLANs:
| VLAN ID | VLAN Name | Subnet | Gateway | Purpose | Status |
|---|---|---|---|---|---|
| 11 | MGMT-LAN | 192.168.11.0/24 | 192.168.11.1 | Proxmox mgmt, switches mgmt | ⏳ Pending |
| 110 | BESU-VAL | 10.110.0.0/24 | 10.110.0.1 | Validator-only network | ⏳ Pending |
| 111 | BESU-SEN | 10.111.0.0/24 | 10.111.0.1 | Sentry mesh | ⏳ Pending |
| 112 | BESU-RPC | 10.112.0.0/24 | 10.112.0.1 | RPC / gateway tier | ⏳ Pending |
| 120 | BLOCKSCOUT | 10.120.0.0/24 | 10.120.0.1 | Explorer + DB | ⏳ Pending |
| 121 | CACTI | 10.121.0.0/24 | 10.121.0.1 | Interop middleware | ⏳ Pending |
| 130 | CCIP-OPS | 10.130.0.0/24 | 10.130.0.1 | Ops/admin | ⏳ Pending |
| 132 | CCIP-COMMIT | 10.132.0.0/24 | 10.132.0.1 | Commit-role DON | ⏳ Pending |
| 133 | CCIP-EXEC | 10.133.0.0/24 | 10.133.0.1 | Execute-role DON | ⏳ Pending |
| 134 | CCIP-RMN | 10.134.0.0/24 | 10.134.0.1 | Risk management network | ⏳ Pending |
| 140 | FABRIC | 10.140.0.0/24 | 10.140.0.1 | Fabric | ⏳ Pending |
| 141 | FIREFLY | 10.141.0.0/24 | 10.141.0.1 | FireFly | ⏳ Pending |
| 150 | INDY | 10.150.0.0/24 | 10.150.0.1 | Identity | ⏳ Pending |
| 160 | SANKOFA-SVC | 10.160.0.0/22 | 10.160.0.1 | Service layer | ⏳ Pending |
| 200 | PHX-SOV-SMOM | 10.200.0.0/20 | 10.200.0.1 | Sovereign tenant | ⏳ Pending |
| 201 | PHX-SOV-ICCC | 10.201.0.0/20 | 10.201.0.1 | Sovereign tenant | ⏳ Pending |
| 202 | PHX-SOV-DBIS | 10.202.0.0/20 | 10.202.0.1 | Sovereign tenant | ⏳ Pending |
| 203 | PHX-SOV-AR | 10.203.0.0/20 | 10.203.0.1 | Sovereign tenant | ⏳ Pending |
Migration Requirements:
- Configure VLAN interfaces on ER605-A for all VLANs
- Configure trunk ports on all ES216G switches
- Enable VLAN-aware bridge on Proxmox hosts
- Migrate services from flat LAN to appropriate VLANs
3. Public IP Blocks & NAT Configuration
3.1 Public IP Block #1 (Configured)
Network: 76.53.10.32/28
Gateway: 76.53.10.33
Usable Range: 76.53.10.33–76.53.10.46
Broadcast: 76.53.10.47
UDM Pro (edge): 76.53.10.34 (replaced ER605). Port forward: 76.53.10.36:80/443 → 192.168.11.167:80/443.
Status: ✅ Active
Usage:
- ER605-A WAN1 interface
- Break-glass emergency VIPs (planned)
- 76.53.10.35: Emergency SSH/Jumpbox (planned)
- 76.53.10.36: Emergency Besu RPC (planned)
- 76.53.10.37: Emergency FireFly (planned)
- 76.53.10.38: Sankofa/Phoenix/PanTel VIP (planned)
- 76.53.10.39: Indy DID endpoints (planned)
3.2 Public IP Blocks #2-6 (Pending)
Status: ⏳ To Be Configured (when assigned)
| Block | Network | Gateway | Designated Use | NAT Pool Target | Status |
|---|---|---|---|---|---|
| #2 | <PUBLIC_BLOCK_2>/28 |
<GW2> |
CCIP Commit egress NAT pool | 10.132.0.0/24 (VLAN 132) | ⏳ Pending |
| #3 | <PUBLIC_BLOCK_3>/28 |
<GW3> |
CCIP Execute egress NAT pool | 10.133.0.0/24 (VLAN 133) | ⏳ Pending |
| #4 | <PUBLIC_BLOCK_4>/28 |
<GW4> |
RMN egress NAT pool | 10.134.0.0/24 (VLAN 134) | ⏳ Pending |
| #5 | <PUBLIC_BLOCK_5>/28 |
<GW5> |
Sankofa/Phoenix/PanTel service egress | 10.160.0.0/22 (VLAN 160) | ⏳ Pending |
| #6 | <PUBLIC_BLOCK_6>/28 |
<GW6> |
Sovereign Cloud Band tenant egress | 10.200.0.0/20-10.203.0.0/20 (VLANs 200-203) | ⏳ Pending |
Configuration Requirements:
- Configure outbound NAT pools on ER605-A
- Map each private subnet to its designated public IP block
- Enable PAT (Port Address Translation)
- Configure firewall rules for egress traffic
- Document IP allowlisting requirements
4. API Integration & Automation
4.1 Omada API Library
Location: /home/intlc/projects/proxmox/omada-api/
Status: ✅ Implemented
Features:
- TypeScript library for Omada Controller REST API
- OAuth2 authentication with automatic token refresh
- Support for all Omada devices (ER605, ES216G, EAP)
- Device management (list, configure, reboot, adopt)
- Network configuration (VLANs, DHCP, routing)
- Firewall and NAT rule management
- Switch port configuration and PoE management
- Router WAN/LAN configuration
4.2 MCP Server
Location: /home/intlc/projects/proxmox/mcp-omada/
Status: ✅ Implemented
Features:
- Model Context Protocol server for Omada devices
- Claude Desktop integration
- Available tools:
omada_list_devices- List all devicesomada_get_device- Get device detailsomada_list_vlans- List VLAN configurationsomada_get_vlan- Get VLAN detailsomada_reboot_device- Reboot a deviceomada_get_device_statistics- Get device statisticsomada_list_firewall_rules- List firewall rulesomada_get_switch_ports- Get switch port configurationomada_get_router_wan- Get router WAN configurationomada_list_sites- List all sites
Configuration:
- Environment variables loaded from
~/.env - Base URL:
https://192.168.11.8:8043 - Client ID: Configured
- Client Secret: Configured
- Site ID:
090862bebcb1997bb263eea9364957fe - SSL Verification: Disabled
Connection Status: ⚠️ Cannot connect to controller (network issue or controller offline)
4.3 Test Script
Location: /home/intlc/projects/proxmox/test-omada-connection.js
Status: ✅ Implemented
Purpose: Test Omada API connection and authentication
Last Test Result: ❌ Failed (Network error: Failed to connect)
Possible Causes:
- Controller not accessible from current environment
- Network connectivity issue
- Firewall blocking connection
- Controller service offline
5. Configuration Issues & Discrepancies
5.1 IP Address Discrepancy
Issue: Omada Controller IP mismatch
- Documented: 192.168.11.10 (ML110 management IP)
- Actual Configuration: 192.168.11.8:8043
Impact:
- API connections may fail if using documented IP
- Documentation inconsistency
Recommendation:
- Verify actual controller IP and update documentation
- Clarify if controller runs on different host or if IP changed
- Update all references in documentation
5.2 Authentication Method
Issue: Authentication method confusion
Documented: OAuth Client Credentials mode
Actual: May require admin username/password (see OMADA_AUTH_NOTE.md)
Note: The Omada Controller API /api/v2/login endpoint may require admin username/password, not OAuth Client ID/Secret.
Recommendation:
- Verify actual authentication method required
- Update code or configuration accordingly
- Document correct authentication approach
5.3 Device Adoption Status
Issue: Unknown device adoption status
Status: Not verified
Questions:
- Are ER605-A and ER605-B adopted in Omada Controller?
- Are ES216G-1, ES216G-2, and ES216G-3 adopted?
- What is the actual device inventory?
Recommendation:
- Query Omada Controller to list all adopted devices
- Verify device names, IPs, firmware versions
- Document actual hardware inventory
- Verify device connectivity and status
5.4 Configuration Completeness
Issue: Many configurations are planned but not implemented
Missing Configurations:
- ER605-A: VLAN interfaces (16+ VLANs)
- ER605-A: WAN2 failover configuration
- ER605-A: Role-based egress NAT pools (Blocks #2-6)
- ER605-B: Complete configuration
- ES216G switches: Trunk port configuration
- ES216G switches: VLAN configuration
- Proxmox: VLAN-aware bridge configuration
- Services: VLAN migration from flat LAN
Recommendation:
- Prioritize Phase 1 (VLAN Enablement)
- Create detailed implementation checklist
- Execute configurations in logical order
- Verify each step before proceeding
6. Deployment Status Summary
Phase 0 — Foundation ✅
- ER605 replaced by UDM Pro (76.53.10.34); port forward 76.53.10.36:80/443 → 192.168.11.167
- Proxmox mgmt accessible
- Basic containers deployed
- Omada Controller operational
- API integration code implemented
Phase 1 — VLAN Enablement ⏳
- ES216G trunk ports configured
- VLAN-aware bridge enabled on Proxmox
- VLAN interfaces created on ER605-A
- Services migrated to VLANs
- VLAN routing verified
Phase 2 — Observability ⏳
- Monitoring stack deployed
- Grafana published via Cloudflare Access
- Alerts configured
- Device monitoring enabled
Phase 3 — CCIP Fleet ⏳
- CCIP Ops/Admin deployed
- 16 commit nodes deployed
- 16 execute nodes deployed
- 7 RMN nodes deployed
- NAT pools configured (Blocks #2-4)
Phase 4 — Sovereign Tenants ⏳
- Sovereign VLANs configured
- Tenant isolation enforced
- Access control configured
- NAT pools configured (Block #6)
7. Recommendations
7.1 Immediate Actions (This Week)
-
Verify Device Inventory
- Connect to Omada Controller web interface
- Document all adopted devices (routers, switches, APs)
- Verify device names, IPs, firmware versions
- Check device connectivity status
-
Resolve IP Discrepancy
- Verify actual Omada Controller IP (192.168.11.8 vs 192.168.11.10)
- Update documentation with correct IP
- Verify API connectivity from management host
-
Fix API Authentication
- Verify required authentication method (OAuth vs admin credentials)
- Update code/configuration accordingly
- Test API connection successfully
-
Document Current Configuration
- Export ER605-A configuration
- Document actual VLAN configuration (if any)
- Document actual switch configuration (if any)
- Create baseline configuration document
7.2 Short-term Actions (This Month)
-
Complete ER605-A Configuration
- Configure WAN2 failover
- Create VLAN interfaces for all planned VLANs
- Configure DHCP for each VLAN (if needed)
- Test inter-VLAN routing
-
Configure ES216G Switches
- Configure trunk ports (802.1Q)
- Configure VLANs on switches
- Verify VLAN tagging
- Test connectivity between switches
-
Enable VLAN-aware Bridge on Proxmox
- Configure vmbr0 for VLAN-aware mode
- Test VLAN tagging on container interfaces
- Verify connectivity to ER605 VLAN interfaces
-
Begin VLAN Migration
- Migrate one service VLAN as pilot
- Verify routing and connectivity
- Migrate remaining services systematically
7.3 Medium-term Actions (This Quarter)
-
Configure NAT Pools
- Obtain public IP blocks #2-6
- Configure role-based egress NAT pools
- Test allowlisting functionality
- Document IP usage per role
-
Configure ER605-B
- Decide on role (standby vs dedicated sovereign edge)
- Configure according to chosen role
- Test failover (if standby)
-
Implement Monitoring
- Deploy monitoring stack
- Configure device monitoring
- Set up alerts for device failures
- Create dashboards for network status
-
Complete CCIP Fleet Deployment
- Deploy all CCIP nodes
- Configure NAT pools for CCIP VLANs
- Verify connectivity and routing
8. Configuration Files Reference
8.1 Environment Configuration
Location: ~/.env
OMADA_CONTROLLER_URL=https://192.168.11.8:8043
OMADA_API_KEY=273615420c01452a8a2fd2e00a177eda
OMADA_API_SECRET=8d3dc336675e4b04ad9c1614a5b939cc
OMADA_SITE_ID=090862bebcb1997bb263eea9364957fe
OMADA_VERIFY_SSL=false
8.2 Documentation Files
- Network Architecture:
docs/02-architecture/NETWORK_ARCHITECTURE.md - ER605 Configuration Guide:
docs/04-configuration/ER605_ROUTER_CONFIGURATION.md - Omada API Setup:
docs/04-configuration/OMADA_API_SETUP.md - Deployment Status:
docs/03-deployment/DEPLOYMENT_STATUS_CONSOLIDATED.md - Authentication Notes:
OMADA_AUTH_NOTE.md
8.3 Code Locations
- Omada API Library:
omada-api/ - MCP Server:
mcp-omada/ - Test Script:
test-omada-connection.js
9. Verification Checklist
Use this checklist to verify current configuration:
Hardware Verification
- ER605-A is adopted in Omada Controller
- UDM Pro port forward: 76.53.10.36:80/443 → 192.168.11.167:80/443 (NPMplus)
- ER605-A can reach internet via WAN1
- ER605-B is adopted (if deployed)
- ES216G-1 is adopted and accessible
- ES216G-2 is adopted and accessible
- ES216G-3 is adopted and accessible
- All switches are manageable via Omada Controller
Network Verification
- Current flat LAN (192.168.11.0/24) is operational
- Gateway (192.168.11.1) is reachable
- DNS resolution works
- Inter-VLAN routing works (if VLANs configured)
- Switch trunk ports are configured correctly
API Verification
- Omada Controller API is accessible
- API authentication works
- Can list devices via API
- Can query device details via API
- Can list VLANs via API
- MCP server can connect and function
Configuration Verification
- ER605-A configuration matches documentation
- VLAN interfaces exist (if VLANs configured)
- Switch VLANs match router VLANs
- Proxmox VLAN-aware bridge is configured (if VLANs configured)
- NAT pools are configured (if public blocks assigned)
10. Next Steps
- Verify actual hardware inventory by querying Omada Controller
- Resolve IP discrepancy and update documentation
- Fix API connectivity and authentication
- Create detailed implementation plan for Phase 1 (VLAN Enablement)
- Execute Phase 1 systematically with verification at each step
- Document actual configuration as implementation progresses
Document Status: Complete (Initial Review)
Maintained By: Infrastructure Team
Review Cycle: Monthly
Last Updated: 2025-01-20