Página 1 de 2 12 ÚltimoÚltimo
+ Responder ao Tópico



  1. Pessoal não manjo quase nada de shell e gostaria de uma ajudinha de vcs.
    Tenho um firewall e para facilitar as coisas uso alguns comandos de shell dentro dele.
    Por exemplo tenho um arquivo chamado clientes.liberados que é uma lista de todos os clientes que podem ter acesso a rede listados da seguinte forma:

    cliente1
    cliente2
    cliente3

    bom no firewall, uso o seguinte comando para dar acesso à esses clientes listados:

    Código :
    if [ -f /clientes.liberados ]; then
     while read ips; do
       iptables -A INPUT -s $ips -j ACCEPT
       done < /clientes.liberados
       echo "INPUT: Clientes liberados - OK!"
    fi

    Até ai tudo bem, só que agora quero fazer com que esse mesmo comando tambem amarre o MAC ao IP ou seja o cliente só consiga navegar com IP "X" e MAC "Y" se for diferente ele não navega.
    Então para esse fim criei um arquivo com o nome macs.liberados que lista os macs da seguinte forma:

    xx:xx:xx:xx:xx:xx
    yy:yy:yy:yy:yy:yy
    zz:zz:zz:zz:zz:zz

    no firewall pensei em usar a variável $mac porem não sei como ler essa variavel do arquivo pois fazendo da mesma forma que a anterior não consigo colocar duas leituras no mesmo comando.

    Código :
    if [ -f /clientes.liberados ]; then
     while read ips; do
       iptables -A INPUT -s $ips -m mac --mac-source $mac -j ACCEPT
       done < /clientes.liberados
       echo "INPUT: Clientes liberados - OK!"
    fi

    Onde eu coloco o comando "read" ou outra coisa parecida para ler os macs no arquivo /macs.liberados?

    Se alguem puder dar uma força ai eu agradeço! :wink:

  2. no arquivo de macs vc vai ter que ter os ips exemplo

    10.168.1.34;AS:AS:AS:AS:AS

    ai dentro do looping vc pode fazer assim

    macaddr=`cat /etc/maclist | grep -i $ip | awk -F ";" {' print $2'}`

    milagrosamente para cada ip que voce ler do seu banco de ips liberados vc vai ter um mac amarrado na outra tabela que automaticamente ele vai te mostrar para dizer a verdade isso que voce ta fazendo ta muito complicado.

    Sinceramente mante uma tabela assim


    10.168.1.2:AS:AS:AS:AS:AS;ACCEPT

    e quebra a linha por ponto e virgula sacou



  3. Pois é eu ja tentei fazer assim, só que ele ta colocando o mesmo MAC para todas as regras. O ultimo MAC da lista. :-o

  4. Amigo fiz como vc citou. Porem ao inves de usar IPs eu uso direto o dns do cliente.
    Ai quando tenho dois clientes com o mesmo nome, porem exemplo:
    leandro e joseleandro

    ele imprime dois macs na mesma linha
    por ex:
    xxxxxxxxxxxxx xxxxxxxxxxx
    e ai da erro no iptables.

    Porem existem outros casos que ele não da esse erro por ex:
    teste1 e teste2 ele não da erro e imprime os macs corretamente
    xxxxxxxxxxxxx
    xxxxxxxxxxxxx

    Como posso contornar isso?



  5. Oi amigo,

    Vê se este pequeno script resolve o problema dos dois arquivos:

    Código :
    #!/bin/bash
     
    IP=`cat arquivo_ips`
    MAC=`cat arquivo_macs`
    IPS=`echo $IP |sed 's/ /@/g'`
    MACS=`echo $MAC |sed 's/ /@/g'`
     
    cont=1
    campos=`echo $IP |awk '{print NF}'`
     
    while [ "$cont" -le "$campos" ]; do
        ips=$(echo "$IPS" |cut -d "@" -f"$cont")
        macs=$(echo "$MACS" |cut -d "@" -f"$cont")
        echo "iptables -A INPUT -s $ips -m mac --mac-source $macs -j ACCEPT"
        cont=$((cont+1))
    done

    Partindo do principio de q vc tem dois arquivos e q eles tem a mesma quantidade de linhas... No lugar do echo vc coloca a regra :)

    Abraço






Tópicos Similares

  1. Gravar cd no Shell
    Por jesusnetworks no fórum Servidores de Rede
    Respostas: 1
    Último Post: 25-03-2005, 18:56
  2. Mensagem no shell
    Por mmacoli no fórum Servidores de Rede
    Respostas: 3
    Último Post: 10-03-2005, 10:12
  3. Search And Replace no Shell
    Por hez4el no fórum Linguagens de Programação
    Respostas: 0
    Último Post: 06-08-2004, 09:16
  4. Enviar comando no shell como root, ja com a senha na linha
    Por brunomancuso no fórum Servidores de Rede
    Respostas: 5
    Último Post: 19-05-2004, 10:39
  5. Mais cores no Shell. Duvida
    Por Cyber_Punk no fórum Servidores de Rede
    Respostas: 0
    Último Post: 22-07-2003, 16:03

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L