+ Responder ao Tópico



  1. #1
    santocyber
    Visitante

    Padrão NAT / FIREWALL / MAC / IP / VELOCIDADE

    a;00:02:2D:17:e2:50;10.0.0.9;leptop1;128Kbit
    a;00:02:2f:13:52:f0;10.0.0.10;leptop2;256Kbit
    b;00:02:2e:14:d2:46;10.0.0.11;leptop3;128Kbit
    a;00:02:2d:17:d2:97;10.0.0.12;leptop4;512Kbit


    Gostaria de saber como poderia fazer um script para eu bloqueiar
    todos os acessos a minha maquina e soh liberar os acessos a esses ips e esses macs q coloquei em um arquivo chamado maclist,
    e que isso tudo aconteca automaticamente e que a velocidade ja fique estabelecida automaticamente
    e qnd eu quiser adicionar mas ips cos os determinados macs e determinada velocidade eles ja
    consigam o acesso, eu vi um script que quase fazia isso mas qnd eu olhava as regras no iptables
    ele soh lia a primeira linha desses ips, em um arquivo determinado maclist. gostaria de uma ajuda
    obrigado.

  2. #2
    santocyber
    Visitante

    Padrão Ta ai o script q usei

    Eu queria adicionar esse script com algumas opcoes a mais e foi esse script q soh leu a primeira linha do maclist.obrigado.


    #/bin/bash
    #Script de Firewall para bloqueio por MACaddress
    #Criado por Carlos Eduardo Langoni
    #23/01/2003
    #
    # Funcionamento: Crie um arquivo no formato (a,b);(mac);(IP Source);(nome)
    # Aonde a é aceitar e b é bloquear que serve para o caso de haver necessidade de bloquear algum IP e MAC, caso b não será bloqueado o IP, apenas o MAC
    #
    IPT=/usr/local/sbin/iptables
    PROGRAMA=/bin/firewall
    NET_IFACE=eth0
    LAN_IFACE=eth1
    MACLIST=/etc/maclist
    echo 1 > /proc/sys/net/ipv4/ip_forward
    case $1 in
    start)
    $IPT -F
    $IPT -t nat -F
    $IPT -t filter -P FORWARD DROP
    for i in `cat $MACLIST`; do
    STATUS=`echo $i | cut -d ';' -f 1`
    IPSOURCE=`echo $i | cut -d ';' -f 3`
    MACSOURCE=`echo $i | cut -d ';' -f 2`
    #Se status = a então eu libera a conexao
    if [ $STATUS = "a" ]; then
    $IPT -t filter -A FORWARD -d 0/0 -s $IPSOURCE -m mac --mac-source $MACSOURCE -j ACCEPT
    $IPT -t filter -A FORWARD -d $IPSOURCE -s 0/0 -j ACCEPT
    $IPT -t nat -A POSTROUTING -s $IPSOURCE -o $NET_IFACE -j MASQUERADE
    $IPT -t filter -A INPUT -s $IPSOURCE -d 0/0 -m mac --mac-source $MACSOURCE -j ACCEPT
    $IPT -t filter -A OUTPUT -s $IPSOURCE -d 0/0 -j ACCEPT

    # Se for = b então bloqueia o MAC
    else
    $IPT -t filter -A FORWARD -m mac --mac-source $MACSOURCE -j DROP
    $IPT -t filter -A INPUT -m mac --mac-source $MACSOURCE -j DROP
    $IPT -t filter -A OUTPUT -m mac --mac-source $MACSOURCE -j DROP
    fi
    done
    $IPT -t nat -A POSTROUTING -s 172.1.1.0/255.255.255.0 -j MASQUERADE
    $IPT -t filter -A FORWARD -s 172.1.1.0/255.255.255.0 -d 0/0 -j ACCEPT
    $IPT -t filter -A FORWARD -d 172.1.1.0/255.255.255.0 -s 0/0 -j ACCEPT
    $IPT -t filter -A INPUT -s 172.1.1.0/255.255.255.0 -d 0/0 -j ACCEPT
    $IPT -t filter -A OUTPUT -s 172.1.1.0/255.255.255.0 -d 0/0 -j ACCEPT
    iptables -t nat -A PREROUTING -p tcp -s 0/0 -i eth0 --dport 80 -j DNAT --to 200.165.48.122:3128


    echo "FIREWALL ATIVADO SISTEMA PREPARADO"
    ;;
    stop)
    $IPT -F
    $IPT -Z
    $IPT -t nat -F
    $IPT -t filter -P FORWARD ACCEPT
    echo "FIREWALL DESCARREGADO SISTEMA LIBERADO"
    ;;
    restart)
    $PROGRAMA stop
    $PROGRAMA start
    ;;
    esac