- 2 NET em 1 PC
+ Responder ao Tópico
-
2 NET em 1 PC
Eu tenho 2 virtua empresarial (IP FIXO) em um único computador sem rede!
2 Int. de Rede
ETH0
e
ETH1
Eu montei um esquema para compartilhar as duas conexões so que venho tendo vários problemas.
Aqui está o script, do iptables.
C_NET=201.6.101.0/24 #(Classe da Interface)
R_NET=201.6.101.1 #(Roteador Virtua)
IR0=eth0 #(Interface Rede)
IP0=201.6.101.73 #(IP do Fixo)
T_0=virtua1 #(Tabela)
IR1=eth1 #(Interface Rede)
IP1=201.6.101.114 #(IP do Fixo)
T_1=virtua2 #(Tabela)
# virtua #1
ip route add $C_NET dev $IR_0 src $IP_0 table $T_0
ip route add default via $R_NET dev $IR0 table $T_0
# virtua #2
ip route add $C_NET dev $IR_1 src $IP_1 table $T_1
ip route add default via $R_NET dev $IR1 table $T_1
# setando virtua na tabela principal de roteamento
ip route add $C_NET dev $IR0 src $IP0
ip route add $C_NET dev $IR1 src $IP1
# setando a rota preferencial
ip route add default via $R_NET dev $IR0 table $T_0
ip route add default via $R_NET dev $IR1 table $T_1
# regras das tabelas
ip rule add from $IP0 table $T_0
ip rule add from $IP1 table $T_1
# balanceamento de link
ip rule add fwmark 3 lookup virtua prio 3
ip route add default table virtua nexthop via $IP0 dev $IR0 weight 1 \
nexthop via $IP1 dev $IR1 weight 1
#OBS: o comando assima deve ser digitado em uma só linha, ou
# usando o caractere \ para dividí-la.
# flush no roteamento
ip route flush cache
echo "[OK]"
sleep 3
O grande problema é eu vou no IPTRAF e vejo o Detailed interface statisticas:
eth0: Tudo blz usa bastante incoming e outgoing
eth1: Usa bastante incoming mas nada de outgoing, fica 0, ai eu mando pigar o ip da eth1 então ele da 1 outgoing.... Será que tem como resolver isso?
-
Outro problema!
Ele não está usando conexão outgoing do eth1 UDP! veja a imagem www.gnn.com.br/outgoing.jpg
A rota padrão na tabela main é o eth0
O que será?
-
2 NET em 1 PC
Ele pega todo tráfego que sai de 201.6.101.73 (eth0) e passa por la e pelo eth1...
Agora nada ta entrando no eth0. Eu to ficando doido!
-
Mudei a configuração!
Botei uma padrão que peguei em um site russo.
So que na hora de conecta no eth1 ele joga pro eth0...
Connecting to 201.6.101.114...
Connection accepted by 201.6.101.73:27015
A config do firewall:
# Definindo regras de balanceamento de Link:
echo -n "Balanceando links virtua..."
P1_NET=201.6.101.0/24 #(Classe da Interface) C_NET
P1=201.6.101.1 #(Roteador Virtua) R_NET
IF1=eth0 #(Interface Rede) IR0
IP1=201.6.101.73 #(IP do Fixo) IP0
T1=virtua1 #(Tabela) T_0
P2_NET=201.6.101.0/24 #(Classe da Interface) C_NET
P2=201.6.101.1 #(Roteador Virtua) R_NET
IF2=eth1 #(Interface Rede) IR0
IP2=201.6.101.114 #(IP do Fixo) IP0
T2=virtua2 #(Tabela) T_0
ip route add $P1_NET dev $IF1 src $IP1 table $T1
ip route add default via $P1 table $T1
ip route add $P2_NET dev $IF2 src $IP2 table $T2
ip route add default via $P2 table $T2
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 $T1
ip rule add from $IP2 table $T2
ip route add default scope global nexthop via $P1 dev $IF1 weight 1 nexthop via $P2 dev $IF2 weight 1
# flush no roteamento
ip route flush cache
echo "[OK]"
sleep 3
Lembrando que tem as tabelas virtua1 e virtua2 no rt_tables.
O tráfego do eth1 não está sendo usado.
Apenas está usando o eth0... Me ajudem!
-
A página russa!
-
A página russa!
-
2 NET em 1 PC
A única coisa q pode ta errada é se eu errei na hora de dar nomes aos bois, ve aqui:
Let us first set some symbolical names. Let $IF1 be the name of the first interface (if1 in the picture above) and $IF2 the name of the second interface. Then let $IP1 be the IP address associated with $IF1 and $IP2 the IP address associated with $IF2. Next, let $P1 be the IP address of the gateway at Provider 1, and $P2 the IP address of the gateway at provider 2. Finally, let $P1_NET be the IP network $P1 is in, and $P2_NET the IP network $P2 is in.
Ta tudo certo não?
-
Danilo_Montagna
Visitante
2 NET em 1 PC
vi aqui.. que vc ta usando marcacao de pacote..
ip rule add fwmark 3 lookup virtua prio 3
mais cade a sua regra do iptables para desviar esse trafego para a rota balanceada?
Outra coisa.. lembre-se que toda rota é cacheada... sendo assim.. se uma conexao vei por uma interface.. ela tem que voltar pela mesma.. e quando isso acontece .. é criada uma rota de cache para essa conexao..
outra coisa.. ja nesse segundo script que vc postou ae.. vc esta apontado o P1 e P2 e P1_NET e P2_NET para o mesmo router e rede..
P1=201.6.101.1
P2=201.6.101.1
acredito que tenha sido erro de digitacao.. pois vc tem 2 routers certo ,,, verifique isso no script..
verifique se o seu cache nao esta apontando a saida para outra interface..
verifique o problema da marcacao de pacotes.. e da um flush cache..
mais outra coisa que percebi.. vc disse que a rota padrao da tabela main é a eth0, se vc esta marcando pacotes.. mais nao tem nenhuma regra no iptables desviando esse trafego.. o trafego outbound de respota vai sair sempre pela eth0 pois é sua rota default.. em caso do pacote nao ser desviado pela rota de balanceamento.. isso é um problema de configuracao...
PS.: Qual dos dois scripts vc esta usando a final ?
eu tenho isso funcionando aqui.. sem problemas...
-
2 NET em 1 PC
Este tópico também me interessa.
Pode mandar suas configurações para vermos o que pode estar de errado, pois o meu problema é idêntico ao do nosso colega.
Um abraço e obrigado.