Files
for-servers/server/ip-blocker.sh

49 lines
1.1 KiB
Bash

#!/bin/bash
# Проверяем наличие iptables
if ! command -v iptables >/dev/null 2>&1; then
echo "iptables не найден. Устанавливаю..."
sudo apt update
sudo apt install -y iptables
fi
# Путь для команд
BAN_CMD=/usr/local/bin/ban-ip
UNBAN_CMD=/usr/local/bin/unban-ip
IPTABLES_CMD="/usr/sbin/iptables"
# Скрипт: ban-ip
cat > "$BAN_CMD" <<'EOF'
#!/bin/bash
if [ $# -lt 1 ]; then
echo "Использование: ban-ip [IP1] [IP2] [IP3] ..."
exit 1
fi
for IP in "$@"; do
sudo /usr/sbin/iptables -I INPUT -s "$IP" -j DROP
echo "Забанен IP $IP (iptables)"
done
EOF
# Скрипт: unban-ip
cat > "$UNBAN_CMD" <<'EOF'
#!/bin/bash
if [ $# -lt 1 ]; then
echo "Использование: unban-ip [IP1] [IP2] [IP3] ..."
exit 1
fi
for IP in "$@"; do
sudo /usr/sbin/iptables -D INPUT -s "$IP" -j DROP
echo "Разбанен IP $IP (iptables)"
done
EOF
chmod +x "$BAN_CMD" "$UNBAN_CMD"
echo "Готово!"
echo "Теперь можно использовать:"
echo " sudo ban-ip [IP1] [IP2] [IP3] ..."
echo " sudo unban-ip [IP1] [IP2] [IP3] ..."