Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Regra Iptables com varios IPs

510 views
Skip to first unread message

Elton Simões Baptista

unread,
Feb 9, 2007, 5:30:23 AM2/9/07
to
Bom dia,

Preciso colocar mais de um ip em uma regra.

A regra eh, se o pacote nao vier da maq com ip tal ou tal ou tal,
redirecione para a porta tal.

Assim:

-A PREROUTING -p tcp -m tcp ! -s $TERMINAL ! -d $SAIDA --dport 80 -j
REDIRECT -to-ports 3128

onde esta o $TERMINAL eu preciso colocar varios IPs

ja tentei com virgula, com chaves, com um monte de coisas e nao funfa

Alguem sabe como posso fazer isso?


--
[]'s

( `*.¸ Elton
`*.¸ ) esbaptista em yahoo com br
¸.*)´ esbaptista em gmail com
(.*´
`*. uin 153513488
Linux User #198105 - http://counter.li.org

"O maior inimigo da verdade, não é a mentira e sim, a convicção." -
Friedrich Nietzsche

Bruno Henrique de Oliveira

unread,
Feb 9, 2007, 6:20:08 AM2/9/07
to
Em Sex, 2007-02-09 às 08:28 -0200, Elton Simões Baptista escreveu:
> Bom dia,
>
> Preciso colocar mais de um ip em uma regra.
>
> A regra eh, se o pacote nao vier da maq com ip tal ou tal ou tal,
> redirecione para a porta tal.
>
> Assim:
>
> -A PREROUTING -p tcp -m tcp ! -s $TERMINAL ! -d $SAIDA --dport 80 -j
> REDIRECT -to-ports 3128
>
> onde esta o $TERMINAL eu preciso colocar varios IPs
>
> ja tentei com virgula, com chaves, com um monte de coisas e nao funfa
>
> Alguem sabe como posso fazer isso?

Bom dia Elton,

Tenho uma regra no iptables semelhante para liberar o messenger para uma
lista de ip, coloquei uma variavel recebendo o arquivo, exemplo:

lista_ip=/etc/lista_ip.txt

Dentro do arquivo tenho os ips em ordem de lista, assim:
192.168.1.x
192.168.1.x

E funciona perfeitamente.

Att Bruno Henrique de Oliveira.


--
To UNSUBSCRIBE, email to debian-user-por...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listm...@lists.debian.org

Pedro - Debian

unread,
Feb 9, 2007, 6:20:18 AM2/9/07
to
Cara,

Olha já faz tempo que tento isso, mas nunca consegui e acho que não tem
jeito, o sistema não consegue interpretar os demais endereços.
Neste caso a solução é criar regras individuais para cada IP ou usar uma
faixa de endereços em sequência.

Mas se descobrir outra forma também me avise.

Abraços, e boa sorte

Pedro

Elton Simões Baptista escreveu:


> Bom dia,
>
> Preciso colocar mais de um ip em uma regra.
>
> A regra eh, se o pacote nao vier da maq com ip tal ou tal ou tal,
> redirecione para a porta tal.
>
> Assim:
>
> -A PREROUTING -p tcp -m tcp ! -s $TERMINAL ! -d $SAIDA --dport 80 -j
> REDIRECT -to-ports 3128
>
> onde esta o $TERMINAL eu preciso colocar varios IPs
>
> ja tentei com virgula, com chaves, com um monte de coisas e nao funfa
>
> Alguem sabe como posso fazer isso?
>
>


_______________________________________________________
Yahoo! Mail - Sempre a melhor opção para você!
Experimente já e veja as novidades.
http://br.yahoo.com/mailbeta/tudonovo/

Maxwillian Miorim

unread,
Feb 9, 2007, 9:50:18 AM2/9/07
to
On 2/9/07, Elton Simões Baptista <esbap...@gmail.com> wrote:
> A regra eh, se o pacote nao vier da maq com ip tal ou tal ou tal,
> redirecione para a porta tal.
[ corte ]

> Assim:
> -A PREROUTING -p tcp -m tcp ! -s $TERMINAL ! -d $SAIDA --dport 80 -j
> REDIRECT -to-ports 3128
> onde esta o $TERMINAL eu preciso colocar varios IPs
[ corte ]

> Alguem sabe como posso fazer isso?

Poderia dar ACCEPTs para os IPs que não devem ser redirecionados e o
REDIRECT para os demais:

----
for ip in 192.168.0.1 192.168.0.2 192.168.0.3; do
iptables -t nat -A PREROUTING -p tcp -s $ip -d $SAIDA --dport 80 -j ACCEPT
done

iptables -t nat -A PREROUTING -p tcp -d $SAIDA --dport 80 -j REDIRECT
--to-ports 3128
----

Os IPs 192.168.0.1, 192.168.0.2 e 192.168.0.3 seriam liberados, os
demais passam a ser redirecionados para a porta 3128.

Poderia também fazer uma linha para cada IP, eu acho um 'for' mais
elegante e simples :)

--
Maxwillian Miorim <mior...@gmail.com>
----
Have you mooed today?

Pedro - Debian

unread,
May 2, 2007, 11:20:09 AM5/2/07
to
Olá Bruno,

Há um tempo atrás vc mandou uma mensagem na lista, que tinha feito uma regra onde conseguia passar como parâmetro um arquivo texto com uma lista de ips para serem liberados no msn.

Já tentei de várias formas adicionar esta regras não não funcionou, sempre dá erro. Vc poderia postar sua regra para eu ver o que estou fazendo de errado???

Desde de já obrigado

Pedro

Bruno Henrique de Oliveira escreveu:

Bruno Oliveira

unread,
May 2, 2007, 2:50:06 PM5/2/07
to
Pedro,

coloquei em meu arquivo de firewall da seguinte maneira:

LISTIP=$(cat /etc/lista_ip.txt)

for IP in $LISTIP;
do

$IPTABLES -A FORWARD -s $IP -p tcp --dport 1863 -j ACCEPT
$IPTABLES -A FORWARD -s $IP -d 64.4.13.0/32 -j ACCEPT

done;

Att,
Bruno Oliveira.

Davi

unread,
May 2, 2007, 3:00:14 PM5/2/07
to
Em Quarta 02 Maio 2007 15:44, Bruno Oliveira escreveu:
> Pedro - Debian wrote:
> > Olá Bruno,
> >
> > Há um tempo atrás vc mandou uma mensagem na lista, que tinha feito uma
> > regra onde conseguia passar como parâmetro um arquivo texto com uma
> > lista de ips para serem liberados no msn.
> >
>
> coloquei em meu arquivo de firewall da seguinte maneira:
>
> LISTIP=$(cat /etc/lista_ip.txt)
>
> for IP in $LISTIP;
> do
>
> $IPTABLES -A FORWARD -s $IP -p tcp --dport 1863 -j ACCEPT
> $IPTABLES -A FORWARD -s $IP -d 64.4.13.0/32 -j ACCEPT
>
> done;

me pergunto se um

for IP in `cat /etc/lista_ip.txt`; do
${IPTABLES} -A FORWARD -s ${IP} -p tcp --dport 1863 -j ACCEPT
${IPTABLES} -A FORWARD -s ${IP} -d 64.4.13.0/32 -j ACCEPT
done;

não seria mais rápido por não ter que inicializar e atribuir uma variável e,
depois, recuperar tudo...
Alguém com mais noções em Shell Script e Assembly pode dar uma luz?

[]s

--
Davi Vidal
davi...@siscompar.com.br
davi...@gmail.com
--
"Religion, ideology, resources, land,
spite, love or "just because"...
No matter how pathetic the reason,
it's enough to start a war. "

Bruno Oliveira

unread,
May 2, 2007, 3:20:07 PM5/2/07
to
Davi wrote:
> Em Quarta 02 Maio 2007 15:44, Bruno Oliveira escreveu:
>
>> Pedro - Debian wrote:
>>
>>> Olá Bruno,
>>>
>>> Há um tempo atrás vc mandou uma mensagem na lista, que tinha feito uma
>>> regra onde conseguia passar como parâmetro um arquivo texto com uma
>>> lista de ips para serem liberados no msn.
>>>
>>>
>> coloquei em meu arquivo de firewall da seguinte maneira:
>>
>> LISTIP=$(cat /etc/lista_ip.txt)
>>
>> for IP in $LISTIP;
>> do
>>
>> $IPTABLES -A FORWARD -s $IP -p tcp --dport 1863 -j ACCEPT
>> $IPTABLES -A FORWARD -s $IP -d 64.4.13.0/32 -j ACCEPT
>>
>> done;
>>
>
> me pergunto se um
>
> for IP in `cat /etc/lista_ip.txt`; do
> ${IPTABLES} -A FORWARD -s ${IP} -p tcp --dport 1863 -j ACCEPT
> ${IPTABLES} -A FORWARD -s ${IP} -d 64.4.13.0/32 -j ACCEPT
> done;
>
> não seria mais rápido por não ter que inicializar e atribuir uma variável e,
> depois, recuperar tudo...
> Alguém com mais noções em Shell Script e Assembly pode dar uma luz?
>
> []s
>
>
Desculpa a atribuição da variavél da LISTIP e para outra coisa, ela não
é necessária, apenas a estrutura do "for" é necessário.
0 new messages