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

43 lines
960 B
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
# Скрипт: ban-ip
cat > "$BAN_CMD" <<"EOF"
#!/bin/bash
if [ $# -ne 1 ]; then
echo "Использование: ban-ip <IP>"
exit 1
fi
IP="$1"
iptables -I INPUT -s "$IP" -j DROP
echo "Забанен IP $IP (iptables)"
EOF
# Скрипт: unban-ip
cat > "$UNBAN_CMD" <<"EOF"
#!/bin/bash
if [ $# -ne 1 ]; then
echo "Использование: unban-ip <IP>"
exit 1
fi
IP="$1"
iptables -D INPUT -s "$IP" -j DROP
echo "Разбанен IP $IP (iptables)"
EOF
chmod +x "$BAN_CMD" "$UNBAN_CMD"
echo "Готово!"
echo "Теперь можно использовать:"
echo " sudo ban-ip <IP>"
echo " sudo unban-ip <IP>"