Skip to content

🔥 Руководство по настройке файрвола для GameShield

Это руководство поможет защитить ваш сервер, настроив файрвол, который разрешает трафик только от GameShield и блокирует все остальные источники на указанных портах.

🛡️ Первый и последний шаг

Вот как закрыть ваши порты для всех IP, кроме GameShield. Скопируйте этот скрипт, укажите порты, которые хотите защитить, в переменной PROTECTED_PORTS и запустите его на вашей Linux-машине.

bash
#!/bin/bash

# Укажите порты, которые хотите защитить (через пробел)
PROTECTED_PORTS=(25565 25577)
GAMESHIELD_ADDRESSES_URL="https://rest.gameshield.io/v1/servers/plain"

echo "Сброс правил UFW (опционально)..."
sudo ufw --force reset

echo "Разрешение SSH трафика..."
sudo ufw allow ssh

# Блокировка всего трафика на указанные порты
for PORT in "${PROTECTED_PORTS[@]}"; do
  echo "Блокировка порта $PORT от всех источников..."
  sudo ufw deny from any to any port "$PORT"
done

echo "Получение адресов GameShield..."
GAMESHIELD_ADDRESSES=$(curl -s "$GAMESHIELD_ADDRESSES_URL")

if [[ -z "$GAMESHIELD_ADDRESSES" ]]; then
  echo "❌ Не удалось получить адреса GameShield!"
  exit 1
fi

echo "Разрешение адресов GameShield..."
while IFS= read -r ip; do
  [[ -z "$ip" ]] && continue
  for PORT in "${PROTECTED_PORTS[@]}"; do
    echo "Разрешение $ip на порт $PORT"
    sudo ufw allow from "$ip" to any port "$PORT"
  done
done <<< "$GAMESHIELD_ADDRESSES"

echo "Включение файрвола..."
sudo ufw --force enable

echo "✅ Файрвол успешно настроен!"