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] > >

