49 lines
1.1 KiB
Bash
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] ..." |