Diferenças

View: New views
8 Messages — Rating Filter:   Alert me  

Diferenças

by Márcio A. Sepp :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

 
Gostaria de entender melhor as diferenças entre os seguintes parametros do sysctl:
#net.inet.ip.mforwarding=1      # 1=Permit forwarding (routing) of IPv4 multicast packets
e
net.inet.ip.multipath=1         # 1=Enable IP multipath routing
O meu cenário é o seguinte: Eu possuo 02 links de internet e quero que algumas máquinas saiam por uma interface e outras máquinas saiam por outra interface. Neste cenário, o que devo habilitar o mforwarding ou o multipath? Alguém saberia me explicar o que cada um deles faz?
 
 
 
--
Att.
Márcio A. Sepp
 

_______________________________________________
OpenBSD mailing list
OpenBSD@...
http://neei.uevora.pt/mailman/listinfo/openbsd

Re: Diferenças

by Ari Constancio-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

2009/5/23 Márcio A. Sepp <marcio@...>:

>
> Gostaria de entender melhor as diferenças entre os seguintes parametros do
> sysctl:
> #net.inet.ip.mforwarding=1      # 1=Permit forwarding (routing) of IPv4
> multicast packets
> e
> net.inet.ip.multipath=1         # 1=Enable IP multipath routing
> O meu cenário é o seguinte: Eu possuo 02 links de internet e quero que
> algumas máquinas saiam por uma interface e outras máquinas saiam por outra
> interface. Neste cenário, o que devo habilitar o mforwarding ou o multipath?
> Alguém saberia me explicar o que cada um deles faz?

Olá,

IP multipath routing é usado para distribuir tráfego para a mesma rota
entre várias interfaces. Veja
http://www.openbsd.org/faq/faq6.html#Multipath .

Active net.inet.ip.mforwarding se usar multicasting para outras redes
-- não há qualquer relação obrigatória com o uso de vários links de
saída.

Não me parece que pretende fazer multipath routing; o que pretende é
algo que prefigura redireccionamento, já que o encaminhamento é feito
mediante a verificação das redes de destino.
Se pretende que seja verificada a rede de origem para escolher o link,
PF is the way.

Cumprimentos,
Ari Constâncio
_______________________________________________
OpenBSD mailing list
OpenBSD@...
http://neei.uevora.pt/mailman/listinfo/openbsd

RES: Diferenças

by Márcio A. Sepp :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Oi Ari,


Se não for incômodo, gostaria de compartilhar com vc e/ou com a lista a
minha situação aqui.
Como eu expliquei no email anterior, possuo 02 links de acesso a internet e
gostaria que algumas máquinas saíssem por um link e outras máquinas saíssem
por outro link. Não quero balanceamento de carga, quero apenas esta divisão
da rede.

Faço da seguinte forma:
- No firewall adicionei as regras conforme exemplo em:
http://www.openbsd.org/faq/pf/pt/pools.html#outexample com as seguintes
alterações:
Como eu não faço o balanceamento, então as regras de route-to ficaram assim
no meu arquivo:
pass in on $int_if route-to \
   { ($ext_if1 $ext_gw1) }  \
   from $rede_1 to any keep state

(Não tem o round-robin ali para sortear entre os links).

- Nas placas de rede adicionei as rotas !route add -mpath default
<ip_do_gw>.
- Ainda tenho ativado o mpath (net.inet.ip.multipath=1) - até acredito que
devo desabilitar ele pelo que li no link.

Bom, com isso eu consigo dividir e se eu der um tracert a partir de uma
estação eu saio pelo link que eu defini no firewall certinho.

Acredito que da forma como configurei acima esteja correta e partindo deste
princípio quero continuar o raciocínio adicionando o squid a esta
configuração.

Quando coloco o squid com os parametros básicos abaixo eu tenho problemas:
acl cli001 src 192.168.1.39
tcp_outgoing_address 10.0.0.1 cli001
E
acl cli002 src 192.168.0.40
tcp_outgoing_address 10.1.1.1 cli002

# nas permissoes e negacoes
http_access allow cli001
http_access allow cli002

# negar todo o resto
http_access deny all

Não consigo fazer com que a máquina 192.168.1.39 vá para a internet com o ip
10.0.0.1. Ela sai sempre pelo outro ip.

O squid está rodando na mesma máquina.

Qual a opinião de vcs sobre isso?
 


--
Att.
Márcio A. Sepp

-----Mensagem original-----
De: openbsd-bounces@... [mailto:openbsd-bounces@...]
Em nome de Ari Constancio
Enviada em: sábado, 23 de maio de 2009 03:03
Para: Lista de Discussão sobre OpenBSD
Assunto: Re: [OpenBSD-PT] Diferenças

2009/5/23 Márcio A. Sepp <marcio@...>:

>
> Gostaria de entender melhor as diferenças entre os seguintes
> parametros do
> sysctl:
> #net.inet.ip.mforwarding=1      # 1=Permit forwarding (routing) of
> IPv4 multicast packets e
> net.inet.ip.multipath=1         # 1=Enable IP multipath routing O meu
> cenário é o seguinte: Eu possuo 02 links de internet e quero que
> algumas máquinas saiam por uma interface e outras máquinas saiam por
> outra interface. Neste cenário, o que devo habilitar o mforwarding ou o
multipath?
> Alguém saberia me explicar o que cada um deles faz?

Olá,

IP multipath routing é usado para distribuir tráfego para a mesma rota entre
várias interfaces. Veja http://www.openbsd.org/faq/faq6.html#Multipath .

Active net.inet.ip.mforwarding se usar multicasting para outras redes
-- não há qualquer relação obrigatória com o uso de vários links de saída.

Não me parece que pretende fazer multipath routing; o que pretende é algo
que prefigura redireccionamento, já que o encaminhamento é feito mediante a
verificação das redes de destino.
Se pretende que seja verificada a rede de origem para escolher o link, PF is
the way.

Cumprimentos,
Ari Constâncio
_______________________________________________
OpenBSD mailing list
OpenBSD@...
http://neei.uevora.pt/mailman/listinfo/openbsd

_______________________________________________
OpenBSD mailing list
OpenBSD@...
http://neei.uevora.pt/mailman/listinfo/openbsd

Re: RES: Diferenças

by Ari Constancio-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

2009/5/26 Márcio A. Sepp <marcio@...>:

>
> Oi Ari,
>
>
> Se não for incômodo, gostaria de compartilhar com vc e/ou com a lista a
> minha situação aqui.
> Como eu expliquei no email anterior, possuo 02 links de acesso a internet e
> gostaria que algumas máquinas saíssem por um link e outras máquinas saíssem
> por outro link. Não quero balanceamento de carga, quero apenas esta divisão
> da rede.
>
> Faço da seguinte forma:
> - No firewall adicionei as regras conforme exemplo em:
> http://www.openbsd.org/faq/pf/pt/pools.html#outexample com as seguintes
> alterações:
> Como eu não faço o balanceamento, então as regras de route-to ficaram assim
> no meu arquivo:
> pass in on $int_if route-to \
>   { ($ext_if1 $ext_gw1) }  \
>   from $rede_1 to any keep state
>
> (Não tem o round-robin ali para sortear entre os links).
>
> - Nas placas de rede adicionei as rotas !route add -mpath default
> <ip_do_gw>.
> - Ainda tenho ativado o mpath (net.inet.ip.multipath=1) - até acredito que
> devo desabilitar ele pelo que li no link.
>
> Bom, com isso eu consigo dividir e se eu der um tracert a partir de uma
> estação eu saio pelo link que eu defini no firewall certinho.
>
> Acredito que da forma como configurei acima esteja correta e partindo deste
> princípio quero continuar o raciocínio adicionando o squid a esta
> configuração.
>
> Quando coloco o squid com os parametros básicos abaixo eu tenho problemas:
> acl cli001 src 192.168.1.39
> tcp_outgoing_address 10.0.0.1 cli001
> E
> acl cli002 src 192.168.0.40
> tcp_outgoing_address 10.1.1.1 cli002
>
> # nas permissoes e negacoes
> http_access allow cli001
> http_access allow cli002
>
> # negar todo o resto
> http_access deny all
>
> Não consigo fazer com que a máquina 192.168.1.39 vá para a internet com o ip
> 10.0.0.1. Ela sai sempre pelo outro ip.
>
> O squid está rodando na mesma máquina.
>
> Qual a opinião de vcs sobre isso?

Olá,

Seria bom ver, pelo menos, as linhas do pf.conf relevantes
(idealmente, o ficheiro completo).

Ari Constâncio
_______________________________________________
OpenBSD mailing list
OpenBSD@...
http://neei.uevora.pt/mailman/listinfo/openbsd

RES: RES: Diferenças

by Márcio A. Sepp :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Ari, não tenho agora acesso ao computador, mas é o mesmo pf que está no link
abaixo, com as seguintes alterações:

- Inseri uma linha para fazer o proxy transparente;
- No route-to está conforme dispus no texto anterior. Ou seja:
 pass in on $int_if route-to \
   { ($ext_if1 $ext_gw1) }  \
   from $rede_1 to any keep state

