# Reserved IP Conflicts - Fix Complete

**Date**: 2026-01-02  
**Status**: ✅ **FIXED**  
**Reserved Range**: 192.168.11.10 - 192.168.11.25 (Physical Servers)

---

## ✅ Issues Fixed

### VMIDs Using Reserved IPs - FIXED

| VMID | Hostname | Old IP | New IP | Node | Status |
|------|----------|--------|--------|------|--------|
| 105 | nginxproxymanager | 192.168.11.21 | **192.168.11.26** | r630-02 | ✅ Changed |
| 130 | monitoring-1 | 192.168.11.22 | **192.168.11.27** | r630-02 | ✅ Changed |

---

## About 192.168.11.14

**192.168.11.14** is responding because it's the **physical server r630-04**, not a VMID.

**Physical Server Information**:
- **Hostname**: r630-04
- **IP**: 192.168.11.14
- **External IP**: 76.53.10.39
- **Status**: ✅ Reachable (but has SSH password and Proxmox Web UI issues)

**This is correct** - the IP belongs to the physical server, not a container.

---

## Changes Made

### VMID 105 (nginxproxymanager)
- **Old IP**: 192.168.11.21 (reserved for physical servers)
- **New IP**: 192.168.11.26 ✅
- **Node**: r630-02
- **Service**: Nginx Proxy Manager
- **Action**: IP changed, container needs to be started

### VMID 130 (monitoring-1)
- **Old IP**: 192.168.11.22 (reserved for physical servers)
- **New IP**: 192.168.11.27 ✅
- **Node**: r630-02
- **Service**: Monitoring service
- **Action**: IP changed, container needs to be started

---

## Reserved IP Range

The following IPs are now reserved exclusively for physical servers:

| IP Range | Purpose |
|----------|---------|
| 192.168.11.10 | ml110 (Management Node) |
| 192.168.11.11 | r630-01 (Proxmox Compute Node) |
| 192.168.11.12 | r630-02 (Proxmox Compute Node) |
| 192.168.11.13 | r630-03 (Proxmox Compute Node) |
| 192.168.11.14 | r630-04 (Proxmox Compute Node) |
| 192.168.11.15 | r630-05 (Proxmox Compute Node) |
| 192.168.11.16-25 | Reserved for future physical servers |

**Status**: ✅ No VMIDs are using this range anymore

---

## Next Steps

### 1. Start Containers (if not running)

```bash
# Start containers on r630-02
ssh root@192.168.11.12 "pct start 105 && pct start 130"

# Verify they're running
ssh root@192.168.11.12 "pct list | grep -E '105|130'"
```

### 2. Update Configuration Files

Update any configuration files that reference the old IPs:

**Old IPs**:
- 192.168.11.21 (nginxproxymanager)
- 192.168.11.22 (monitoring-1)

**New IPs**:
- 192.168.11.26 (nginxproxymanager)
- 192.168.11.27 (monitoring-1)

**Files to check**:
- DNS records
- Firewall rules
- Service configurations
- Monitoring configurations
- Load balancer configurations
- Cloudflare tunnel routes (if applicable)

### 3. Test Services

```bash
# Test Nginx Proxy Manager
curl -k https://192.168.11.26:8443

# Test Monitoring service
curl -k https://192.168.11.27:3000  # (adjust port as needed)
```

### 4. Update Documentation

Update any documentation that references the old IPs:
- `VMID_IP_ADDRESS_LIST.md`
- Service configuration files
- Network diagrams

---

## Verification

### Check New IPs

```bash
# Verify VMID 105
ssh root@192.168.11.12 "pct config 105 | grep net0"
# Should show: ip=192.168.11.26/24

# Verify VMID 130
ssh root@192.168.11.12 "pct config 130 | grep net0"
# Should show: ip=192.168.11.27/24
```

### Test Connectivity

```bash
# Test new IPs
ping -c 2 192.168.11.26
ping -c 2 192.168.11.27

# Test services
curl -k https://192.168.11.26:8443  # Nginx Proxy Manager
```

---

## Storage Issue Note

The containers showed a storage warning: "no such logical volume pve/thin1"

This is a storage configuration issue on r630-02, not related to the IP change. The containers may need:
- Storage pool activation
- Storage configuration fix

See `docs/PROXMOX_CLUSTER_STORAGE_STATUS_REPORT.md` for storage configuration details.

---

## Summary

✅ **All reserved IP conflicts resolved**
- VMID 105: 192.168.11.21 → 192.168.11.26
- VMID 130: 192.168.11.22 → 192.168.11.27

✅ **192.168.11.14 is correctly the physical server r630-04**

✅ **Reserved range (192.168.11.10-25) is now free for physical servers**

---

**Last Updated**: 2026-01-02  
**Fix Script**: `scripts/fix-reserved-ip-conflicts.sh`  
**Status**: ✅ Complete
