Esta seção aborda alguns problemas que podem surgir ao usar PPP em uma conexão de modem. Alguns ISPs apresentam o prompt ssword
enquanto outros apresentam password
. Se o script ppp
não for escrito de acordo, a tentativa de login falhará. A maneira mais comum de depurar as conexões ppp
é conectando manualmente conforme descrito nesta seção.
Ao usar um kernel personalizado, certifique-se de incluir a seguinte linha no arquivo de configuração do kernel:
device uart
O dispositivo uart
já está incluído no kernel GENERIC
, portanto, nenhuma etapa adicional é necessária neste caso. Basta verificar a saída do dmesg
para o dispositivo do modem com:
#
dmesg | grep uart
Isso deve exibir alguma saída pertinente sobre os dispositivos uart
. Estas são as portas COM que precisamos. Se o modem funcionar como uma porta serial padrão, ele deve estar listado em uart1
ou COM2
. Nesse caso, uma recompilação do kernel não é necessária. Ao fazer a verificação, se o modem estiver em uart1
, o dispositivo do modem será /dev/cuau1
.
Conectar-se à Internet controlando manualmente o ppp
é rápido, fácil e uma ótima maneira de depurar uma conexão ou simplesmente obter informações sobre como o ISP trata as conexões ppp
do cliente. Vamos iniciar o PPP na linha de comando. Note que em todos os nossos exemplos nós usaremos example como o nome do host da máquina rodando o PPP. Para iniciar o ppp
:
#
ppp
ppp ON example> set device /dev/cuau1
Este segundo comando define o dispositivo do modem como cuau1
.
ppp ON example> set speed 115200
Isso define a velocidade de conexão para 115.200 kbps.
ppp ON example> enable dns
Isto diz ao ppp
para configurar o resolver e adicionar as linhas do servidor de nomes ao /etc/resolv.conf
. Se o ppp
não puder determinar o nome do host, ele poderá ser configurado manualmente mais tarde.
ppp ON example> term
Isso alterna para o modo de “terminal” para controlar manualmente o modem.
deflink: Entering terminal mode on /dev/cuau1
type '~h' for help
at
OKatdt
123456789
Use o comando at
para inicializar o modem, então use o comando atdt
e o número o ISP para iniciar o processo de discagem.
CONNECT
Confirmação da conexão, se tivermos problemas de conexão, não relacionados ao hardware, aqui é onde tentaremos resolvê-los.
ISP Login:myusername
Nesse prompt, responda com o nome de usuário fornecido pelo ISP.
ISP Pass:mypassword
Nesse prompt, responda com a senha fornecida pelo ISP. Assim como ocorre ao se logar no FreeBSD, a senha não será exibida quando você a digitar.
Shell or PPP:ppp
Dependendo do ISP, este aviso pode não aparecer. Em caso afirmativo, ele está perguntando se deve usar um shell no provedor ou iniciar o ppp
. Neste exemplo, o ppp
foi selecionado para estabelecer uma conexão com a Internet.
Ppp ON example>
Observe que neste exemplo o primeiro p
foi capitalizado. Isso mostra que nós nos conectamos com sucesso ao ISP.
PPp ON example>
Nós nos autenticamos com sucesso com nosso ISP e estamos aguardando que o endereço IP seja atribuído.
PPP ON example>
Fizemos a negociação de um endereço IP e concluímos nossa conexão com êxito.
PPP ON example>add default HISADDR
Aqui nós adicionamos nossa rota padrão, precisamos fazer isso antes de podermos conversar com o mundo externo, já que atualmente a única conexão estabelecida é com o peer. Se isso falhar devido a rotas existentes, coloque o caractere !
na frente do add
. Alternativamente, defina isso antes de fazer a conexão real e ele negociará uma nova rota de acordo.
Se tudo correu bem, agora deveríamos ter uma conexão ativa com a Internet, que poderia ser colocada em segundo plano usando CTRL+z Se o PPP
retornar para ppp
, a conexão será perdida. É bom saber isso porque mostra o status da conexão. Os P maiúsculos representam uma conexão com o ISP e os p minúsculos mostram que a conexão foi perdida.
Se uma conexão não puder ser estabelecida, desligue o fluxo de hardware CTS/RTS usando set ctsrts off
. Normalmente este é o problema quando nos conectamos há alguns servidores de terminal com PPP, onde o PPP trava quando tenta gravar dados no link de comunicação e aguarda um Clear To Send (CTS), sinal que pode nunca vir. Ao usar esta opção, inclua set accmap
, pois isso pode ser necessário para evitar que o hardware dependa de passar certos caracteres de ponta a ponta, na maioria das vezes XON/XOFF. Consulte ppp(8) para obter maiores informações sobre essa opção e como ela é usada.
Um modem mais antigo pode precisar de set parity even
. A paridade é definida como none por padrão, mas é usada para verificação de erros com um grande aumento no tráfego, em modems mais antigos.
O PPP pode não retornar ao modo de comando, que geralmente é um erro de negociação em que o ISP está aguardando a negociação começar. Neste ponto, usando ~p
forçará o ppp a começar a enviar as informações de configuração.
Se um prompt de login nunca aparecer, a autenticação PAP ou CHAP provavelmente será necessária. Para usar PAP ou CHAP, adicione as seguintes opções ao PPP antes de entrar no modo terminal:
ppp ON example> set authname myusername
Onde myusername
deve ser substituído pelo nome de usuário que foi atribuído pelo ISP.
ppp ON example> set authkey mypassword
Onde mypassword
deve ser substituído pela senha que foi atribuída pelo ISP.
Se uma conexão for estabelecida, mas não conseguir encontrar nenhum nome de domínio, tente utilizar o ping(8) em um endereço IP. Se houver 100 por cento (100%) de perda de pacotes, é provável que uma rota padrão não tenha sido atribuída. Verifique novamente se add default HISADDR
foi definido durante a conexão. Se uma conexão puder ser feita para um endereço IP remoto, é possível que um endereço de resolvedor não tenha sido adicionado ao /etc/resolv.conf
. Este arquivo deve se parecer com:
domainexample.com
nameserverx.x.x.x
nameservery.y.y.y
Onde x.x.x.x
e y.y.y.y
deve ser substituído pelo endereço IP dos servidores DNS do ISP.
Para configurar syslog(3) para fornecer o registro para a conexão PPP, verifique se essa linha existe no /etc/syslog.conf
:
!ppp *.* /var/log/ppp.log
All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.