Se eu deixar o squid fora, ou seja, se eu fizer o acesso direto (sem passar
pelo squid), eu consigo fazer com que o meu tráfego saia conforme eu quero,
porém quando eu ativo o squid ele não funciona mais conforme o esperado.
 


--
Att.
Márcio A. Sepp

-----Mensagem original-----
De: openbsd-bounces@... [mailto:openbsd-bounces@...]
Em nome de Ari Constancio
Enviada em: terça-feira, 26 de maio de 2009 15:16
Para: Lista de Discussão sobre OpenBSD
Assunto: Re: [OpenBSD-PT] RES: Diferenças

2009/5/26 Márcio A. Sepp <marcio@...>:

>
> Oi Ari,
>
>
> Se não for incômodo, gostaria de compartilhar com vc e/ou com a lista
> a minha situação aqui.
> Como eu expliquei no email anterior, possuo 02 links de acesso a
> internet e gostaria que algumas máquinas saíssem por um link e outras
> máquinas saíssem por outro link. Não quero balanceamento de carga,
> quero apenas esta divisão da rede.
>
> Faço da seguinte forma:
> - No firewall adicionei as regras conforme exemplo em:
> http://www.openbsd.org/faq/pf/pt/pools.html#outexample com as
> seguintes
> alterações:
> Como eu não faço o balanceamento, então as regras de route-to ficaram
> assim no meu arquivo:
> pass in on $int_if route-to \
>   { ($ext_if1 $ext_gw1) }  \
>   from $rede_1 to any keep state
>
> (Não tem o round-robin ali para sortear entre os links).
>
> - Nas placas de rede adicionei as rotas !route add -mpath default
> <ip_do_gw>.
> - Ainda tenho ativado o mpath (net.inet.ip.multipath=1) - até acredito
> que devo desabilitar ele pelo que li no link.
>
> Bom, com isso eu consigo dividir e se eu der um tracert a partir de
> uma estação eu saio pelo link que eu defini no firewall certinho.
>
> Acredito que da forma como configurei acima esteja correta e partindo
> deste princípio quero continuar o raciocínio adicionando o squid a
> esta configuração.
>
> Quando coloco o squid com os parametros básicos abaixo eu tenho problemas:
> acl cli001 src 192.168.1.39
> tcp_outgoing_address 10.0.0.1 cli001
> E
> acl cli002 src 192.168.0.40
> tcp_outgoing_address 10.1.1.1 cli002
>
> # nas permissoes e negacoes
> http_access allow cli001
> http_access allow cli002
>
> # negar todo o resto
> http_access deny all
>
> Não consigo fazer com que a máquina 192.168.1.39 vá para a internet
> com o ip 10.0.0.1. Ela sai sempre pelo outro ip.
>
> O squid está rodando na mesma máquina.
>
> Qual a opinião de vcs sobre isso?

Olá,

Seria bom ver, pelo menos, as linhas do pf.conf relevantes (idealmente, o
ficheiro completo).

Ari Constâncio
_______________________________________________
OpenBSD mailing list
OpenBSD@...
http://neei.uevora.pt/mailman/listinfo/openbsd

_______________________________________________
OpenBSD mailing list
OpenBSD@...
http://neei.uevora.pt/mailman/listinfo/openbsd

Re: RES: RES: Diferenças

by Ari Constancio-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

2009/5/26 Márcio A. Sepp <marcio@...>:

>
> Ari, não tenho agora acesso ao computador, mas é o mesmo pf que está no link
> abaixo, com as seguintes alterações:
>
> - Inseri uma linha para fazer o proxy transparente;
> - No route-to está conforme dispus no texto anterior. Ou seja:
>  pass in on $int_if route-to \
>    { ($ext_if1 $ext_gw1) }  \
>    from $rede_1 to any keep state
>
> Se eu deixar o squid fora, ou seja, se eu fizer o acesso direto (sem passar
> pelo squid), eu consigo fazer com que o meu tráfego saia conforme eu quero,
> porém quando eu ativo o squid ele não funciona mais conforme o esperado.

http://www.benzedrine.cx/transquid.html poderá ser útil, pelo menos
para despistar os principais problemas que podem ocorrer.

Tente fazer testes sistemáticos: verifique todas as possibilidades de
ligação (int_1 -> ext_1, int_2-> ext_1, int_1 -> ext_2, int_2-> ext_2,
etc.). Veja também os logs do pf e do squid. Anote algo do género:

      | int1 c/sq | int1 s/sq | int2 c/sq | int2 s/sq|
