Files
explorer-monorepo/NPMPLUS_CORRECT_IP_FOUND.md

152 lines
4.5 KiB
Markdown
Raw Normal View History

# NPMplus Correct IP Address Found
**Date**: 2026-01-21
**Discovery**: NPMplus is accessible on **192.168.11.167**, not 192.168.11.166
---
## Critical Finding
### ✅ NPMplus IS Accessible
**Correct IP**: `192.168.11.167`
**Status**: ✅ **WORKING** (HTTP 308 redirect)
**Wrong IP**: `192.168.11.166`
**Status**: ❌ Connection refused
---
## Container Network Configuration
The NPMplus container (VMID 10233) has **two network interfaces**:
1. **eth0** (net0): `192.168.11.166/24` ❌ Not accessible
2. **eth1** (net1): `192.168.11.167/24`**Accessible**
NPMplus is listening on `0.0.0.0:80/443`, which should work on both interfaces, but:
- Connections to 192.168.11.166 → **Connection refused**
- Connections to 192.168.11.167 → **HTTP 308** (working!)
---
## Root Cause
**Docker host network mode** in LXC containers can cause issues with multiple network interfaces. NPMplus appears to be binding to `eth1` (192.168.11.167) instead of `eth0` (192.168.11.166).
---
## Solution Options
### Option 1: Update NPMplus Configuration to Use 192.168.11.167 (Quick Fix)
**Update NPMplus proxy host configuration** to forward to VMID 5000 using the correct IP:
```bash
# Check current configuration
ssh root@192.168.11.10 "ssh root@r630-01 'pct exec 10233 -- docker exec npmplus node -e \"const Database = require(\\\"better-sqlite3\\\"); const db = new Database(\\\"/data/npmplus/database.sqlite\\\"); const host = db.prepare(\\\"SELECT * FROM proxy_host WHERE domain_names LIKE \\\\\\\"%explorer.d-bis.org%\\\\\\\"\\\").get(); console.log(JSON.stringify(host, null, 2)); db.close();\"'"
# Update forward_host to 192.168.11.140 (VMID 5000) - this should already be correct
# The issue is NPMplus itself is on 192.168.11.167, not 192.168.11.166
```
**Note**: The proxy host configuration (forwarding to VMID 5000) should already be correct. The issue is that external connections need to reach NPMplus on 192.168.11.167.
### Option 2: Update UDM Pro Port Forwarding (Recommended)
**Change port forwarding rules** to forward to **192.168.11.167** instead of 192.168.11.166:
1. Access UDM Pro Web UI
2. Go to: Settings → Firewall & Security → Port Forwarding
3. Find rules for `76.53.10.36:80/443`
4. Change destination IP from `192.168.11.166` to `192.168.11.167`
5. Save and wait 30 seconds
### Option 3: Fix Container Network (Long-term Fix)
**Remove duplicate network interface** or configure NPMplus to use eth0:
```bash
ssh root@r630-01
# Check current network config
pct config 10233 | grep net
# Option A: Remove net1 (if not needed)
pct set 10233 --delete net1
# Option B: Or ensure NPMplus binds to eth0
# This may require recreating Docker container with bridge network
```
---
## Immediate Action Required
### Step 1: Update UDM Pro Port Forwarding
**Change destination IP from 192.168.11.166 to 192.168.11.167**
1. UDM Pro Web UI → Settings → Firewall & Security → Port Forwarding
2. Edit rules for `76.53.10.36:80/443`
3. Change destination: `192.168.11.166``192.168.11.167`
4. Save
### Step 2: Verify NPMplus Proxy Host Configuration
**Ensure explorer.d-bis.org forwards to VMID 5000 (192.168.11.140)**:
```bash
ssh root@192.168.11.10 "ssh root@r630-01 'pct exec 10233 -- docker exec npmplus node -e \"const Database = require(\\\"better-sqlite3\\\"); const db = new Database(\\\"/data/npmplus/database.sqlite\\\"); const host = db.prepare(\\\"SELECT domain_names, forward_host, forward_port FROM proxy_host WHERE domain_names LIKE \\\\\\\"%explorer.d-bis.org%\\\\\\\"\\\").get(); console.log(JSON.stringify(host, null, 2)); db.close();\"'"
```
**Expected**: Should show `forward_host: "192.168.11.140"` (VMID 5000)
### Step 3: Test External Access
After updating port forwarding:
```bash
# From external network (tethering)
curl -I https://explorer.d-bis.org
```
---
## Verification Commands
### Test NPMplus Direct Access
```bash
# Should work
curl -I http://192.168.11.167:80
# Should fail
curl -I http://192.168.11.166:80
```
### Test NPMplus → VMID 5000
```bash
ssh root@r630-01
pct exec 10233 -- curl -H "Host: explorer.d-bis.org" http://192.168.11.140:80
```
### Test External Access
```bash
# From external network
curl -v https://explorer.d-bis.org
```
---
## Summary
**Problem**: NPMplus was configured to use 192.168.11.166, but it's actually accessible on 192.168.11.167
**Solution**: Update UDM Pro port forwarding rules to use 192.168.11.167
**Status**: ✅ **FIX IDENTIFIED** - Update port forwarding destination IP
---
**Next Step**: Update UDM Pro port forwarding to use 192.168.11.167 instead of 192.168.11.166