The FreeBSD FAQ - The Power to Help
The FreeBSD FAQ - The Power to Help
This site is Powered by PAR Teleon

S E Ç Õ E S
B U S C A
+
D E S T A Q U E
CONTATO
PÁGINA ANTIGA
TELEON INTERNET
E N Q U E T E
Se apos a conclusao, a traducao da documentacao oficial do FreeBSD, fosse impressa em livro, voce:

Usaria apenas a documentacao na internet como referencia.Faria o download de toda a documentacao na internet e imprimiria eu mesmo.
Compraria o livro, para te-lo em maos, mas usaria a referencia na internet com maior frequencia do que o livro.Compraria o livro, e seria minha unica referencia.
Compraria varias copias do livro e daria de presente a varias pessoas que deveriam ser devidamente catequisadas.







Jean M. Melo © - 2001
Todos os direitos reservados






H O W   T O 


Índice


17/07/01 00:06 - Configurando o Velox (ADSL) da Telemar usando PPP + NETGRAPH


Fabio Vilan - aka/nick Duwde


Se voce contratou o Velox da Telemar (ADSL) e quer configura-lo no
FreeBSD aqui vao algumas dicas que podem ser uteis.

1 - Introducao

Notei que varias pessoas estao usando o pppd junto com outro programa
conhecido como rp-pppoe (originalmente feito para o linux), essa
configuracao eh totalmente desnecessaria visto que o user-ppp (conhecido
simplesmente como ppp no FreeBSD) aceita TOTALMENTE PPPoE
(PPP-over-Ethernet) por padrao, e ja vem build-in no FreeBSD, alem de ter
muitos mais recursos. (o mesmo utiliza os "tunnel devices" com NETGRAPH)

Certifique-se que voce ja possui :

* Modem ADSL-Velox da Telemar 3Com Dual-Link. (O que a Telemar tem usado
ate hoje) 

* FreeBSD 4.X - Recomenda-se sempre o mais novo, use cvsup :) Se voce nao
sabe, ou nao quer fazer cvsup, recomendo ao minimo o FreeBSD 4.3-RELEASE 

* Eh fundamental as fontes do kernel, pois sera necessario alterar alguns
valores pois o modem da 3Com nao segue os padroes oficiais. (Quando eu
digo que os padroes nao devem ser quebrados sem um bom motivo, e nao vejo
motivo para a 3Com ter seus valores diferentes do padrao) 

* Placa de rede Ethernet configurada no FreeBSD conectada ao modem ADSL ou
a um HUB (lembre-se que se for utilizar em um HUB sera necessario alterar
a chave MDI/X que fica atras do modem) 

Na data que escrevi este documento usava o FreeBSD 4.3-STABLE do dia 06 de
Julho de 2001, com todas as fontes instaladas, cvsuped no dia e com o
"world" (userland+kernel) recompilados.

Antes de instalar seu modem no FreeBSD recomendo que voce o instale em
algum Windows, pois ao recebe-lo da telemar o mesmo nao estara
configurado (internamente), somente apos o programa de instacao, que eh
executado automaticamente pelo CD da telemar, eh que o mesmo eh
configurado corretamente (o profile "ISP" eh criado). 

Portanto mesmo voce configurando tudo abaixo corretamente, se seu modem
nao tiver o profile configurado internamente o mesmo NAO
FUNCIONARA. 

Obviamente voce poderia realiazar esse processo no FreeBSD, mas se voce
nao sabe realiza-lo, eh mais pratico voce instala-lo ao menos pela 1a vez
num Windows antes de tentar configura-lo no FreeBSD, de modo que o profile
sera criado (configurando o modem internamente), e tambem testando se
todas suas conexoes estao ok. Caso voce ja tenha utilizado pelo menos uma
vez no windows, seu profile ja foi criado. (provavelmente com o nome
"ISP" e voce pode continuar com a configuracao do FreeBSD abaixo). De
agora em diante asumirei que o profile criado foi o "ISP" (padrao).

2 - Configurando no FreeBSD

Nao se faz necessario incluir nada especial no kernel, o proprio
NETGRAPH, como o PPPoE sera carregado no momento de utilizacao pelos
modulos (modules). O user-ppp utiliza os tunnel-devices (tun0,tun1) que
ja estao configurados por padrao no kernel (pseudo-device tun)

