#!/bin/bash
#
# Fix port forwarding with correct IP (142.93.23.112)
# Run this on 7rntst gateway
#
# Usage: sudo bash fix-port-forwarding-ip.sh
#
set -e
if [ "$EUID" -ne 0 ]; then
echo "Please run as root: sudo bash fix-port-forwarding-ip.sh"
exit 1
fi
PUBLIC_IP="142.93.23.112"
OLD_IP="71.234.195.83"
TABERTRON_IP="10.22.0.1"
echo "🔧 Fixing port forwarding rules..."
echo " Removing old IP: $OLD_IP"
echo " Adding new IP: $PUBLIC_IP"
echo " Tabertron: $TABERTRON_IP"
echo ""
# Remove old rules (ignore errors if they don't exist)
echo "1. Removing old rules..."
iptables -t nat -D PREROUTING -d $OLD_IP -p udp --dport 3478 -j DNAT --to-destination $TABERTRON_IP:3478 2>/dev/null || true
iptables -t nat -D PREROUTING -d $OLD_IP -p tcp --dport 3478 -j DNAT --to-destination $TABERTRON_IP:3478 2>/dev/null || true
iptables -t nat -D PREROUTING -d $OLD_IP -p tcp --dport 5349 -j DNAT --to-destination $TABERTRON_IP:5349 2>/dev/null || true
iptables -t nat -D PREROUTING -d $OLD_IP -p udp --dport 49152:65535 -j DNAT --to-destination $TABERTRON_IP:49152-65535 2>/dev/null || true
# Clean up any duplicates
iptables -t nat -D PREROUTING -d $OLD_IP -p udp --dport 3478 -j DNAT --to-destination $TABERTRON_IP:3478 2>/dev/null || true
iptables -t nat -D PREROUTING -d $OLD_IP -p tcp --dport 3478 -j DNAT --to-destination $TABERTRON_IP:3478 2>/dev/null || true
iptables -t nat -D PREROUTING -d $OLD_IP -p tcp --dport 5349 -j DNAT --to-destination $TABERTRON_IP:5349 2>/dev/null || true
iptables -t nat -D PREROUTING -d $OLD_IP -p udp --dport 49152:65535 -j DNAT --to-destination $TABERTRON_IP:49152-65535 2>/dev/null || true
# Add new rules with correct IP
echo "2. Adding new rules with $PUBLIC_IP..."
iptables -t nat -A PREROUTING -d $PUBLIC_IP -p udp --dport 3478 -j DNAT --to-destination $TABERTRON_IP:3478
iptables -t nat -A PREROUTING -d $PUBLIC_IP -p tcp --dport 3478 -j DNAT --to-destination $TABERTRON_IP:3478
iptables -t nat -A PREROUTING -d $PUBLIC_IP -p tcp --dport 5349 -j DNAT --to-destination $TABERTRON_IP:5349
iptables -t nat -A PREROUTING -d $PUBLIC_IP -p udp --dport 49152:65535 -j DNAT --to-destination $TABERTRON_IP:49152-65535
# Save rules
echo "3. Saving iptables rules..."
mkdir -p /etc/iptables
iptables-save > /etc/iptables/rules.v4
echo ""
echo "✅ Port forwarding fixed!"
echo ""
echo "Forwarded ports:"
echo " $PUBLIC_IP:3478 (UDP) → $TABERTRON_IP:3478"
echo " $PUBLIC_IP:3478 (TCP) → $TABERTRON_IP:3478"
echo " $PUBLIC_IP:5349 (TCP) → $TABERTRON_IP:5349"
echo " $PUBLIC_IP:49152-65535 (UDP) → $TABERTRON_IP:49152-65535"
echo ""
echo "📋 Next: On Tabertron, run:"
echo " cd /storage/projects/code/hypercore-kb/hyper-fleeky/repos/wirecore"
echo " sudo bash update-turn-server-ip.sh"
echo ""