Bom dia!

Também ja passei por isto e a unica solução é balancear serviços, ou seja
porta 80, 21, 110, 25 e outras e deixar o resto sair por um  link, deste
jeito não tive mais problemas com bancos e msn.


Junior

2008/6/18 Julio <[EMAIL PROTECTED]>:

> On 17 jun, 09:10, paulobruck1 <[EMAIL PROTECTED]> wrote:
> > Em Seg, 2008-06-16 às 14:15 -0700, Julio escreveu:
> >
> >
> >
> > > On 16 jun, 15:50, paulobruck1 <[EMAIL PROTECTED]> wrote:
> > > > Em Seg, 2008-06-16 às 11:03 -0700, Julio escreveu:
> >
> > > > > On 16 jun, 08:50, paulobruck1 <[EMAIL PROTECTED]> wrote:
> > > > > > Em Dom, 2008-06-15 às 20:03 -0700, Julio escreveu:
> >
> > > > > > > Olá pessoal. Sou novato aqui no grupo...
> >
> > > > > > olá
> >
> > > > > > veja abaixo:
> >
> > > > > > > Estou montando um gateway com debian etch, porém estou tendo
> > > > > > > problemas.
> > > > > > > Tenho 2 ADSLs da Brasil Telecom. Uma com IP Fixo e outra com IP
> > > > > > > dinâmico (ambas tendo o gateway 201.24.160.254)
> > > > > > > Quero compartilhar as 2...estou usando squid. Estou usando o
> iproute.
> > > > > > > Mas o problemas mais difícil está com o MSN. Os clientes não
> conseguem
> > > > > > > se conectar...erro 8000306.
> > > > > > > Alguém sabe o que acontece?
> > > > > > > Um resumo dos meus scripts...
> >
> > > > > > > Meu firewall...
> > > > > > > #!/bin/bash
> > > > > > > IF_PPP0=ppp0
> > > > > > > IF_PPP1=ppp1
> >
> > > > > > > IF_ETH0=eth0
> > > > > > > IF_ETH1=eth1
> > > > > > > IF_ETH2=eth2
> > > > > > > IF_ETH3=eth3
> > > > > > > IF_ETH4=eth4
> >
> > > > > > > GW_PPP0=201.24.160.254
> > > > > > > GW_PPP1=201.24.160.254
> >
> > > > > > > echo -n "Ativando o redirecionamento no kernel
> > > > > > > -------------------------------------------"
> > > > > > > echo 1 > /proc/sys/net/ipv4/ip_forward
> > > > > > > echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
> > > > > > > echo "OK!"
> >
> > > > > > > #Ativa acessos que podem ir de uma interface mas que voltam por
> outra
> > > > > > > echo 0 > /proc/sys/net/ipv4/conf/ppp0/rp_filter
> > > > > > > echo 0 > /proc/sys/net/ipv4/conf/ppp1/rp_filter
> >
> > > > > > > echo -n "Registrando e dropando novas conexões de fora
> > > > > > > ----------------------------------"
> > > > > > > iptables -A INPUT -i ppp+ -m state --state !
> ESTABLISHED,RELATED -j
> > > > > > > DROP
> > > > > > > echo "OK!"
> >
> > > > > > > #Habilitando proxy transparente com squid
> > > > > > > echo -n "Ativando proxy transparente com squid
> > > > > > > ----------------------------------------"
> > > > > > > iptables -t nat -A PREROUTING -i eth+ -p tcp --dport 80 -j
> REDIRECT --
> > > > > > > to-port 3128
> > > > > > > echo "OK!"
> >
> > > > > > > #Liberando acesso das conexões de entrada já estabelecidas
> > > > > > > echo -n "Liberando acesso às conexões já estabelecidas
> > > > > > > ---------------------------------"
> > > > > > > iptables -A INPUT -i ppp+ -m state --state RELATED,ESTABLISHED
> -j
> > > > > > > ACCEPT
> > > > > > > echo "OK!"
> >
> > > > > > > echo -n "Bloqueando pacotes fragmentados
> > > > > > > -----------------------------------------------"
> > > > > > > iptables -A INPUT -i ppp0 -f -j LOG --log-prefix "Pacote
> fragmentado:
> > > > > > > "
> > > > > > > iptables -A INPUT -i ppp0 -f -j DROP
> > > > > > > iptables -A INPUT -i ppp1 -f -j LOG --log-prefix "Pacote
> Fragmentado:
> > > > > > > "
> > > > > > > iptables -A INPUT -i ppp1 -f -j DROP
> > > > > > > echo "OK!"
> >
> > > > > > > #Bloqueando ataques do tipo SPOOF de IP
> > > > > > > echo -n "Bloqueando IP spoofing
> > > > > > > ---------------------------------------------------------"
> > > > > > > iptables -A INPUT -i ppp+ -s 10.0.0.0/8 -j DROP
> > > > > > > iptables -A INPUT -i ppp+ -s 172.16.0.0/12 -j DROP
> > > > > > > iptables -A INPUT -i ppp+ -s 192.168.0.0/16 -j DROP
> > > > > > > iptables -A INPUT -i ppp+ -s 224.0.0.0/4 -j DROP
> > > > > > > iptables -A INPUT -i ppp+ -s 240.0.0.0/5 -j DROP
> > > > > > > echo "OK!"
> >
> > > > > > > echo -n "Mantendo conexões ativas
> > > > > > > -----------------------------------------------------"
> > > > > > > iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j
> ACCEPT
> > > > > > > echo "OK!"
> >
> > > > > > > #Fazendo mascaramento (compartilhamento da conexão)
> > > > > > > echo -n "Compartilhando conexões ADSL
> > > > > > > -----------------------------------------------"
> > > > > > > iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
> > > > > > > iptables -t nat -A POSTROUTING -o ppp1 -j SNAT --to-
> > > > > > > source=189.72.198.12
> > > > > > > echo "OK!"
> >
> > > > > > > # Desabilitando o filtro de pacotes do martian source
> > > > > > > echo -n "Desligando rp_filter
> > > > > > > ------------------------------------------------------"
> >
> > > > > > >        for eee in /proc/sys/net/ipv4/conf/*/rp_filter; do
> > > > > > >                echo 0 > $eee
> > > > > > >        done
> >
> > > > > > > echo "OK!"
> >
> > > > > > > Esta é parte que aplica as regras nas tabelas de
> roteamento...Faz
> > > > > > > balanceamento de carga.
> > > > > > > Sei que o MSN tem q ser autenticado usando somente uma
> interface, mas
> > > > > > > não sei como restringir isso.
> >
> > > > > > > #!/bin/bash
> >
> > > > > > > #Variáveis
> > > > > > > GW_PPP0=201.24.160.254
> > > > > > > GW_PPP1=201.24.160.254
> >
> > > > > > > IP_PPP1=189.72.x.x       #IP Fixo
> >
> > > > > > > IF_PPP0=ppp0
> > > > > > > IF_PPP1=ppp1
> >
> > > > > > > T_PPP0=200
> > > > > > > T_PPP1=201
> >
> > > > > > > ip route del default
> >
> > > > > > > iptables -t mangle -A PREROUTING -p tcp -d 64.70.45.46 -j MARK
> --set-
> > > > > > > mark 1 #Porta MSN
> >
> > > > > > vc tem que marcar o destino da porta MSN  ( que pelo que eu
> lembro é
> > > > > > 1863, mas é bom checar isto...) tambem sendo +- assim:
> > > > > > iptables -t mangle -A PREROUTING -p tcp -dport 1863 -j MARK
> --set-
> > > > > > mark 1 #Porta MSN
> >
> > > > > > good firewalling
> >
> > > > > > []s
> >
> > > > > > > iptables -t mangle -A OUTPUT -p tcp --dport 443 -j MARK
> --set-mark 1
> > > > > > > iptables -t mangle -A PREROUTING -p tcp --dport 1863 -j MARK
> --set-
> > > > > > > mark 1
> >
> > > > > > > ip rule add fwmark 1 table $T_PPP0 prio 1
> >
> > > > > > > ip route add $GW_PPP0 dev $IF_PPP0 table $T_PPP0
> > > > > > > ip route add default via $GW_PPP0 dev $IF_PPP0 table $T_PPP0
> >
> > > > > > > ip route add $GW_PPP1 dev $IF_PPP1 table $T_PPP1
> > > > > > > ip route add default via $GW_PPP1 dev $IF_PPP1 table $T_PPP1
> >
> > > > > > > ip route add default nexthop via $GW_PPP0 dev $IF_PPP0 weight 1
> > > > > > > nexthop via $GW_PPP1 dev $IF_PPP1 weight 1
> >
> > > > > > > meu arquivo /etc/iproute2/rt_tables
> >
> > > > > > > #
> > > > > > > # reserved values
> > > > > > > #
> > > > > > > #
> > > > > > > 255     local
> > > > > > > 254     main
> > > > > > > 253     default
> > > > > > > 0       unspec
> > > > > > > #
> > > > > > > # local
> > > > > > > #
> > > > > > > #1      inr.ruhep
> > > > > > > 200     PPP0
> > > > > > > 201     PPP1
> >
> > > > > > > Alguém tem alguma idéia de como resolver isso?
> >
> > > > > > --
> > > > > > Paulo Ricardo Bruck - consultor
> > > > > > tel 011 5031-4932 011 5034-1732 cel011 9235-4327
> > > > > > Contato Global S|olutionshttp://www.contato.com.br
> >
> > > > > > --
> > > > > > To UNSUBSCRIBE, email to
> [EMAIL PROTECTED]
> > > > > > with a subject of "unsubscribe". Trouble? Contact
> [EMAIL PROTECTED]
> >
> > > > > Sim, mas foi isso que eu fiz. Marquei a porta para ser roteada pela
> > > > > tabela específica:
> >
> > > > > iptables -t mangle -A PREROUTING -p tcp --dport 1863 -j MARK --set-
> > > > > mark 1
> >
> > > > oppps desculpe agora eu ví que vc colocou a regra corretamente...
> >
> > > > Bem tive o mesmo problema e desistí... comecei a utilizar o CONNMARK
> > > > juntamente com o MARK, mas cara fiquei apanhando 3 semanas para
> deixar
> > > > tudo redondinho..... e tem coisas que ainda me surpreeendem..
> >
> > > > bem como o seu caso é só o MSN vc pode criar uma regras assim:
> >
> > > > ip rule add to 64.70.45.46 table PPP0
> > > >  mas infelizmente é somente por IP , ele não aceita portas......
> > > > se o MSN mudar deste IP aí não tem jeito desta maneira
> >
> > > > veja na lista do netfilter que este tema vira e mexe aparece com
> outros
> > > > tipos de solução usando o MARK e o CONNMARK.
> >
> > olá Julio
> >
> > bem seguem alguns links que me ajudaram a entender um pouco o CONNMARK e
> > o 
> > MARK:http://iptables-tutorial.frozentux.net/(<http://iptables-tutorial.frozentux.net/%28>clássico
> >  todos deveriam ler)
> http://lists.netfilter.org/pipermail/netfilter/2005-February/058874.html
> >
> > []s
> >
> >
> >
> >
> >
> > > > []s
> >
> > > > --
> > > > To UNSUBSCRIBE, email to
> [EMAIL PROTECTED]
> > > > with a subject of "unsubscribe". Trouble? Contact
> [EMAIL PROTECTED]
> >
> > > Pois é Paulo. Como você viu, o negócio é complicado. Já faz 2 meses
> > > que tô nessa...rs
> > > Mas o resto funciona tranquilo. Uso o iptraf para ver o tráfego. Ele
> > > balanceia sem problemas. Vejo os pacotes saindo da ppp0 e ppp1 com
> > > balanceamento...
> > > O problema é só com o MSN mesmo. Sites de banco também tem problema,
> > > pois eles validam mudança de IP.
> > > Agora o CONNMARK, funciona como?
> > > Serve para eu identificar que uma conexão vai usar sempre a mesma
> > > rota, até ser finalizada?
> > > Por exemplo, ao usar sites de banco (Bradesco):
> > > iptables -t mangle -A PREROUTING -d 200.155.88.15 -j CONNMARK --set-
> > > mark 1
> > > e depois...
> > > iptables -t mangle -A PREROUTING -d 200.155.88.15 -j CONNMARK --save-
> > > mark
> >
> > > Seria só isso? Acho q não entendi como se usa direito...rs
> >
> > > Ou poderia fazer assim: Usar sempre conexões com mesma rota
> > > (Independentes de onde venha, ou pra onde vão...):
> > > iptables -t mangle -A PREROUTING -d 0/0 -j CONNMARK --set-mark 1
> > > iptables -t mangle -A PREROUTING -d 0/0 -j CONNMARK --save-mark
> >
> > > Tá certo o raciocínio?
> >
> > > Li algumas coisas aqui:
> >
> > >http://security.maruhn.com/iptables-tutorial/x9125.html
> >
> > > Agora aquela idéia do IP do MSN não deu certo (ip rule add to
> > > 64.70.45.46 table PPP0). Acho que ele usa outros IPs para
> > > autenticação...Pelo menos é o que parece.
> >
> > --
> > To UNSUBSCRIBE, email to [EMAIL PROTECTED]
> > with a subject of "unsubscribe". Trouble? Contact
> [EMAIL PROTECTED]
>
> Obrigado mais uma vez pela resposta Paulo.
> Tentei incrementar o que entendi sobre CONNMARK nas minhas regras...
> Mas foi uma pena que não funcionou ainda :(
> Já tentei bastante coisa. Até agora nada. Alguma outra idéia de como
> fazer funcionar o MSN com balanceamento de carga?
> Lembro que quando tenho uma conexão só (só a ppp0 ou só a ppp1, por
> exemplo) o MSN funciona blz. Sem problemas. O negócio tá com o
> balanceamento mesmo.
>
> Aqui vai meu código:
>
>
> #!/bin/bash
>
> #Variáveis
> GW_PPP0=201.24.160.254
> GW_PPP1=201.24.160.254
>
> IP_PPP1=189.72.58.18
>
> IF_PPP0=ppp0
> IF_PPP1=ppp1
>
> T_PPP0=200
> T_PPP1=201
>
> #IPs de Voip
> IP_VOIP0=192.168.0.150/24
> IP_VOIP1=192.168.0.151/24
> IP_VOIP2=192.168.0.152/24
> IP_VOIP3=192.168.0.153/24<http://192.168.0.150/24IP_VOIP1=192.168.0.151/24IP_VOIP2=192.168.0.152/24IP_VOIP3=192.168.0.153/24>
>
>
> #Priorizando pacotes que vem dos IPs dos VOIPs
>
> iptables -t mangle -A PREROUTING -i eth0 -s $IP_VOIP0 -m tos --tos
> Minimize-Delay -j MARK --set-mark 1
> iptables -t mangle -A PREROUTING -i eth0 -s $IP_VOIP1 -m tos --tos
> Minimize-Delay -j MARK --set-mark 1
> iptables -t mangle -A PREROUTING -i eth0 -s $IP_VOIP2 -m tos --tos
> Minimize-Delay -j MARK --set-mark 1
> iptables -t mangle -A PREROUTING -i eth0 -s $IP_VOIP3 -m tos --tos
> Minimize-Delay -j MARK --set-mark 1
>
> echo "Aplicando regras de roteamento"
>
> ip route del default
>
> ip rule add fwmark 1 table $T_PPP0 prio 1
>
> iptables -t mangle -A POSTROUTING -j CONNMARK --restore-mark
> iptables -t mangle -A POSTROUTING -m mark ! --mark 0 -j ACCEPT
> iptables -t mangle -A POSTROUTING -p tcp --dport 1863 -j MARK --set-
> mark 3
> iptables -t mangle -A POSTROUTING -p tcp --dport 443 -j MARK --set-
> mark 4
> iptables -t mangle -A POSTROUTING -p tcp --dport 80 -j MARK --set-mark
> 5
> iptables -t mangle -A POSTROUTING -j CONNMARK --save-mark
>
> #ip route add $GW_PPP0 dev $IF_PPP0 table $T_PPP0
> #ip route add default via $GW_PPP0 dev $IF_PPP0 table $T_PPP0
>
>
>
> ip route flush cache
>
> echo "Regras aplicadas"
> echo
> echo "Listando conteúdo do novo roteamento da tabela PPP0"
>
> ip route list table $T_PPP0
>
> echo
> echo "Listando conteúdo da novo roteamento da tabela PPP1"
>
> ip route list table $T_PPP1
>
> echo
>
> ip route add default nexthop via $GW_PPP0 dev $IF_PPP0 weight 1
> nexthop via $GW_PPP1 dev $IF_PPP1 weight 1
>
> ip route flush cache
>
> echo "OK - Finalizado"
>
>
> OBS.: As minhas regras do IPTABLES são as mesmas que postei acima.
>
>
> --
> To UNSUBSCRIBE, email to [EMAIL PROTECTED]
> with a subject of "unsubscribe". Trouble? Contact
> [EMAIL PROTECTED]
>
>

Responder a