Gracas a 3Com nao seguir os padroes, voce tem que alterar alguns valores
no arquivo /usr/src/sys/netgraph/ng_pppoe.h , clique AQUI para fazer o
download do patch apropriado (formato diff -u). Para aplica-lo, basta
copia-lo para o diretorio /usr/src/sys/netgraph e depois executar "patch
< ng_pppoe.diff" (Ou voce pode alterar os valores manualmente)

OBS: A partir do FreeBSD 4.4 nao eh mais necessario a aplicacao dessa patch, basta que vc edite o arquivo /etc/sysctl.conf e coloque net.graph.nonstandard_pppoe=1 e dee um reboot para que surja efeito. Caso nao queria dar reboote use systcl -w net.graph.nonstandard_pppoe=1 

Apos isso voce tera que recompilar seu kernel (ou ao menos a module
ng_pppoe) para garantir que as mudancas terao efeito.

Agora basta atualizar o seu /etc/ppp/ppp.conf com as configuracoes
apropriadas, clique AQUI para fazer o download do exemplo de configuracao.
Lembre-se de alterar seu
login/senha (seu telefone), sua interface ethernet se necessario e seu
profile (somente se voce configurou manualmente outro com nome diferente
do padrao, que eh "ISP".

Este exemplo ja esta totalmente configurado para a utilizacao da MTU/MRU
apropiada, ja conserta o problema que ocorre pela diferenca do MSS e do
MTU entre maquinas na rede (atraves do nat) que pode gerar travamento no
meio de conexoes. Ativa o LQR, diminui o tempo de envio entre pacotes
para sempre ter uma posicao mais atualizacao da qualidade da conexao. Em
resumo, esse ppp.conf eh o que eu utilizo apos alguns testes com varias
outras configuracoes.

Para testar sua configuracao, basta executar o "ppp" e executar "dial", e
a conexao deve ser estabelecida corretamente. Como abaixo
bash-2.05# ppp
Working in interactive mode
Using interface: tun0
ppp ON astral> dial
ppp ON astral> 
Ppp ON astral> 
PPp ON astral> 
PPP ON astral> 
Quando todos "PPP" ficarem em maiusculas, sua conexao foi estabelecida
corretamente. O 1o "P" signfica que foi connectado e estabelecido o LCP,
o 2o significa que foi autenticado (seu login e senha foi aceito), e o 3o
significa que foi aceito os IPs definidos.

Apos a conexao ter sido estabelecida, basta ir na pagina da telemar, para
autenticar seu login/senha do provedor utilizado. (na secao abaixo estou
disponibilizando um pequeno script que criei para automatizar esse passo,
porem recomendo pelo menos na 1a vez vc faze-lo manualmente, para
verificar se o login/senha do provedor ke vc possui eh valido). A pagina
da telemar pode ser acessada pelo endereco http://velox.telemar.com.br 

3 - Automatizando a conexao

Bom, ninguem aqui vai ficar querendo chamar o ppp manualmente e depois
autenticar na pagina da telemar, realmente isso seria muito entendiante
para nao dizer pouco pratico, caso a conexao caia, o que eh raro, mas
acontece de vez em quando. Apos ter visto que suas configuracoes acima
funcionam, vamos automatizar tudo.

Vou assumir que voce possa querer agora ou no futuro compartilhar sua
conexao com sua rede local (como ja tinha assumido desde o inicio),
portanto irei incluir no rc.conf alem das linhas para chamarem o ppp,
para tambem permitirem o compartilhamento da conexao (gateway_enable). 
Aqui segue um exemplo das linhas que vc deve ADICIONAR ao seu
/etc/rc.conf para que o mesmo chame o ppp automaticamente, e em caso de
queda de conexao, re-estabeleca a mesma : 
gateway_enable="YES"
ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="YES"
ppp_profile="default"
Porem ainda resta UM problema, a conexao vai ser estabelecida, mas o ppp
nao sabe como se autenticar na pagina da telemar, e nem teria como
saber. Dessa forma para contornar esse "armengue" que a telemar fez, de
ter que ir na pagina autenticar, desenvolvi um pequeno script para
automatizar esse processo. O mesmo pode ser chamado diretamente pelo ppp
assim que a conexao for estabelecida.

Clique AQUI para
fazer o download do script (id-velox.sh). Antes de
executa-lo voce precissa edita-lo e alterar o provedor que voce utiliza,
o login e a senha. O script alem de tentar autenticar na pagina, apos
isso tenta dar um ICMP PING para um destino (que voce pode definir) para
verificar se a conexao foi realmente estabelecida, caso nao seja, tenta
novamente autenticar. Este script tem funcionado 110% comigo em todos os
casos, caso venha a surgir algum problema futuro, ou a telemar venha a
alterar a maneira de autenticacao, atualizarei o mesmo quando necessario
e o atualizarei nesta pagina.

Agora para finalizar basta configurar o ppp para chamar este script
sempre que a conexao for estabelecida, para isso basta criar um arquivo
chamado /etc/ppp/ppp.linkup que sera executado toda vez que a conexao for
estabelecida. Estou assumido que o script anterior (id-velox.sh) que voce
ja fez o download e o colocou no diretorio /etc/ppp/ , caso tenha
colocado em outro local sera necessario editar o ppp.linkup para alterar
a posicao do mesmo.

Clique AQUI para
fazer o download do ppp.linkup que deve ser colocado no
diretorio /etc/ppp que chamara o script id-velox sempre que a conexao for
estabelecida.

Com essas configuracoes, no startup o rc (via rc.conf) chamara
automaticamente o ppp com as configuracoes necessarias para o mesmo se
conectar automaticamente, e quando a conexao for estabelecida o
/etc/ppp/ppp.linkup chamara automaticamente o /etc/ppp/id-velox.sh,
script que autenticara automaticamente no site da telemar com seu
login/senha do provedor.

4 - Conclusao & Comentarios sobre o Velox

A velocidade do sistema, e sua disponibilidade estao boas. Apesar de
algumas vezes o sistema ficar fora do ar por alguns minutos, por
problemas da telemar.

Os maiores problemas para mim estao na maneira que o servico esta sendo
disponibilizado. Nao vejo nenhuma necessidade em o usuario se autenticar
com seu telefone via ppp e depois disso autenticar NOVAMENTE via pagina,
para liberar o acesso a internet. Isso para mim eh totalmente
desnecessario, visto que os usuarios poderiam autenticar diretamente via
ppp usando login@provedor permitindo assim proxy-auth para cada provedor.

Outro problema eh, antes de se autenticar, qualquer hostname que voce
tente resolver ira apontar para a pagina de autenticacao da telemar, ou
seja, resolvendo incorrentamente os hostnames para forcar as pessoas que
possivelmente tenha paginas "padrao" a entrarem na telemar no
inicio. Essa solucao poderia ate ser aceita, se apos a autenticacao tudo
voltasse ao normal, e ao que parece, NAO VOLTA.

Mesmo apos autenticado, os querys de dns sao interceptados pela telemar,
e cacheados pela mesma. Descobri isso apos instalar um servidor de DNS
que normalmente faz uma serie de querys NAO-RECURSIVOS, e portanto nao
funcionou corretamente, pois os querys nao recursivos eram todos
interceptados pelo servidor da telemar e nao resolvidos corretamente. Uma
prova disso eh voce tentar fazer um nslookup recursivo em um servidor
nao-recursivo, a resposta vai ser recursiva, entao como funcionou? 
Simples, a telemar que interceptou o request e fez o query 
recursivo. Exemplo, tente dar o nslookup recursivo em ns1.dns.br ou
ns.embratel.net.br ke sao NAO-RECURSIVOS :) Ira funcionar (e nao deveria
funcionar !!)

Portanto seu servidor de DNS nao vai conseguir funcionar normalmente, nao
conseguindo resolver alguns querys, pois ao realizar querys nao
recursivos, ele sempre sera interceptado pela telemar e tendo respostas
nao apropriadas. A solucao eh utilizar os servidores da telemar
diretamente, como feito acima ou se vc prefere use um servidor de dns
usando a opcao forward-only (que torna todos os querys recursivos), desta
forma ira funcionar normalmente.

Por Fabio Vilan - aka/nick Duwde
http://www.isec.com.br/velox/

Fabio Vilan - aka/nick Duwde




Entrar em contato Enviar este artigo a um amigo Preparar para impressão Índice Topo da página


 

PrincipalBusca AvançadaEnqueteContatoTeleon Internet  
Enquetes antigas | FAQ | FreeBSD Desktop | Informacoes | Links | How To