iptables numero de ips.. coisa facil para experts [RESOLVIDO]

1. iptables numero de ips.. coisa facil para experts [RESOLVIDO]

William Maggi Pardalz
pardalz

(usa Debian)

Enviado em 04/12/2009 - 09:38h

Como eu faço pra fazer isso?
na variavel $FAIXA seria todos os meus ips LIBERADOS.
.
#!/bin/sh
# Libera/Bloqueia Acesso ao Msn na rede.

TODOS=55.0.0.0/255.0.0.0
FAIXA=55.1.1.100 55.1.1.32 55.1.1.20
BLOQUEIA=REJECT
LIBERA=ACCEPT

echo "Liberando MSN .....................................[ok]"
$ipt -A FORWARD -s $FAIXA -p tcp --dport 1863 -j $LIBERA
$ipt -A FORWARD -s $FAIXA -d loginnet.passport.com -j $LIBERA

echo "Ativando bloqueio de MSN...........................[ok]"
$ipt -A FORWARD -s $TODOS -p tcp --dport 1863 -j $BLOQUEIA
$ipt -A FORWARD -s $TODOS -d loginnet.passport.com -j $BLOQUEIA
exit 0
.
.
tem como?


  


2. Re: iptables numero de ips.. coisa facil para experts [RESOLVIDO]

Daniel Fernandes
volcom

(usa Debian)

Enviado em 04/12/2009 - 09:47h

Crie um arquivo com os ips, um em cada linha:

lista_ips.txt

while read lista
do
IP=$linha
echo 'IP: '$IP
fi
done < lista_ip.txt

Já me ajudaram nisso, acho que nunca mais devo esquecer! hehehe

Se tiver dúvidas nos avise!


3. Re: iptables numero de ips.. coisa facil para experts [RESOLVIDO]

William Maggi Pardalz
pardalz

(usa Debian)

Enviado em 04/12/2009 - 10:09h

cara, muito obrigado pela resposta!
muito interessante, porem eu nao intendi a forma de fazer, poderia ser mais específico? porque eu sou meio cru em scripts.. :S

abração!



4. Vamos lá!

Daniel Fernandes
volcom

(usa Debian)

Enviado em 04/12/2009 - 10:21h

Lembrando que não sou expert...heheh pode ser que tenha outra forma melhor, mas seu script vai ficar assim:

#!/bin/sh
# Libera/Bloqueia Acesso ao Msn na rede.

TODOS=55.0.0.0/255.0.0.0

while read lista
do
FAIXA=$lista
fi
done < lista_ip.txt
FAIXA=55.1.1.100 55.1.1.32 55.1.1.20
BLOQUEIA=REJECT
LIBERA=ACCEPT

echo "Liberando MSN .....................................[ok]"
$ipt -A FORWARD -s $FAIXA -p tcp --dport 1863 -j $LIBERA
$ipt -A FORWARD -s $FAIXA -d loginnet.passport.com -j $LIBERA

echo "Ativando bloqueio de MSN...........................[ok]"
$ipt -A FORWARD -s $TODOS -p tcp --dport 1863 -j $BLOQUEIA
$ipt -A FORWARD -s $TODOS -d loginnet.passport.com -j $BLOQUEIA
exit 0

#####

A parte que te passei fará o seguinte:

Crie um arquivo chamado lista_ip.txt com os endereços que deseja.

while read lista -> enquanto ler lista
do -> faça
FAIXA=$lista -> Variável FAIXA recebe o conteúdo de $lista
fi -> fim do IF
done < lista_ip.txt -> vai ler o conteúdo desse arquivo

Então, enquanto o arquivo tiver linhas com algum IP ele vai jogando na variável e aplicando sua regra ip por ip.

O melhor a fazer é testar e se der algum problema tentarmos corrigir...


5. Re: iptables numero de ips.. coisa facil para experts [RESOLVIDO]

William Maggi Pardalz
pardalz

(usa Debian)

Enviado em 04/12/2009 - 10:28h

Nussa.. excelente
bem objetiva sua explicação, vou testar e te falo depois do almoço.


6. Re: iptables numero de ips.. coisa facil para experts [RESOLVIDO]

William Maggi Pardalz
pardalz

(usa Debian)

Enviado em 04/12/2009 - 12:19h

syntax error near unexpected toke 'fi'


7. Re: iptables numero de ips.. coisa facil para experts [RESOLVIDO]

Daniel Fernandes
volcom

(usa Debian)

Enviado em 04/12/2009 - 13:00h

Osp...desculpe, copiei esse código de um script que já tinha como modelo!

Retire o fi, pois não estamos trabalhando com IF...

Espero que resolva!


8. Re: iptables numero de ips.. coisa facil para experts [RESOLVIDO]

William Maggi Pardalz
pardalz

(usa Debian)

Enviado em 04/12/2009 - 13:31h

Amigo, essa nao deu certo, dei mais uma vasculhada na net, e encontrei o seguinte:
#!/bin/sh
# Libera/Bloqueia Acesso ao Msn na rede.
# FBA Tecnologia Empresarial
ipt=/sbin/iptables
TODOS=55.1.1.0/24
FAIXA="55.1.1.204 55.1.1.200"
BLOQUEIA=REJECT
LIBERA=ACCEPT

echo "Liberando MSN .....................................[ok]"

for IP in $FAIXA; do
$ipt -A FORWARD -s $FAIXA -p tcp --dport 1863 -j $LIBERA
$ipt -A FORWARD -s $FAIXA -d loginnet.passport.com -j $LIBERA
done


echo "Ativando bloqueio de MSN...........................[ok]"
$ipt -A FORWARD -s $TODOS -p tcp --dport 1863 -j $BLOQUEIA
$ipt -A FORWARD -s $TODOS -d loginnet.passport.com -j $BLOQUEIA
exit 0


so que quando eu boto isso ele libera so o primeiro ip da lista, os outros da o seguinte:
Bad argument `55.1.1.200'

alguma ideia do que possa ser??


9. Consegui!!!

William Maggi Pardalz
pardalz

(usa Debian)

Enviado em 04/12/2009 - 13:41h

Consegui fazer... ficou assim!!

#!/bin/sh
# Libera/Bloqueia Acesso ao Msn na rede.
# FBA Tecnologia Empresarial
ipt=/sbin/iptables
TODOS=55.1.1.0/24
FAIXA="55.1.1.204 55.1.1.200"
BLOQUEIA=REJECT
LIBERA=ACCEPT

echo "Liberando MSN .....................................[ok]"

for IP in $FAIXA; do
$ipt -A FORWARD -s $IP -p tcp --dport 1863 -j $LIBERA
$ipt -A FORWARD -s $IP -d loginnet.passport.com -j $LIBERA
done


echo "Ativando bloqueio de MSN...........................[ok]"
$ipt -A FORWARD -s $TODOS -p tcp --dport 1863 -j $BLOQUEIA
$ipt -A FORWARD -s $TODOS -d loginnet.passport.com -j $BLOQUEIA
exit 0


Grato pela ajuda man!


10. Re: iptables numero de ips.. coisa facil para experts [RESOLVIDO]

Daniel Fernandes
volcom

(usa Debian)

Enviado em 04/12/2009 - 13:55h

Maravilha!

Não importa a forma, mas sim conseguir! hehehe

Abraço e parabéns!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts