Desde que comecei a usar o
Debian GNU/Linux sempre tive alguns problemas que ficam mais tempo por resolver, e este era um deles. Após muito pesquisar, e também muitos artigos neste site, o máximo que encontrava era pessoas com o mesmo problema, mas não a solução. Mas hoje meus problemas acabaram e achei como fazer.
Vamos ao problema em si.
Eu particularmente, quando trabalho com conexões ADSL, prefiro usar o modo bridge nos modens e configurar uma conexão pppoe no servidor. E agora com o acesso a internet banda larga mais popular e barata, muitas empresas procuram ter o serviço de 2 operadoras para garantir que não vão ficar paradas.
O problema era que você configurou seu firewall e outras regras levando em conta que operadora A vai estabelecer a conexão ppp0 e operadora B a conexão ppp1, mas na prática se a conexão da operadora A falhar, a conexão da operadora B vai acabar sendo ppp0, pois o daemon pppd estabelece a primeira conexão na ppp0 e a segunda na ppp1, se a primeira conexão não se estabeleceu, então a operadora B passa ser a primeira. Entenderam o tamanho do problema?!
Pelo que pesquisei nas distribuições baseadas no Red Hat (Fedora), parece que isto é simples, mas não testei para confirmar e a muito tempo somente uso Debian ou Ubuntu e para eles eu não achava respostas.
Então vamos ao processo em si:
1. Imaginando que você já tem as duas conexões ADSL e os 2 modens já devidamente configurados em bridge e as devidas placas de rede instaladas e reconhecidas pelo kernel do
Linux, certifique-se que tenha o pacote
pppoeconf devidamente instalado no seu servidor, se não o tiver instale com o comando abaixo:
# apt-get install pppoeconf
2. Para o seu entendimento, defina quem vai ser sua operadora A e operadora B, feito isto conecte o modem da operadora A em uma das placas de rede e digite o comando:
# pppoeconf
Neste momento a ferramenta irá detectar sua conexão e pedirá para que confirme seu usuário e senha da mesma. Após a correta configuração, confirme se você se conectou com o comando:
# ifconfig ppp0
Caso tudo esteja correto, seguimos ao próximo passo, mas caso não tenha conectado, verifique se o modem está devidamente configurado em bridge e se login e senha estão corretos.
3. Com a primeira operadora devidamente configurada, já temos os principais arquivos devidamente preenchidos e agora basta modificá-los.
Com o seu editor favorito abra o arquivo
/etc/network/interfaces, além da configuração da sua placa de rede local, agora também deve existir estas configurações:
(Digamos que sua rede local está na eth0 e as placas eth1 e eth2 são para os modens)
auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth1 up # line maintained by pppoeconf
provider dsl-provider
auto eth1
iface eth1 inet manual
Vamos comentar as linhas acima inserindo o # no inicio da linha e inserir as seguintes linhas:
auto ppp0
iface ppp0 inet ppp
pre-up /sbin/ifconfig eth1 # ( confirme se a placa é eth1 se for outra edite )
provider operadoraA
auto ppp1
iface ppp1 inet ppp
pre-up /sbin/ifconfig eth2 # ( confirme se a placa é eth2 se for outra edite )
provider operadoraB
Agora é só salvar este arquivo.
4. Vamos entrar na pasta
/etc/ppp/peers, dentro dela terá o arquivo dsl-provider. Copie o mesmo para operadoraA e operadoraB:
# cp dsl-provider operadoraA
# cp dsl-provider operadoraB
Com seu editor, abra o arquivo operadoraA, que deve ter o seguinte conteúdo, e acrescente a linha "unit 0" no fim do arquivo:
# Minimalistic default options file for DSL/PPPoE connections
noipdefault
defaultroute
replacedefaultroute
hide-password
#lcp-echo-interval 30
#lcp-echo-failure 4
noauth
persist
#mtu 1492
#persist
#maxfail 0
#holdoff 20
plugin rp-pppoe.so eth1
user "43XXXxxxx@adsl.brt.net.br"
usepeerdns
unit 0 #<-adicione esta linha
Agora vamos editar o arquivo operadoraB. Nele vamos acrescentar a linha "unit 1" ao fim do arquivo, e além disto edite a linha "user" com o login da sua outra operadora (vamos usar o exemplo da gvt) e também a linha "plugin rp-pppoe.so ethX" e colocar a placa de rede correta da mesma.
user "43XXXxxxx@turbonetpro"
plugin rp-pppoe.so eth2
unit 1
Bem, acho que ficou claro.
5. Agora vamos editar os arquivos
pap-secrets e
chap-secrets, que ficam dentro de /etc/ppp.
Na última linha dos mesmos temos uma linha que contém o login e senha do provedorA. Vamos acrescentar o login e senha do provedorB, deve ficar assim:
"43XXXXxxxx@adsl.brt.net.br" * "xxxxxxxxx"
"43XXXxxxx@turbonetpro" * "xxxxxxxx"
Terminado estes arquivos está pronto...
Agora conecte o segundo modem na outra placa de rede e digite "poff -a" para matar todas as conexões ADSL:
# poff -a
E para levantar as conexões digite:
# pon provedorA
# pon provedorB
Digite "ifconfig" e confirme a conexão ppp0 para operadoraA e ppp1 para operadoraB, e mesmo que a ppp0 falhe a ppp1 irá subir com a operadora correta.
Bem, espero ter escrito um bom manual e agradeço a todos.
Edmarcos Antonio de Souza
1. Configurando o Debian com 2 ADSLs pppoe e fixando as interfaces ppp0 e ppp1 por operadora