[FUG-BR] Migração IPTABLES > IPFW

Thiago Costa dk.thiago em gmail.com
Quinta Julho 26 03:08:58 BRT 2007


Em Terça 24 Julho 2007 22:21, Flávio Barros escreveu:
> Com controle de banda também ?
> Abraços,
>
> Em 24/07/07, Filipe Alvarez<filipealvarez em gmail.com> escreveu:
> > Utilizo o wipfw em servidores Windows numa boa.
> >
> > []s
> >
> > Em 24/07/07, Welkson Renny de Medeiros <welkson em focusautomacao.com.br>
> >
> > escreveu:
> > > A algum tempo eu testei o wipfw... funfou direitinho... pena que não
> > > suporte
> > > traffic shaper, iria resolver um problemão pra mim em um Windows 2003
> > > Server
> > > (olha o flame rsrs)... :-) Agora tem até interface gráfica... vou
> > > baixar essa versão nova para testar...
> > >
> > >
> > > --
> > > Welkson Renny de Medeiros
> > > Focus Automação Comercial
> > > Desenvolvimento / Gerência de Redes
> > > welkson em focusautomacao.com.br
> > >
> > >
> > >
> > >                       Powered by ....
> > >
> > >                                            (__)
> > >                                         \\\'',)
> > >                                           \/  \ ^
> > >                                           .\._/_)
> > >
> > >                                       www.FreeBSD.org
> > >
> > >
> > > ----- Original Message -----
> > > From: "Ederson Mota Pereira" <eder em ideavalley.com.br>
> > > To: "Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)"
> > > <freebsd em fug.com.br>
> > > Sent: Tuesday, July 24, 2007 6:41 PM
> > > Subject: Re: [FUG-BR] Migração IPTABLES > IPFW
> > >
> > >
> > >
> > >
> > > Pessoal,
> > >
> > > Aproveitando esta discussao, nao sei se voces conhecem o WIPFW
> > > (http://wipfw.sourceforge.net/), um port do ipfw para windows. Por
> > > acaso, alguem conhece um port do ipfw para Linux? Estou pesquisando
> > > sobre isso ha algum tempo, mas sem sucesso.
> > >
> > > Se nao, prefiro reinstalar a maquina e todos os servicos dela do que
> > > lidar com iptables :p
> > >
> > > Obrigado,
> > >
IPFW no Windows, é real isso?? nossa vou testar. Não querendo apelar, mas tem 
natd pra Windows tb??

Se não me engano no Linux 2.2 se usava o IPFW. Ai no Linux 2.4 regrediram pro 
ipchains, no 2.6 regrediram mais ainda pro IPTables

> > >
> > >
> > >
> > > On Tue, 24 Jul 2007 14:14:03 -0300, Alessandro de Souza Rocha
> > >
> > > <etherlinkii em gmail.com> wrote:
> > > > Em 24/07/07, Alexandre Biancalana<biancalana em gmail.com> escreveu:
> > > >> On 7/24/07, Patrick Tracanelli <eksffa em freebsdbrasil.com.br> wrote:
> > > >> > Eu sempre recomendo algumas estrategias na hora de fazer essa
> > > >>
> > > >> migracao:
> > > >> > 1 - Pegue tudo na CHAIN FORWARD e {PRE,POST}ROUTING do netfilter e
> > > >> > converta para NAT. Se sua opcao eh IPFW, brinque MUITO com divert
> > > >> > e
> > > >>
> > > >> natd
> > > >>
> > > >> > ANTES de por qualquer outra regra no firewall. Faca divert
> > > >> > seletivo, nunca "from any to any". Explore tudo que o natd pode
> > > >> > fazer. Ai voce
> > > >>
> > > >> ja
> > > >>
> > > >> > vai ter em mente como substituir qualquer regra dessas chains ai.
> > > >> > Se quiser estudar pf faca a mesma coisa com "nat" e "rdr" do pf.
> > > >> >
> > > >> > 2 - Pegue todos os filtros da chain OUTPUT do netfilter e seja
> > > >>
> > > >> seletivo,
> > > >>
> > > >> > separe o "output" cuja origem eh a propria maquina (o proprio
> > > >>
> > > >> firewall).
> > > >>
> > > >> > 3 - Todos os outros output output, converta-os pra input. Tudo q
> > > >> > nao
> > > >>
> > > >> eh
> > > >>
> > > >> > roiginado do proprio firewall, pra sair por uma interface
> > > >> > IMPERATIVAMENTE tem que ter saido por outra. Dai fazer regras de
> > > >>
> > > >> output
> > > >>
> > > >> > a reveria como se faz no netfilter é entropia e desperdiço de
> > > >>
> > > >> recursos,
> > > >>
> > > >> > pois essa eh a ultima chain processada, e pra chegar nela, o Linux
> > > >>
> > > >> "tem
> > > >>
> > > >> > a manha" de processar tudo antes... dai a performance vai pro
> > > >> > espco. Sim, vc pode achar q Linux tem boa performance, mas nao tem
> > > >> > hehe. Nao
> > > >>
> > > >> se
> > > >>
> > > >> > comparar com o que poderia ser... e na questao de firewall o
> > > >> > metodo
> > >
> > > de
> > >
> > > >> > processamento das regras deixa essa diferenca de decisao de
> > >
> > > engenharia
> > >
> > > >> > de software muito clara.
> > > >> >
> > > >> > 4 - Pegue as regras da chain input e converta-as para regras de IN
> > > >> > no firewall do BSD.
> > > >> >
> > > >> > 5 - Tenha em mente (ipfw) que o processamento eh first match wins.
> > > >> > Se nao entender isso e isso ficar tao instintitvo quanto respirar,
> > > >> > nao
> > > >>
> > > >> vai
> > > >>
> > > >> > dar pra continuar... ai comece de novo. Se for usar pf tenha em
> > > >> > mente que eh last match wins. Ou seja processa tudo e vai "se
> > > >> > lembrando" da ultima decisao, salvo, se a regra tem "quick".
> > > >> >
> > > >> > 6 - Coloque todas as regras mais frequentes, (ipfw) como as
> > >
> > > primeiras,
> > >
> > > >> > sempre que possivel.
> > > >> >
> > > >> > 7 - Se for usar controle de banda, oriente-o a interfaces. Evite
> > > >>
> > > >> deixar
> > > >>
> > > >> > aplicando a todas interfaces, e oriente à interface interna (a
> > > >> > mais proxima do perimetro onde a estacao se encontra).
> > > >> >
> > > >> > 8 - Use one_pass=0 no ipfw, com controle de banda. Senao suas
> > > >> > regras assumem "allow" ao chegar no controle. E voce pode nao
> > > >> > querer isso.
> > > >> >
> > > >> > 9 - Nao pegue scripts prontos, de terceiros. Faca seu proprio
> > > >>
> > > >> firewall.
> > > >>
> > > >> > 10 - O que voce nao entender, leia na pagina de manual antes. É
> > > >>
> > > >> incrivel
> > > >>
> > > >> > como "man ipfw" é clara. Leia os textos, nao se apgeue a seção de
> > > >> > EXAMPLES.
> > > >> >
> > > >> > 11 - Faca testes. Testes e mais testes. Teste o "divert". Teste o
> > > >> > "forward". Entenda a diferenca entre eles. Teste-o antes de ter q
> > > >>
> > > >> qoutra
> > > >>
> > > >> > regra no firewall, pra nao ter confusao de comportamento.
> > > >> >
> > > >> > 12 - Agora pega todos aqueles conceitos de CHAIN e a sintaxe
> > > >>
> > > >> alieginena
> > > >>
> > > >> > do iptables e ESQUECE. Faca LAVAGEM CEREBRAL. Bem vindo a um mundo
> > > >>
> > > >> onde
> > > >>
> > > >> > voce nao tem q pensar em como usar a ferramenta, tem apenas q
> > > >>
> > > >> projetar o
> > > >>
> > > >> > firewall.. nao saber pra que que serve o -j o -J o -s -i -a -d -l
> > > >> > -k
> > > >>
> > > >> -n
> > > >>
> > > >> > -j -S ou se alguma dessas opcoes nao existem, ou ainda o
> > > >> > --uma-expressa-que-nao-diz-nada=valor porque acabaram-se as letras
> > > >> > do alfabeto para ser uma nova opcao.
> > > >>
> > > >> FANTÁSTICOS pontos Patrick !!!
> > > >>
> > > >> Apenas mais uma dica, use e abuse de diretivas de log (ipfw add
> > > >> <deny|allow>
> > > >> log  ou  <block|pass> log) que facilitam MUITO no debug de eventuais
> > > >> problemas e visibilidade do que o firewall está fazendo. Só tome
> > > >> cuidados em
> > > >> gerar muito log quando a rede for grande >300 maquinas.
Very good. Já trabalhei com IPTables, mas felizmente já fiz a lavagem 
cerebral, esqueci tudo do IPTables. Eu como bom OpenBSD User adoro o PF (que 
roda no FreeBSD tranquilamente). Enfim.. IPFW, IPFilter e PF são todos muito 
bons. Apesar de eu não gostar muita da gambiarra divert+natd do IPFW tdo bem 
né, isso inclui o conceito de que vc pode deixar que um pacote seja 
manipulado por um aplicativo, but.. PF e IPFilter com NAT built-in são 
excelentes.

> > > >
> > > > So uma unicas coisas que a galera esqueceu e muito facil colocar o
> > > > squid autenticar no AD do win2003 vc pode usar ldap_auth, msnt_auth
> > > > ou ntlm_auth todas elas sao facil de implementar basta vc saber qual
> > > > a que te agrada mais.
> > >

Esses dias eu tava compilando o Kernel Linux, eu vi que o IPTables consegue 
tratar transferencias DCC do IRC, transferencias FTP em modo ativo, SIP+RTP, 
entre outros.. criando regras de nat dinamicamente. No IRC o IPTables 
basicamente fica monitorando sua conexão, quando você manda um DCC pra alguém 
o IPTables cria uma regra de NAT dinamicamente para que você possa concluir 
sua transferencia por DCC, já que o client escolhe uma porta aleatoria para 
isto. O mesmo ocorre com FTP em modo ativo.

No caso do ftp já foi resolvido com o ftp-proxy 
(http://www.openbsd.org/faq/pf/ftp.html). Mas para IRC e SIP, alguém da lista 
conhece alguma solução?

-- 
THIAGO DE SOUZA COSTA

e-mail: dk.thiago em gmail.com
voip: 55-11-4063-5729 ou 1-503-334-0602
jid: dknight em jabber.org
fotolog: http://fotolog.com/thiagodk


Mais detalhes sobre a lista de discussão freebsd