- Organized 252 files across project - Root directory: 187 → 2 files (98.9% reduction) - Moved configuration guides to docs/04-configuration/ - Moved troubleshooting guides to docs/09-troubleshooting/ - Moved quick start guides to docs/01-getting-started/ - Moved reports to reports/ directory - Archived temporary files - Generated comprehensive reports and documentation - Created maintenance scripts and guides All files organized according to established standards.
6.1 KiB
VMID IP Configuration Issues - Analysis
Date: 2026-01-02
Status: ⚠️ CRITICAL ISSUES FOUND
Summary
Analysis of Proxmox container IP configurations has identified real IP conflicts and invalid IP assignments:
- 4 duplicate IP conflicts (same IP on same bridge)
- 1 invalid IP (network address
.0) - All conflicts are on
vmbr0bridge (same L2 network)
Critical Issues
1. Duplicate IP Addresses (Same Bridge)
These containers share the same IP address on the same network bridge (vmbr0), creating real conflicts:
| IP Address | VMID 1 | Service 1 | VMID 2 | Service 2 | Bridge | Status |
|---|---|---|---|---|---|---|
| 192.168.11.100 | 1000 | besu-validator-1 | 10100 | dbis-postgres-primary | vmbr0 | ⚠️ CONFLICT |
| 192.168.11.101 | 1001 | besu-validator-2 | 10101 | dbis-postgres-replica-1 | vmbr0 | ⚠️ CONFLICT |
| 192.168.11.150 | 1500 | besu-sentry-1 | 10150 | dbis-api-primary | vmbr0 | ⚠️ CONFLICT |
| 192.168.11.151 | 1501 | besu-sentry-2 | 10151 | dbis-api-secondary | vmbr0 | ⚠️ CONFLICT |
Impact: These containers cannot both be running at the same time without network issues. Only one container can use each IP on the same bridge.
2. Invalid IP Address (Network Address)
| VMID | IP Address | Service | Issue | Status |
|---|---|---|---|---|
| 6400 | 192.168.11.0/24 | indy-1 | Uses network address (.0) |
⚠️ INVALID |
Impact: .0 is reserved as the network address for a /24 subnet and should never be assigned to a host. This will cause network routing issues.
Root Cause Analysis
DBIS Containers (10100-10151)
According to the codebase:
- DBIS = Database Infrastructure Services (Core Banking System)
- VMIDs 10100-10151 are planned DBIS containers
- These were configured with IPs that conflict with existing Besu blockchain nodes
- The deployment plan shows these were intended to be deployed, but IP conflicts were not resolved
Configuration Evidence
From dbis_core/DEPLOYMENT_PLAN.md:
| Service | VMID | IP Address |
|---------|------|------------|
| PostgreSQL Primary | 10100 | 192.168.11.100 |
| PostgreSQL Replica | 10101 | 192.168.11.101 |
| Backend API Primary | 10150 | 192.168.11.150 |
| Backend API Secondary | 10151 | 192.168.11.151 |
Note: The deployment plan shows these IPs, but they conflict with existing blockchain infrastructure.
Current Status
All conflicting containers are currently running, which means:
- Only one container per IP is actually reachable
- Network traffic may be misrouted
- Services may be inaccessible
- This is a production issue requiring immediate resolution
Recommended Solutions
Option 1: Reassign DBIS Container IPs (Recommended)
Since the blockchain nodes (1000-1501) are production infrastructure, reassign DBIS containers to unused IPs.
Suggested IPs for DBIS containers:
- VMID 10100 →
192.168.11.105(next available after validators) - VMID 10101 →
192.168.11.106 - VMID 10150 →
192.168.11.155(next available after sentries) - VMID 10151 →
192.168.11.156
Implementation:
# Stop the container
pct stop 10100
# Change IP address
pct set 10100 -net0 "name=eth0,bridge=vmbr0,gw=192.168.11.1,ip=192.168.11.105/24,hwaddr=BC:24:11:78:CB:5B,type=veth"
# Update internal configuration if needed
pct start 10100
Option 2: Move DBIS Containers to Separate Bridge/VLAN
If DBIS services need isolation:
- Create a new bridge (e.g.,
vmbr1) - Configure separate VLAN/subnet for DBIS containers
- Assign DBIS containers to new bridge
Option 3: Stop Conflicting Containers
If DBIS containers are not in active use:
- Stop VMIDs 10100, 10101, 10150, 10151
- Keep blockchain nodes (1000, 1001, 1500, 1501) active
- Plan IP reassignment when DBIS is needed
Fix for VMID 6400
Change IP from .0 to a valid host IP:
# Stop container
pct stop 6400
# Change to valid IP (e.g., .64 to match pattern)
pct set 6400 -net0 "name=eth0,bridge=vmbr0,gw=192.168.11.1,ip=192.168.11.64/24,hwaddr=BC:24:11:F7:E8:B8,type=veth"
# Start container
pct start 6400
Action Items
Immediate (Critical)
- ✅ Document conflicts (this document)
- ⏳ Verify which containers are actually accessible (test connectivity)
- ⏳ Decide resolution strategy (reassign IPs, move to separate bridge, or stop containers)
- ⏳ Fix VMID 6400 (change from
.0to valid IP)
Short-term
- ⏳ Implement IP reassignment for DBIS containers
- ⏳ Update deployment documentation to reflect correct IPs
- ⏳ Update DNS/configuration if IPs change
- ⏳ Verify network connectivity after changes
Long-term
- ⏳ Create IP allocation tracking system
- ⏳ Implement pre-deployment conflict checks
- ⏳ Document IP allocation ranges per service
Verification Commands
Check for duplicate IPs:
ssh root@192.168.11.10 '
pct list | awk "NR>1{print \$1}" | while read -r vmid; do
pct config "$vmid" 2>/dev/null | sed -n "s/.*ip=\([^,]*\).*/\$vmid \1/p"
done | sed "s#/.*##" | awk "\$2 != \"dhcp\" && \$2 != \"N/A\"" | \
sort -k2,2 | awk "{ ips[\$2]=ips[\$2] ? ips[\$2] \",\" \$1 : \$1; count[\$2]++ } \
END { for (ip in count) if (count[ip] > 1) print ip \" -> \" ips[ip] }" | sort -V'
Check for invalid IPs (.0, .255):
ssh root@192.168.11.10 '
pct list | awk "NR>1{print \$1}" | while read -r vmid; do
ip=$(pct config "$vmid" 2>/dev/null | sed -n "s/.*ip=\([^,]*\).*/\1/p")
if [ -n "$ip" ] && [ "$ip" != "dhcp" ]; then
ipbase=${ip%/*}
last=${ipbase##*.}
if [ "$last" = "0" ] || [ "$last" = "255" ]; then
echo "$vmid $ip"
fi
fi
done'
Check container network config:
pct config <VMID> | grep -E "^net[0-9]+:"
References
dbis_core/DEPLOYMENT_PLAN.md- DBIS deployment configurationdbis_core/config/dbis-core-proxmox.conf- DBIS VMID allocationVMID_IP_ADDRESS_LIST.md- Complete VMID/IP listing
Last Updated: 2026-01-02
Status: ⚠️ Action Required