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

Re: IPROUTE + IPTABLES + eth0, eht1 e eth2



Boa noite!

Você diz funcionou, mas mesmo o msn não caia, por exemplo no meu load balance o msn conecta e cai apos 15 a 30 minutos, e não consegui resolver isto, como solução apenas fiz load balance de alguns serviços.

Segue o script:
**************************************************************
 #!/bin/bash

#IPT=/usr/local/sbin/iptables
INT=eth2
IF_ADSL1=eth0
IF_ADSL2=eth1

# Limpando Regras antigas
iptables -t nat -F
iptables -t filter -F
iptables -t mangle -F
iptables -t nat -X
iptables -t filter -X
iptables -t mangle -X

#remove defaults routers
route del default gw 192.168.3.1
route del default gw 192.168.4.1

# Definicao de regras padrã$IPT
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

#marcando pacotes do msn
#iptables -A PREROUTING -t mangle -i eth2 -p tcp --dport 6891 -j MARK --set-mark 4
#iptables -A PREROUTING -t mangle -i eth2 -p tcp --dport 6892 -j MARK --set-mark 4
#iptables -A PREROUTING -t mangle -i eth2 -p tcp --dport 6893 -j MARK --set-mark 4
#iptables -A PREROUTING -t mangle -i eth2 -p tcp --dport 6894 -j MARK --set-mark 4
#iptables -A PREROUTING -t mangle -i eth2 -p tcp --dport 6895 -j MARK --set-mark 4
#iptables -A PREROUTING -t mangle -i eth2 -p tcp --dport 6896 -j MARK --set-mark 4
#iptables -A PREROUTING -t mangle -i eth2 -p tcp --dport 6897 -j MARK --set-mark 4
#iptables -A PREROUTING -t mangle -i eth2 -p tcp --dport 6898 -j MARK --set-mark 4
#iptables -A PREROUTING -t mangle -i eth2 -p tcp --dport 6899 -j MARK --set-mark 4
#iptables -A PREROUTING -t mangle -i eth2 -p tcp --dport 6900 -j MARK --set-mark 4
#iptables -A PREROUTING -t mangle -i eth2 -p tcp --dport 1863 -j MARK --set-mark 4
#iptables -A PREROUTING -t mangle -i eth2 -p udp --dport 1863 -j MARK --set-mark 4
#iptables -A PREROUTING -t mangle -i eth2 -p udp --dport 5190 -j MARK --set-mark 4
#iptables -A PREROUTING -t mangle -i eth2 -p udp --dport 6901 -j MARK --set-mark 4
#iptables -A PREROUTING -t mangle -i eth2 -p tcp --dport 6901 -j MARK --set-mark 4

#setando https
#iptables -A PREROUTING -t mangle -i eth2 -p tcp --dport 443 -j MARK --set-mark 4

#marcando o resto dos pacotes
iptables -A PREROUTING -t mangle -i eth2 -p tcp --dport 80 -j MARK --set-mark 3
iptables -A PREROUTING -t mangle -i eth2 -p udp --dport 80 -j MARK --set-mark 3
iptables -A PREROUTING -t mangle -i eth2 -p udp --dport 110 -j MARK --set-mark 3
iptables -A PREROUTING -t mangle -i eth2 -p tcp --dport 110 -j MARK --set-mark 3
iptables -A PREROUTING -t mangle -i eth2 -p tcp --dport 25 -j MARK --set-mark 3
iptables -A PREROUTING -t mangle -i eth2 -p tcp --dport 22 -j MARK --set-mark 3
iptables -A PREROUTING -t mangle -i eth2 -p tcp --dport 21 -j MARK --set-mark 3
iptables -A PREROUTING -t mangle -i eth2 -p tcp --dport 53 -j MARK --set-mark 3
iptables -A PREROUTING -t mangle -i eth2 -p udp --dport 53 -j MARK --set-mark 3
iptables -A PREROUTING -t mangle -i eth2 -p tcp --dport 23 -j MARK --set-mark 3
iptables -A PREROUTING -t mangle -i eth2 -p udp --dport 69 -j MARK --set-mark 3


#mascarando as conexoes
iptables -t nat -A POSTROUTING -o $IF_ADSL2 -j MASQUERADE
iptables -t nat -A POSTROUTING -o $IF_ADSL1 -j MASQUERADE

# Mantendo conexoes ativas:

echo -n "Manutencao de conexoes ativas..."
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
echo "                             [OK]"

