Re: [FUG-BR] ajuda com FIB´s + PF

2010-03-03 Por tôpico Danilo G. Baio
2009/11/15 Wanderson Tinti wander...@bsd.com.br

 2009/11/12 Cleyton Bertolim cberto...@gmail.com

  Pessoal, estou quebrando a cabeca aqui com FIB´s.
  Tenho dois link´s internet, um GVT e outro VIRTUA, e estou tentando
  fazer funcionar a rota para os dois link´s com FIB mas nao esta dando
  certo. Nao sei onde estou errando... Ja procurei um monte na net
  tambem e nada
 
  As maquinas da rede, quando saem pelo squid para a internet, saem
  todas usando o gateway 10.0.0.1, que é o GVT, e quando eu desligo esse
  link cai tudo, as maquinas nao saem pelo link da Net Virtua, que é o
  gateway 172.16.0.1.
 
  Se alguem puder dar uma luzindicar onde estou errando eu
  agradeco
 
 
 
  -
  Histórico: http://www.fug.com.br/historico/html/freebsd/
  Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
 

 Cleyton, Boa tarde.

 Se você utilizar o Proxy Squid nesse servidor você terá problemas. O Squid
 vai querer sair sempre pela rota default. Para testar e analisar o
 funcionamento, primeiro desabilite o Squid e trabalhe somente com as regras
 de Filtros e Nat. Logo, análise a saídas dos pacotes usando o pftop
 (pressione o número 1 para ver por qual gateway as requisições estão
 saindo), depois configure o Squid em outro servidor. Se você não tiver
 outra
 maquina disponível você pode querer usar a opção tcp_outgoing_address.





Só para constar...
Já tem um patch [1] para o squid onde você seta a fib...

[1]
http://markmail.org/message/sii6pjzehx3tn7ul#query:setfib%20squid+page:1+mid:g2ttfwjvaysczvro+state:results

-- 
Danilo Gonçalves Baio (dbaio)
-
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd


Re: [FUG-BR] ajuda com FIB´s + PF

2009-11-15 Por tôpico Wanderson Tinti
2009/11/12 Cleyton Bertolim cberto...@gmail.com

 Pessoal, estou quebrando a cabeca aqui com FIB´s.
 Tenho dois link´s internet, um GVT e outro VIRTUA, e estou tentando
 fazer funcionar a rota para os dois link´s com FIB mas nao esta dando
 certo. Nao sei onde estou errando... Ja procurei um monte na net
 tambem e nada

 As maquinas da rede, quando saem pelo squid para a internet, saem
 todas usando o gateway 10.0.0.1, que é o GVT, e quando eu desligo esse
 link cai tudo, as maquinas nao saem pelo link da Net Virtua, que é o
 gateway 172.16.0.1.

 Se alguem puder dar uma luzindicar onde estou errando eu
 agradeco



 -
 Histórico: http://www.fug.com.br/historico/html/freebsd/
 Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd


Cleyton, Boa tarde.

Se você utilizar o Proxy Squid nesse servidor você terá problemas. O Squid
vai querer sair sempre pela rota default. Para testar e analisar o
funcionamento, primeiro desabilite o Squid e trabalhe somente com as regras
de Filtros e Nat. Logo, análise a saídas dos pacotes usando o pftop
(pressione o número 1 para ver por qual gateway as requisições estão
saindo), depois configure o Squid em outro servidor. Se você não tiver outra
maquina disponível você pode querer usar a opção tcp_outgoing_address.

Cheguei a fazer alguns testes simples usando a tabela FIB com PF. Para
escolher por qual tabela FIB os pacotes vai sair, usei a opção rtable N.
Era visível que as maquina da rede interna (10.0.200.0/24 (Porta 80 e 443))
saia pelo gateway (192.168.168.253), que é o link2. Depois fiz um teste com
o SSH saindo pelo link1, até aí tava funcionado. Parei de testar e acabei
esquecendo disso.

Dei uma vasculhada e achei as regras, veja:

#/etc/pf.conf
ext_if1=le0
ext_if2=le2
int_if1=le1
local_net=10.0.200.0/24

wwwport={80, 443}
dnsport={53}
ftpport={20, 21}

set skip on lo0
scrub in all

nat on $ext_if1 proto tcp from $int_if1:network to any - $ext_if1
nat on $ext_if2 proto tcp from $int_if1:network to any - $ext_if2

block in all
block out all

pass in quick on lo0
pass out quick on lo0

pass out on $int_if1 from any to $local_net
pass in quick on $int_if1 from $local_net to $int_if1

