Files
proxmox/scripts/split-dns-rpc-chain138.sh

49 lines
2.3 KiB
Bash
Raw Permalink Normal View History

#!/usr/bin/env bash
# Print Split DNS records for Chain 138 RPC (internal LAN resolution to NPMplus).
# Use these in UniFi DNS or your LAN resolver so internal clients reach ${IP_NPMPLUS:-${IP_NPMPLUS:-192.168.11.167}}
# instead of 76.53.10.36 (avoids NAT hairpin). Public DNS stays 76.53.10.36.
# Run from repo root; NPM_HOST from .env if set.
set -euo pipefail
# Load IP configuration
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
source "${PROJECT_ROOT}/config/ip-addresses.conf" 2>/dev/null || true
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
cd "$PROJECT_ROOT"
if [ -f .env ]; then
set +u
# shellcheck source=/dev/null
source .env 2>/dev/null || true
set -u
fi
NPM_HOST="${NPM_HOST:-${IP_NPMPLUS:-192.168.11.167}}"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "Split DNS for Chain 138 RPC (internal LAN → NPMplus)"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "Add these A records in your internal DNS (e.g. UniFi) so LAN clients"
echo "resolve RPC hostnames to $NPM_HOST (NPMplus) instead of the public IP."
echo ""
echo " Hostname → $NPM_HOST"
echo " ─────────────────────────────────────────────"
echo " rpc-http-pub.d-bis.org → $NPM_HOST"
echo " rpc-ws-pub.d-bis.org → $NPM_HOST"
echo " rpc.d-bis.org → $NPM_HOST"
echo " rpc2.d-bis.org → $NPM_HOST"
echo " ws.rpc.d-bis.org → $NPM_HOST"
echo " ws.rpc2.d-bis.org → $NPM_HOST"
echo " rpc.defi-oracle.io → $NPM_HOST"
echo " wss.defi-oracle.io → $NPM_HOST"
echo ""
echo "Result: LAN traffic stays on LAN; internet clients still use public IP."
echo "See: docs/04-configuration/RPC_CHAIN138_VERIFICATION.md"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"