echo -n "Otimizando o roteamento..."
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
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
        cat /proc/sys/net/ipv4/conf/*/rp_filter
echo "                                [OK]"

#Citç:
#!/bin/bash

# Interface ADSL 1
IF1=eth0
# Interface ADSL 2
IF2=eth1

# IP 1
IP1=192.168.3.5
# IP 2
IP2=192.168.4.5

# Gateway 1
P1=192.168.3.1
# Gateway 2
P2=192.168.4.1

# Rede 1
P1_NET=192.168.3.0
# Rede 2
P2_NET=192.168.4.0

ip route add $P1_NET dev $IF1 src $IP1 table ADSL1
ip route add default via $P1 table ADSL1
ip route add $P2_NET dev $IF2 src $IP2 table ADSL2
ip route add default via $P2 table ADSL2

ip route add $P1_NET dev $IF1 src $IP1
ip route add $P2_NET dev $IF2 src $IP2

#ip route add default via $P1

ip rule add from $IP1 table ADSL1
ip rule add from $IP2 table ADSL2

#roteando o msn por um link (adsl Fixo)
#ip rule add fwmark 4 table ADSL2 prio 2

#balanceamento dos links
ip rule add fwmark 3 lookup ADSL0 prio 3
ip route add default table ADSL0 nexthop via $P1 dev $IF1 weight 2 nexthop via $P2 dev $IF2 weight 1


#carregando nat e ip forward
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward

#aplicando as regras
ip route flush cache

#para acesso local a internet
route add default gw 192.168.4.1

#redirecionando portas
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-dest 192.168.1.10:80
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 25 -j DNAT --to-dest 192.168.1.10:25
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 110 -j DNAT --to-dest 192.168.1.10:110
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 10000 -j DNAT --to-dest 192.168.1.10:10000
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 22 -j DNAT --to-dest 192.168.1.10:22
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 53 -j DNAT --to-dest 192.168.1.10:53
#iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-dest 192.168.1.10:8
***********************************************************************


On 5/14/07, Denis <denismpa@gmail.com> wrote:
vc verificou se o seu Kernel tem as opçoes que estão descritas aqui:
http://www.rnp.br/newsgen/0201/roteamento_linux.html ?


Eu segui esta documentação de RNP em conjunto com esta do vivaolinux:
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=2252# há um
tempo atrás e funcionou direitinho.



Abraço.
Em 14/05/07, Júnior Bohn< movidoalinux@gmail.com> escreveu:
> O que eu notei, não se pode ativar o load balance com rota default, senão
> ele sempre sai por aquela rota, por isso no meu script só adiciono no final,
> não sei se isto está correto, mas comigo funciona 100%, so que modifiquei
> algumas coisas, só faço banceamento de alguns serviços, isto por causa do
> msn que sempre ficava caindo.
>
>
> Junior
>
> On 5/9/07, Júnior Bohn <movidoalinux@gmail.com> wrote:
> > Boa noite!
> >
> > Cara, também já apanhei muito com dois links, você deve marcar os pacotes
> usando o iptables e usar tabelas avançadas com iproute2, segue um link, onde
> tem um script que faz mais ou menos o que você precisa, adapte ele conforme
> voce quer, e procure no google sobre load balance e iproute2 que voce acha
> muita coisa.
> >
> > Não precisa recompilar seu kernell.
> >
> > segue o link:
> > http://ubuntuforum-pt.org/index.php?topic=18779.0
> >
> > Junior
> > Rio grande do sul
> >
> >
> >
> >
> > On 5/9/07, Ebenezer Divonzir da Silva <divonzirdasilva@gmail.com > wrote:
> > >
> > > Boa Tarde Pessoal.
> > >
> > > estou tentando montar um servidor de internet, e o mesmo não está dando
> muito certo.
> > >
> > > tenho duas conexões com a internet, e uma com a rede local.
> > >
> > > o meu interesse é fazer com que determinados IPs da minha rede saiam por
> uma conexão e outros pela outra conexão.
> > >
> > > eth0 = INTERNET 1  =  200.199.203.8/29
> > > eth1 = INTERNET 2  =  200.155.125.96/30
> > > eth2 = REDE_INTERNA  =   192.168.0.0/24
> > >
> > > digamos que a minha rede seja 192.168.0.0/24
> > > e quero que os IPs 192.168.0.7 # 192.168.0.8 # 192.168.0.16 #
> 192.168.0.17 #  192.168.0.18 acessem pela INTERNET 1
> > > e os IPs 192.168.0.5 # 192.168.0.9 - 192.168.0.15 # 192.168.0.19 acessem
> pela INTERNET 2
> > >
> > > dei uma olhada nos links a seguir
> > >
> > > 1) http://www.rnp.br/newsgen/9809/rot-linux.html
> > > 2) http://www.rnp.br/newsgen/0201/roteamento_linux.html
> > > 3) http://www.dicas-l.com.br/dicas-l/20070327.php
> > >
> > > e tentei reutilizar o script do 3º
> > >
> > > não sei se meu micro não tem suporte ou se precisarei recompilar o
> Kernel ou usar o modeprobe para carregar algo.
> > >
> > > alguém tem alguma dica???
> > >
> > > fazem 3 dias que estou pesquisando sobre o assunto e não tenho
> conseguido muito!!!
> > >
> > >
> > > Agradecido.
> > > Divonzir.
> > >
> >
> >
>
>



Reply to: