Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
- 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>
173 lines
4.5 KiB
Markdown
173 lines
4.5 KiB
Markdown
# UDM Pro - Manual Static Route Creation
|
|
|
|
**Last Updated:** 2026-01-14
|
|
**Status:** Active Documentation
|
|
**Issue:** Add button not visible, automation unable to find it
|
|
|
|
---
|
|
|
|
## Quick Steps
|
|
|
|
1. **Open Browser:** `https://192.168.0.1`
|
|
2. **Login:** `unifi_api` / `L@kers2010$$`
|
|
3. **Navigate:** Settings → Routing & Firewall → Static Routes
|
|
4. **Find Add Button** (see locations below)
|
|
5. **Fill Form:**
|
|
- Name: `Route to VLAN 11`
|
|
- Destination: `192.168.11.0/24`
|
|
- Gateway: `192.168.11.1`
|
|
- Distance: `1`
|
|
6. **Click Save**
|
|
7. **Test:** `ping 192.168.11.10`
|
|
|
|
---
|
|
|
|
## Finding the Add Button
|
|
|
|
### Location 1: Empty State
|
|
If no routes exist, you might see:
|
|
- Large button: "Create Route" or "Add Route"
|
|
- Text: "Create your first route" (click it)
|
|
- Empty state message in center of page
|
|
|
|
### Location 2: Tabs
|
|
Look for tabs at the top:
|
|
- "Static Routes"
|
|
- "IPv4 Routes"
|
|
- "Routes"
|
|
- Click different tabs to see if Add button appears
|
|
|
|
### Location 3: Top-Right Corner
|
|
- Look for "+" icon button
|
|
- "Add" text button
|
|
- Usually in toolbar/header area
|
|
|
|
### Location 4: Table Header
|
|
- If routes table exists, check header row
|
|
- Look for "+" icon in header
|
|
- "Add" button in table toolbar
|
|
|
|
### Location 5: Scroll Down
|
|
- Button might be below visible area
|
|
- Scroll the page down
|
|
- Check bottom of routes section
|
|
|
|
### Location 6: Browser DevTools
|
|
1. Press **F12** to open DevTools
|
|
2. Go to **Console** tab
|
|
3. Type and press Enter:
|
|
```javascript
|
|
document.querySelectorAll('button, a').forEach((btn, i) => {
|
|
const text = btn.textContent.trim();
|
|
if (text.toLowerCase().includes('add') ||
|
|
text.toLowerCase().includes('create') ||
|
|
text.toLowerCase().includes('route')) {
|
|
console.log(i, text, btn.className, btn.id);
|
|
btn.style.border = '3px solid red'; // Highlight it
|
|
}
|
|
});
|
|
```
|
|
4. This will highlight any buttons with "add", "create", or "route" in the text
|
|
|
|
---
|
|
|
|
## Alternative: Direct URL (If Available)
|
|
|
|
Try navigating directly to the Add Route form:
|
|
- `https://192.168.0.1/network/default/settings/routing/add`
|
|
- `https://192.168.0.1/network/default/settings/routing/new`
|
|
- `https://192.168.0.1/network/default/settings/routing/create`
|
|
|
|
---
|
|
|
|
## Troubleshooting
|
|
|
|
### Still Can't Find Add Button?
|
|
|
|
1. **Check Permissions:**
|
|
- Ensure `unifi_api` account has network management permissions
|
|
- Verify account is admin-level
|
|
|
|
2. **Try Different Browser:**
|
|
- Chrome, Firefox, Edge
|
|
- Clear cache and cookies
|
|
|
|
3. **Check Page Source:**
|
|
- Right-click page → View Page Source
|
|
- Search for "add" or "route"
|
|
- Look for button elements
|
|
|
|
4. **Refresh Page:**
|
|
- Press F5 to refresh
|
|
- Wait for page to fully load
|
|
- Try again
|
|
|
|
5. **Check for JavaScript Errors:**
|
|
- Press F12 → Console tab
|
|
- Look for red error messages
|
|
- Report any errors
|
|
|
|
---
|
|
|
|
## Route Configuration Details
|
|
|
|
**Route Name:** Route to VLAN 11
|
|
**Destination Network:** 192.168.11.0/24
|
|
**Gateway:** 192.168.11.1
|
|
**Distance:** 1
|
|
**Interface:** (leave default or select VLAN 11 interface)
|
|
|
|
---
|
|
|
|
## Verification
|
|
|
|
After creating the route:
|
|
|
|
1. **Check Route List:**
|
|
- Should see "Route to VLAN 11" in the list
|
|
- Verify destination and gateway are correct
|
|
|
|
2. **Test Connectivity:**
|
|
```bash
|
|
ping -c 3 192.168.11.1 # Gateway
|
|
ping -c 3 192.168.11.10 # Proxmox host
|
|
```
|
|
|
|
3. **Check Routing Table (via API):**
|
|
```bash
|
|
cd /home/intlc/projects/proxmox
|
|
NODE_TLS_REJECT_UNAUTHORIZED=0 node -e "
|
|
const https = require('https');
|
|
const fs = require('fs');
|
|
const env = fs.readFileSync(require('os').homedir() + '/.env', 'utf8')
|
|
.split('\n').filter(l => l.includes('='))
|
|
.reduce((acc, l) => {
|
|
const [k, ...v] = l.split('=');
|
|
acc[k.trim()] = v.join('=').trim().replace(/^['\"]|['\"]$/g, '');
|
|
return acc;
|
|
}, {});
|
|
const options = {
|
|
hostname: '192.168.0.1',
|
|
path: '/proxy/network/api/s/default/rest/routing',
|
|
method: 'GET',
|
|
headers: { 'Authorization': 'Bearer ' + (env.UNIFI_API_KEY || '') },
|
|
rejectUnauthorized: false
|
|
};
|
|
https.request(options, (res) => {
|
|
let data = '';
|
|
res.on('data', d => data += d);
|
|
res.on('end', () => {
|
|
try {
|
|
const routes = JSON.parse(data).data || [];
|
|
console.log('Routes:', routes.length);
|
|
routes.forEach(r => console.log(r.name, r.network, r.gateway));
|
|
} catch(e) { console.log('Error:', e.message); }
|
|
});
|
|
}).on('error', e => console.error(e.message)).end();
|
|
" 2>&1 | grep -v Warning
|
|
```
|
|
|
|
---
|
|
|
|
**Last Updated:** 2026-01-14
|