pass in quick on $int_if1 inet proto tcp from $local_net to any port
$wwwport keep state rtable 1
pass in quick on $int_if1 inet proto udp from $local_net to any port
$dnsport keep state rtable 1
pass in quick on $int_if1 inet proto icmp from $local_net to any keep state
pass in quick on $int_if1 inet proto tcp from $local_net to any port 22 keep
state rtable 0

pass out quick on $ext_if2 inet proto tcp from $local_net to any port
$wwwport keep state rtable 1
pass out quick on $ext_if2 inet proto udp from $local_net to any port
$dnsport keep state rtable 1
pass out quick on $ext_if2 inet proto icmp from $local_net to any keep state
rtable 1
pass out quick on $ext_if1 inet proto tcp from $local_net to any port 22
keep state rtable 0

pass out on $ext_if1 proto tcp from any to any keep state rtable 0
pass out on $ext_if2 proto tcp from any to any keep state rtable 1
pass out on $ext_if1 proto { udp, icmp } from any to any keep state rtable 0
pass out on $ext_if2 proto { udp, icmp } from any to any keep state rtable 1


#setfib 0 route add default 192.168.254.254
#setfib 1 route add default 192.168.168.253

#setfib 0 traceroute 4.2.2.1
#setfib 1 traceroute 4.2.2.1

#pfctl -F all  pfctl -nf /etc/pf.conf  pfctl -NRef /etc/pf.conf

Rede Lan
End: 10.0.200.0/24
GW: 10.0.200.1
DNS:10.0.200.1

#tcpdump -i le0 -v -p tcp
#tcpdump -i le2 -v -p tcp


Faças os testes necessários e poste na lista o resultado, vai ajudar muito.

Bom final de semana para todos!


Atenciosamente
Wanderson Tinti
-
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd


Re: [FUG-BR] ajuda com FIB´s + PF

2009-11-14 Por tôpico Thiago Pollachini
Uso fib com ipfw e funciona legal, mas ele nao faz essa redundancia que voce
quer.
Voce pode colocar somente uma rota default em CADA tabela de roteamento.
Voce pode manipular por qual tabela de roteamento que voce quer que as
coisas saiam usando o ipfw.

man ipfw

Saudaçoes,

2009/11/12 Welkson Renny de Medeiros welk...@focusautomacao.com.br

 Cleyton Bertolim escreveu:
  Pessoal, estou quebrando a cabeca aqui com FIB´s.
  Tenho dois link´s internet, um GVT e outro VIRTUA, e estou tentando
  fazer funcionar a rota para os dois link´s com FIB mas nao esta dando
  certo. Nao sei onde estou errando... Ja procurei um monte na net
  tambem e nada
 
  As maquinas da rede, quando saem pelo squid para a internet, saem
  todas usando o gateway 10.0.0.1, que é o GVT, e quando eu desligo esse
  link cai tudo, as maquinas nao saem pelo link da Net Virtua, que é o
  gateway 172.16.0.1.
 
  Se alguem puder dar uma luzindicar onde estou errando eu
 agradeco
 

 Cleyton,

 Não conheço FIB, mas o pouco que tenho lido só vejo utilização com NATD
 (ipfw).

 Será que funciona com NAT do PF?

 --
 Welkson Renny de Medeiros
 Desenvolvimento / Gerência de Redes
 Focus Automação Comercial
 FreeBSD Community Member

 -
 Histórico: http://www.fug.com.br/historico/html/freebsd/
 Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd

-
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd


[FUG-BR] ajuda com FIB´s + PF

2009-11-12 Por tôpico Cleyton Bertolim
Pessoal, estou quebrando a cabeca aqui com FIB´s.
Tenho dois link´s internet, um GVT e outro VIRTUA, e estou tentando
fazer funcionar a rota para os dois link´s com FIB mas nao esta dando
certo. Nao sei onde estou errando... Ja procurei um monte na net
tambem e nada

As maquinas da rede, quando saem pelo squid para a internet, saem
todas usando o gateway 10.0.0.1, que é o GVT, e quando eu desligo esse
link cai tudo, as maquinas nao saem pelo link da Net Virtua, que é o
gateway 172.16.0.1.

Se alguem puder dar uma luzindicar onde estou errando eu agradeco


Olhem só meus arquivos de configuracao:

===
[firewall] # more loader.conf
net.fibs=6

===
[firewall] # more pf.conf

### Macros #

external_virtua = re0
external_gvt = re1
internal = rl0
gw_virtua = 172.16.0.1
gw_gvt = 10.0.0.1

external_net_virtua = 172.16.0.0/16
external_net_gvt = 10.0.0.0/8
internal_net = 192.168.252.0/24
ip_fw_internal = 192.168.252.254