------|---------------|--------------|---------------|-------------|
ext1|               |              |               |             |
------|---------------|--------------|---------------|-------------|
ext2|               |              |               |             |
------|---------------|--------------|---------------|-------------|


Cumprimentos,
Ari Constâncio
_______________________________________________
OpenBSD mailing list
OpenBSD@...
http://neei.uevora.pt/mailman/listinfo/openbsd

Re: RES: RES: Diferenças

by Ari Constancio-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

2009/5/26 Ari Constancio <ari.constancio@...>:

> 2009/5/26 Márcio A. Sepp <marcio@...>:
>>
>> Ari, não tenho agora acesso ao computador, mas é o mesmo pf que está no link
>> abaixo, com as seguintes alterações:
>>
>> - Inseri uma linha para fazer o proxy transparente;
>> - No route-to está conforme dispus no texto anterior. Ou seja:
>>  pass in on $int_if route-to \
>>    { ($ext_if1 $ext_gw1) }  \
>>    from $rede_1 to any keep state
>>
>> Se eu deixar o squid fora, ou seja, se eu fizer o acesso direto (sem passar
>> pelo squid), eu consigo fazer com que o meu tráfego saia conforme eu quero,
>> porém quando eu ativo o squid ele não funciona mais conforme o esperado.
>
> http://www.benzedrine.cx/transquid.html poderá ser útil, pelo menos
> para despistar os principais problemas que podem ocorrer.
>
> Tente fazer testes sistemáticos: verifique todas as possibilidades de
> ligação (int_1 -> ext_1, int_2-> ext_1, int_1 -> ext_2, int_2-> ext_2,
> etc.). Veja também os logs do pf e do squid. Anote algo do género:
>
>       | int1 c/sq | int1 s/sq | int2 c/sq | int2 s/sq|
> ------|---------------|--------------|---------------|-------------|
> ext1|               |              |               |             |
> ------|---------------|--------------|---------------|-------------|
> ext2|               |              |               |             |
> ------|---------------|--------------|---------------|-------------|
>
>
> Cumprimentos,
> Ari Constâncio
>

Olá novamente,

Pensei numa solução possível:
- colocar o squid a escutar em dois endereços (senão, fica à escuta em
0.0.0.0 e usa o IP do gateway default)
  http_port 192.168.1.1:3128 # gateway 192.168.1.0/24
  http_port 192.168.0.1:3128 # gateway 192.168.0.0/24

- identificar pacotes que usam cada gateway com 'myip'
  acl rede1 myip 192.168.1.1
  acl rede0 myip 192.168.0.1

  tcp_outgoing_address 10.0.0.1 rede1
  tcp_outgoing_address 10.1.1.1 rede0

Talvez ajude:).

Ari Constâncio
_______________________________________________
OpenBSD mailing list
OpenBSD@...
http://neei.uevora.pt/mailman/listinfo/openbsd

Re: RES: RES: Diferenças

by Douglas Santos :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

2009/5/26 Márcio A. Sepp <marcio@...>:
>
> Ari, não tenho agora acesso ao computador, mas é o mesmo pf que está no link
> abaixo, com as seguintes alterações:
>
> - Inseri uma linha para fazer o proxy transparente;
> - No route-to está conforme dispus no texto anterior. Ou seja:
>  pass in on $int_if route-to \
>    { ($ext_if1 $ext_gw1) }  \
>    from $rede_1 to any keep state

Teoricamente se voce usar regras como as descritas abaixo deveria funcionar.
Para uma avaliacao mais detalhada preciso do pf.conf, log do pf e tcpdump.

pf.conf
nat on $ext_if1 from $rede_1 to any -> $ext_if1
nat on $ext_if2 from $rede_2 to any -> $ext_if2
pass in on $if_if route-to ($ext_if1 $ext_gw1) from $rede_1 to any keep state
pass in on $if_if route-to ($ext_if2 $ext_gw2) from $rede_2 to any keep state
pass out on $ext_if1 route-to ($ext_if1 $ext_gw1) from $ext_if1 to any
keep state
pass out on $ext_if2 route-to ($ext_if2 $ext_gw2) from $ext_if2 to any
keep state

squid.conf
acl cli001 src 192.168.1.39/255.255.255.255
acl cli002 src 192.168.0.40/255.255.255.255
tcp_outgoing_address 10.0.0.1 cli001
tcp_outgoing_address 10.1.1.1 cli002
_______________________________________________
OpenBSD mailing list
OpenBSD@...
http://neei.uevora.pt/mailman/listinfo/openbsd