Firewall: 2 links de Internet

1. Firewall: 2 links de Internet

Ivan Carlos Bindillati
ivancb

(usa Debian)

Enviado em 26/10/2009 - 19:02h

Boa noite!

Tenho 2 links de Internet e 3 redes em 4 placas de rede.

Placa 0: placa para LINK1 de Internet.

Placa 1 (eth1) : placa para REDE1

Placa 2 (eth2) : placa para REDE2.
Placa 2 (eth2:0) : placa(lógica) para LINK2 de Internet.

Placa 3 (eht3) : placa para REDE3.


A internet está distribuida para as 3 REDES: 1, 2 e 3, através do LINK1 (placa 0).

Gostaria de disponibilizar a INTERNET do LINK2 somente para a REDE2.

Ouvi dizer que basta criar uma regra de PREROUTING no FIREWALL, atribuindo o IP do LINK2 para a REDE2, mas não entendi direito.

Alguém tem idéia?


  


2. Re: Firewall: 2 links de Internet

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 26/10/2009 - 22:13h

Num é esse não?

iptables -t nat -A POSTROUTING -o eth2:0 -i eth2 -j MASQUERADE


3. Re: Firewall: 2 links de Internet

Genesco Sousa
gesousa

(usa Ubuntu)

Enviado em 26/10/2009 - 23:11h

O que vc tem que fazer é usar as regras de ip route ...

Criar a tabela para o link 2

ip route add gateway_link2 dev eth2:0 table link2

p.s: gateway_link2 = ip do gateway do link2

depois cria uma regra para redirecionar o pacotes vindo de 192.168.2.0/24 para a tabela link2

ip rule add from 192.168.2.0/24 table link2

p.s: 192.168.2.0/24 = faixa da rede 2 como exemplo


outra forma de se fazer isso é marcando o pacote com o fwmark e depois criando uma regra para repassar para a tabela link2

iptables -t mangle -A PREROUTING -i eth2 -j MARK --set-mark 2

ip rule add fwmark 2 lookup link2


4. Não funcionou

Ivan Carlos Bindillati
ivancb

(usa Debian)

Enviado em 27/10/2009 - 21:30h

renato_pacheco: Não consegui utilizar o comando:

iptables -t nat -A POSTROUTING -o eth2:0 -i eth2 -j MASQUERADE

Retorna o erro:

Warning: weird character in interface `eth2:0' (No aliases, :, ! or *).
iptables v1.4.2: Can't use -i with POSTROUTING

Try `iptables -h' or 'iptables --help' for more information.

........

gesousa: Não consegui utilizar seus comandos também!
Quando utilizei:

ip route add 192.168.241.254 dev eth2:0 table 192.168.241.3
Error: argument "192.168.241.3" is wrong: "table" value is invalid


192.168.241.254 = GATEWAY do meu LINK2
192.168.241.3 = IP da placa lógica eth2:0 (de onde vem o LINK2)


Também não funcionou o segundo comando:

iptables -t mangle -A PREROUTING -i eth2 -j MARK --set-mark 2
->> Esse funcionou, mas quando digitei o comando:

ip rule add fwmark 2 lookup 192.168.241.3
Error: argument "192.168.241.3" is wrong: invalid table ID

ps: tentei digitar:
ip route add 192.168.241.3 eth2:0 table 192.168.241.3
Error: either "to" is duplicate, or "eth2:0" is a garbage.

Provavelmente esteja errando na sintaxe.
Alguém tem idéia do que possa ser?


5. Re: Firewall: 2 links de Internet

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 27/10/2009 - 21:57h

Pela msg q passou, percebi q o iptables não aceita aliases. Temos q arranjar um jeito d ele aceitar, já ouvi falar, mas não me lembro como. Vou pesquisar.


6. Re: Firewall: 2 links de Internet

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 27/10/2009 - 22:02h

Achei uma solução pra isso. O comando é esse:

# iptables -t nat -A POSTROUTING -o eth2 -s 192.168.2.0/24 -j MASQUERADE

Considerando q a rede do LINK 2 seja 192.168.2.0/24.

O iptables realmente num aceita alias. Para contornar, deve mencionar a interface real da placa e a rede q tá referenciada no alias.




7. Re: Firewall: 2 links de Internet

Genesco Sousa
gesousa

(usa Ubuntu)

Enviado em 27/10/2009 - 23:15h

ip route add 192.168.241.254 dev eth2:0 table 192.168.241.3

aqui 192.168.241.3 seria link2 mesmo, link2 seria o nome que dei a tabela e não o ip do gateway ...

seria somente ...

Criar a tabela para o link 2

ip route add 192.168.241.254 dev eth2:0 table link2

ip rule add from 192.168.2.0/24 table link2




8. Considerações

Ivan Carlos Bindillati
ivancb

(usa Debian)

Enviado em 28/10/2009 - 08:46h

Muito obrigado pelas dicas.

renato_pacheco:
# iptables -t nat -A POSTROUTING -o eth2 -s 192.168.2.0/24 -j MASQUERADE

Isso vai fazer com que Usuários da REDE2 (192.168.2.x) consigam acessar a internet do LINK2 (192.168.241.254: gateway)?



gesousa:
Pelo que entendi

# ip route add 192.168.241.254 dev eth2:0 table link2
> Cria uma rota para esse gateway (192.168.241.254) vindo da eth2:0.


# ip rule add from 192.168.2.0/24 table link2
> Faz com que todas as requisições da REDE2(192.168.2.x) sejam redirecionadas para o link2 (neste caso do gateway 192.168.241.254).

Certo?

Estou na facul agora. Vou tentar assim que chegar no trampo!
Muito obrigado mesmo!!!!



9. Re: Firewall: 2 links de Internet

Genesco Sousa
gesousa

(usa Ubuntu)

Enviado em 28/10/2009 - 11:52h

certo ... é isso mesmo que faz ...


10. Quase lá...

Ivan Carlos Bindillati
ivancb

(usa Debian)

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

renato_pacheco:

Coloquei as 3 linhas no firewall mas acho que não surtiu efeito.

# $IPT -t nat -A POSTROUTING -o eth2 -s 192.168.2.0/24 -j MASQUERADE
# $IPT -t nat -A POSTROUTING -o eth2 -s 192.168.241.0/24 -j MASQUERADE
# $IPT -t nat -A POSTROUTING -o eth2 -s 192.168.241.3/24 -j MASQUERADE

Quando estou na REDE2 (por exemplo, com o IP: 192.168.2.240) e digito:

ping 192.168.241.3

Ele encontra esse IP (que é o IP da placa eth2:0).

Mas se eu entro em um site pra ver meu IP ele continua mostrando (no site) o IP do LINK1..


gesousa:

Quando digitei o comando retornou um erro:

# ip route add 192.168.241.254 dev eth2:0 table link2
Error: argument "link2" is wrong: "table" value is invalid

Então alterei 'link2' para simplesmente '2':

ip route add 192.168.241.254 dev eth2:0 table 2
ip rule add from 192.168.2.0/24 table 2

OK! Porém ainda não está redirecionando as conexões da REDE2 para o link2.

O que está faltando?






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts