[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Roteamento Avançado...



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 cel 011 9235-4327
Contato Global S|olutions
http://www.contato.com.br


Reply to: