[СКРИПТ] Бан IP адреса на оборудовании

Тема в разделе "Linux", создана пользователем TolikCorp, 4 авг 2013.

  1. TolikCorp

    TolikCorp

    Сообщения:
    855
    Симпатии:
    271
    С данным скриптом банить и разбанивать IP-Адреса станет проще!
    Инструкция по использованию:
    bash /РАСПОЛОЖЕНИЕ_СКРИПТА/НАЗВАНИЕ.sh <ДЕЙСТВИЕ> <IP> <PORT>

    Например, бан всего адреса:
    bash ./ban_unban.sh ban xxx.xxx.xxx.xxx

    Например, бан к определенному порту:
    bash ./ban_unban.sh ban xxx.xxx.xxx.xxx 27015

    Проверьте, отпишитесь!

    PHP:
    #!/bin/bash/
    ####################################################
       
    if [ -"$3"]; then
          drop_port
    ="--dport $3 "
       
    fi
    ####################################################
       
    case "$1" in
          ban
    )
             if [ -
    "$2" ]; then
                
    echo "Использовать: $0 $1 <IP> <PORT>"
                
    exit 1
             fi
             
    if iptables -grep -$2then
                
    echo "Данный адрес уже находится в БАН-ЛИСТЕ"
             
    else
                
    iptables -A INPUT -t filter -$-p tcp ${drop_port}-j DROP
                iptables 
    -A INPUT -t filter -$-p udp ${drop_port}-j DROP
             fi
          
    ;;
          
    unban)
             if [ -
    "$2" ]; then
                
    echo "Использовать: $0 $1 <IP> <PORT>"
                
    exit 1
             fi
             
    if iptables -grep -$2then
                iptables 
    -A INPUT -t filter -$-p tcp ${drop_port}-j DROP
                iptables 
    -A INPUT -t filter -$-p udp ${drop_port}-j DROP
             
    else
                echo 
    "Данный адрес отсутствует в БАН-ЛИСТЕ"
             
    fi
          
    ;;
          *)
             echo 
    "Использовать: $0 $1 <IP> <PORT>"
             
    exit 1
          
    ;;
       
    esac
    ####################################################
    Кстати, "${drop_port}-j" здесь переменная drop_port экранирована и пробел не нужен, т.к. он есть тут: drop_port="--dport $3 "
     
    Последнее редактирование: 5 авг 2013
    ★Сириус★ нравится это.
  2. KorDen

    KorDen Atra esterní ono thelduin!

    Сообщения:
    2.194
    Симпатии:
    1.398
    А зачем sh ./ban_unban.sh ban xxx.xxx.xxx.xxx 27015 если #!/bin/bash/ ????
     
  3. TolikCorp

    TolikCorp

    Сообщения:
    855
    Симпатии:
    271
    Я знаю, что можно просто ./bla-bla.sh и он сам определит. Если сильно мешает - могу и убрать.