Update unraid-config.sh

This commit is contained in:
HHF Technology 2024-12-08 17:01:26 +05:30
parent cda00cd35c
commit 029e88bf67

View file

@ -50,35 +50,39 @@ fix_routing() {
# Delete any conflicting default routes
ip route del default 2>/dev/null
ip route del 0.0.0.0/0 dev tailscale1 2>/dev/null
ip route del 0.0.0.0/0 dev wg0 2>/dev/null
ip route del 0.0.0.0/0 2>/dev/null
# Get default gateway from br0
local DEFAULT_GATEWAY=$(ip route | grep br0 | grep default | awk '{print $3}')
local TAILSCALE_NET=$(ip route | grep tailscale1 | grep -v default | head -n1 | awk '{print $1}')
# Set up main routing
ip route add default via $DEFAULT_GATEWAY dev br0
ip route add default via $DEFAULT_GATEWAY
# Add specific route only for game traffic to VPS through Tailscale
ip route add $VPS_IP via $(ip route | grep tailscale1 | awk '{print $1}') dev tailscale1
# Only add if we have both VPS_IP and TAILSCALE_NET
if [[ ! -z "$VPS_IP" && ! -z "$TAILSCALE_NET" ]]; then
ip route add $VPS_IP via $(echo $TAILSCALE_NET | cut -d/ -f1)
fi
# Ensure WireGuard routes are preserved
if ip link show wg0 >/dev/null 2>&1; then
local WG_IP=$(ip -4 addr show wg0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}')
if [ ! -z "$WG_IP" ]; then
ip route add $WG_IP dev wg0 scope link
ip route add $WG_IP/32 dev wg0 scope link
fi
fi
# Save the routing configuration with proper permissions
echo "#!/bin/bash" > $ROUTING_SCRIPT
echo "ip route del default 2>/dev/null" >> $ROUTING_SCRIPT
echo "ip route del 0.0.0.0/0 dev tailscale1 2>/dev/null" >> $ROUTING_SCRIPT
echo "ip route del 0.0.0.0/0 dev wg0 2>/dev/null" >> $ROUTING_SCRIPT
echo "ip route add default via $DEFAULT_GATEWAY dev br0" >> $ROUTING_SCRIPT
echo "ip route add $VPS_IP via \$(ip route | grep tailscale1 | awk '{print \$1}') dev tailscale1" >> $ROUTING_SCRIPT
echo "ip route del 0.0.0.0/0 2>/dev/null" >> $ROUTING_SCRIPT
echo "ip route add default via $DEFAULT_GATEWAY" >> $ROUTING_SCRIPT
if [[ ! -z "$VPS_IP" && ! -z "$TAILSCALE_NET" ]]; then
echo "ip route add $VPS_IP via $(echo $TAILSCALE_NET | cut -d/ -f1)" >> $ROUTING_SCRIPT
fi
if [ ! -z "$WG_IP" ]; then
echo "ip route add $WG_IP dev wg0 scope link" >> $ROUTING_SCRIPT
echo "ip route add $WG_IP/32 dev wg0 scope link" >> $ROUTING_SCRIPT
fi
chmod 755 $ROUTING_SCRIPT