table ips_ext_sem_filtragem { 200.201.173.68 200.201.173.68/32 \
200.201.166.200 200.201.166.200/32 200.201.174.207 200.160.243.99
200.230.161.110 \
200.201.174.207/32 200.252.47.0/24 200.201.160.0/20 \
200.201.0.0/16 200.165.60.137/32 200.242.61.4 200.181.70.133 \
200.201.173.0/32 200.201.174.0/24 200.208.15.135 200.99.6.65 \
200.208.16.135 161.148.231.100 200.208.15.105 200.99.6.66 \
200.155.84.15 200.155.88.15 200.208.16.105 200.238.107.164 \
200.201.174.204 200.201.174.0/32 201.18.55.22 200.241.224.136 \
200.185.17.235 63.241.251.9 63.241.251.18 200.211.99.136 \
200.229.201.210 200.174.44.22 200.196.152.72 69.17.117.207 161.148.231.100 }

#--- LOG de estatisticas de filtragem --
set block-policy drop
set state-policy if-bound
set loginterface $external_virtua
set loginterface $external_gvt

#--- Nao filtra na interface loopback --
set skip on lo

#--- faz scrub em pacotes que chegam ---
scrub on { $external_virtua $external_gvt $internal } all reassemble tcp


### NAT dos IP's interno do range 192.168.252.0/24   ###
### para o endereco IP valido da interface $external ###

nat pass on $external_virtua from $internal_net to any - ($external_virtua)
nat pass on $external_gvt from $internal_net to any - ($external_gvt)


### Proxy transparente #

rdr pass on $internal inet proto tcp from $internal_net to
!ips_ext_sem_filtragem port 80 - $ip_fw_internal port 3128


### Filtragem de pacotes ###

block log all
antispoof quick for { $external_virtua $external_gvt $internal } inet

#--- Link Virtua @ 172.16.0.2/16 --
pass out quick on $external_virtua route-to ($external_gvt $gw_gvt)
from $external_gvt to any
pass out quick on $external_virtua all modulate state
pass out quick on $external_virtua inet proto icmp all modulate state

pass in log quick on $external_virtua inet proto tcp from any to
$external_virtua port 22 flags S/SA synproxy state

block drop in log quick on $external_virtua inet proto tcp from any to
any flags FUP/FUP
block drop in log quick on $external_virtua inet proto tcp from any to
any flags SF/SFRA
block drop in log quick on $external_virtua inet proto tcp from any to
any flags /SFRA
block drop in quick on $external_virtua proto tcp from any to any port = 113
block drop in log quick on $external_virtua inet proto icmp from any
to any icmp-type redir
block drop in log quick on $external_virtua all
block return

#--- Link GVT @ 10.0.0.2/8 ---
pass out quick on $external_gvt route-to ($external_virtua $gw_virtua)
from $external_virtua to any
pass out quick on $external_gvt all modulate state
pass out quick on $external_gvt inet proto icmp all modulate state

pass in log quick on $external_gvt inet proto tcp from any to
$external_gvt port 22 flags S/SA synproxy state

block drop in log quick on $external_gvt inet proto tcp from any to
any flags FUP/FUP
block drop in log quick on $external_gvt inet proto tcp from any to
any flags SF/SFRA
block drop in log quick on $external_gvt inet proto tcp from any to
any flags /SFRA
block drop in quick on $external_gvt proto tcp from any to any port = 113
block drop in log quick on $external_gvt inet proto icmp from any to
any icmp-type redir

Re: [FUG-BR] ajuda com FIB´s + PF

2009-11-12 Por tôpico Welkson Renny de Medeiros
Cleyton Bertolim escreveu:
 Pessoal, estou quebrando a cabeca aqui com FIB´s.
 Tenho dois link´s internet, um GVT e outro VIRTUA, e estou tentando
 fazer funcionar a rota para os dois link´s com FIB mas nao esta dando
 certo. Nao sei onde estou errando... Ja procurei um monte na net
 tambem e nada

 As maquinas da rede, quando saem pelo squid para a internet, saem
 todas usando o gateway 10.0.0.1, que é o GVT, e quando eu desligo esse
 link cai tudo, as maquinas nao saem pelo link da Net Virtua, que é o
 gateway 172.16.0.1.

 Se alguem puder dar uma luzindicar onde estou errando eu agradeco
   

Cleyton,

Não conheço FIB, mas o pouco que tenho lido só vejo utilização com NATD 
(ipfw).

Será que funciona com NAT do PF?

-- 
Welkson Renny de Medeiros
Desenvolvimento / Gerência de Redes
Focus Automação Comercial
FreeBSD Community Member

-
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd