1 default: 2 set log Phase Chat LCP IPCP CCP tun command 3 ident user-ppp VERSION 4 set device /dev/cuau0 5 set speed 115200 6 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \ 7 \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT" 8 set timeout 180 9 enable dns 10 11 provider: 12 set phone "(123) 456 7890" 13 set authname foo 14 set authkey bar 15 set timeout 300 16 set ifaddr x.x.x.x/0 y.y.y.y/0 255.255.255.255 0.0.0.0 17 add default HISADDR
Capítulo 27. PPP
Esta tradução pode estar desatualizada. Para ajudar com as traduções, acesse a ferramenta de traduções do FreeBSD.
Índice
27.1. Sinopse
O FreeBSD suporta o protocolo Point-to-Point (PPP) que pode ser usado para estabelecer uma conexão de rede ou Internet usando um modem dial-up. Este capítulo descreve como configurar serviços de comunicação baseados em modem no FreeBSD.
Depois de ler este capítulo, você saberá:
Como configurar, usar e solucionar problemas de uma conexão PPP.
Como configurar o PPP sobre Ethernet (PPPoE).
Como configurar o PPP sobre ATM (PPPoA).
Antes de ler este capítulo, você deve:
Estar familiarizado com a terminologia básica de rede.
Entender os conceitos básicos e o propósito de uma conexão dial-up e PPP.
27.2. Configurando o PPP
O FreeBSD fornece suporte nativo para gerenciamento conexões dial-up PPP usando ppp(8). O kernel padrão do FreeBSD fornece suporte para o tun, que é usado para interagir com um hardware de modem. A configuração é executada editando pelo menos um arquivo de configuração, e exemplos destes arquivos de configuração são fornecidos com o sistema. Finalmente, o ppp
é usado para iniciar e gerenciar conexões.
Para usar uma conexão PPP, os seguintes itens são necessários:
Uma conta dial-up com um provedor de serviços de Internet (ISP).
Um modem dial-up.
O número de discagem para o ISP.
O nome de usuário e a senha atribuídos pelo ISP.
O endereço IP de um ou mais servidores de DNS. Normalmente, o ISP fornece estes endereços. Caso contrário, o FreeBSD pode ser configurado para usar a negociação de DNS.
Se alguma das informações necessárias estiver faltando, entre em contato com o ISP.
As seguintes informações podem ser fornecidas pelo ISP, mas não são necessárias:
O endereço IP do gateway padrão. Se esta informação for desconhecida, o ISP fornecerá automaticamente o valor correto durante a configuração da conexão. Ao configurar o PPP no FreeBSD, este endereço é chamado de
HISADDR
.A máscara de sub-rede. Se o ISP não tiver fornecido um,
255.255.255.255
será usado no arquivo de configuração do ppp(8). *Se o ISP tiver atribuído um endereço IP estático e um nome de host, ele deverá ser inserido no arquivo de configuração. Caso contrário, essas informações serão fornecidas automaticamente durante a configuração da conexão.
O restante desta seção demonstra como configurar o FreeBSD para cenários de conexão PPP comuns. O arquivo de configuração requerido é o /etc/ppp/ppp.conf e arquivos de exemplos adicionais estão disponíveis em /usr/shared/examples/ppp/.
Ao longo desta seção, muitos dos exemplos de arquivos exibem números de linha. Esses números de linha foram adicionados para facilitar o acompanhamento da discussão e não devem ser colocados no arquivo real. Ao editar um arquivo de configuração, o recuo adequado é importante. Linhas que terminam em um |
27.2.1. Configuração básica
Para configurar uma conexão PPP, primeiro edite o /etc/ppp/ppp.conf com as informações de discagem do ISP. Este arquivo é descrito da seguinte maneira:
- Linha 1
Identifica a entrada
default
. Os comandos nesta entrada (linhas 2 a 9) são executados automaticamente quando oppp
é executado.- Linha 2
Ativa os parâmetros de log detalhado para testar a conexão. Uma vez que a configuração esteja funcionando satisfatoriamente, esta linha deve ser reduzida para:
set log phase tun
- Linha 3
Exibe a versão do ppp(8) para o software PPP em execução no outro lado da conexão.
- Linha 4
Identifica o dispositivo ao qual o modem está conectado, onde COM1 é /dev/cuau0 e COM2 é /dev/cuau1.
- Linha 5
Define a velocidade de conexão. Se
115200
não funcionar em um modem mais antigo, tente38400
em seu lugar.- Linhas 6 & 7
A string de discagem escrita como na sintaxe de envio e espera. Consulte chat(8) para obter maiores informações.
Observe que esse comando continua na próxima linha para facilitar a leitura. Qualquer comando no ppp.conf pode fazer isso se o último caractere na linha for
\
.- Linha 8
Define o tempo ocioso limite do link em segundos.
- Linha 9
Instrui o peer para confirmar as configurações de DNS. Se a rede local estiver executando seu próprio servidor DNS, essa linha deve ser comentada, adicionando um
#
no início da linha ou removendo-a.- Linha 10
Uma linha em branco para facilitar a leitura. Linhas em branco são ignoradas pelo ppp(8).
- Linha 11
Identifica uma entrada chamada
provider
. Isto pode ser alterado para o nome do ISP, para queload ISP
possa ser usado para iniciar a conexão.- Linha 12
Use o número de telefone para o ISP. Vários números de telefone podem ser especificados usando os dois-pontos (
:
) ou o caractere pipe (|
) como um separador. Para rotacionar entre os números, use dois pontos. Para sempre tentar discar o primeiro número primeiro e usar os outros números apenas se o primeiro número falhar, use o caractere pipe. Sempre coloque todo o conjunto de números de telefone entre aspas ("
) para evitar falhas de discagem.- Linhas 13 & 14
Use o nome de usuário e senha para o ISP.
- Linha 15
Define o tempo ocioso limite padrão em segundos para a conexão. Neste exemplo, a conexão será fechada automaticamente após 300 segundos de inatividade. Para evitar um tempo limite, defina esse valor como zero.
- Linha 16
Define os endereços da interface. Os valores usados dependem de se um endereço IP estático foi obtido do ISP ou se ele negocia um endereço IP dinâmico durante a conexão.
Se o ISP tiver alocado um endereço IP estático e um gateway padrão, substitua xxxx pelo endereço IP estático e substitua yyyy com o endereço IP do gateway padrão. Se o ISP tiver fornecido apenas um endereço IP estático sem um endereço de gateway, substitua yyyy por
10.0.0.2/0
.Se o endereço IP mudar sempre que uma conexão for feita, altere essa linha para o seguinte valor. Isso diz ao ppp(8)para usar o IP Configuration Protocol (IPCP) para negociar um endereço IP dinâmico:
set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255 0.0.0.0
- Linha 17
Mantenha esta linha como está, pois ela adiciona uma rota padrão ao gateway. O
HISADDR
será automaticamente substituído pelo endereço do gateway especificado na linha 16. É importante que esta linha apareça depois da linha 16.
Dependendo se o ppp(8) for iniciado manualmente ou automaticamente, um arquivo /etc/ppp/ppp.linkup também pode precisar ser criado, contendo as seguintes linhas. Este arquivo é requerido ao executar o ppp
no modo -auto
. Este arquivo é usado após a conexão ter sido estabelecida. Neste ponto, o endereço IP será atribuído e agora será possível adicionar as entradas da tabela de roteamento. Ao criar este arquivo, certifique-se de que o provider corresponda ao valor demonstrado na linha 11 do ppp.conf.
provider: add default HISADDR
Este arquivo também é necessário quando o endereço do gateway padrão é "adivinhado" em uma configuração de endereço IP estático. Neste caso, remova a linha 17 do ppp.conf e crie o /etc/ppp/ppp.linkup com as duas linhas acima. Outros exemplos para este arquivo podem ser encontrados em /usr/shared/examples/ppp/.
Por padrão, o ppp
deve ser executado como root
. Para alterar esse padrão, adicione a conta do usuário que deve executar o ppp
ao grupo network
em /etc/group .
Em seguida, conceda ao usuário acesso a uma ou mais entradas em /etc/ppp/ppp.conf com allow
. Por exemplo, para dar a permissão para os usuários fred
e mary
somente à entrada provider:
, inclua esta linha para a seção provider:
:
allow users fred mary
Para fornecer aos usuários especificados acesso a todas as entradas, coloque essa linha na seção default
.
27.2.2. Configuração Avançada
É possível configurar o PPP para fornecer endereços de servidores DNS e NetBIOS sob demanda.
Para habilitar estas extensões com o PPP versão 1.x, as seguintes linhas podem ser adicionadas à seção relevante do /etc/ppp/ppp.conf.
enable msext set ns 203.14.100.1 203.14.100.2 set nbns 203.14.100.5
E para o PPP versão 2 e acima:
accept dns set dns 203.14.100.1 203.14.100.2 set nbns 203.14.100.5
Isso informará aos clientes os endereços do servidor de nomes primário e secundário e um host do servidor de nomes NetBIOS.
Na versão 2 e acima, se a linha set dns
for omitida, o PPP usará os valores encontrados em /etc/resolv.conf.
27.2.2.1. Autenticação PAP e CHAP
Alguns ISPs configuram seu sistema para que a parte de autenticação da conexão seja feita usando um dos mecanismos de autenticação PAP ou CHAP. Se este for o caso, o ISP não exibirá um prompt login:
na conexão, mas começará a falar PPP imediatamente.
O PAP é menos seguro que o CHAP, mas a segurança normalmente não é um problema aqui, pois as senhas, embora sejam enviadas como texto simples com o PAP, estão sendo transmitidas apenas por uma linha serial. Não há muito espaço para crackers "escutarem".
As seguintes alterações devem ser feitas:
13 set authname MyUserName 14 set authkey MyPassword 15 set login
- Linha 13
Esta linha especifica o nome de usuário do PAP/CHAP. Insira o valor correto para MyUserName.
- Linha 14
Esta linha especifica a senha PAP/CHAP . Insira o valor correto para MyPassword. Você pode querer adicionar uma linha adicional, como:
16 accept PAP
ou
16 accept CHAP
para tornar óbvio que essa é a intenção, mas o PAP e o CHAP são aceitos por padrão.
- Linha 15
O ISP normalmente não exigirá um login no servidor ao usar o PAP ou o CHAP. Portanto, desabilite a string "set login".
27.2.2.2. Usando a funcionalidade de conversão de endereços de rede (NAT) do PPP
O PPP tem a capacidade de usar o NAT interno sem recursos de diverting do kernel. Esta funcionalidade pode ser ativada pela seguinte linha no /etc/ppp/ppp.conf:
nat enable yes
Como alternativa, o NAT pode ser ativado pela opção de linha de comando -nat
. Há também uma opção no /etc/rc.conf chamada ppp_nat
, que é ativada por padrão.
Ao usar este recurso, pode ser útil incluir as seguintes opções no /etc/ppp/ppp.conf para habilitar o encaminhamento de conexões de entrada:
nat port tcp 10.0.0.2:ftp ftp nat port tcp 10.0.0.2:http http
ou para não confiar em nenhuma conexão de entrada
nat deny_incoming yes
27.2.3. Configuração final do sistema
Embora o ppp
agora esteja configurado, algumas edições ainda precisam ser feitas no /etc/rc.conf.
Trabalhando de cima para baixo neste arquivo, certifique-se de que a linha hostname=
esteja configurada:
hostname="foo.example.com"
Se o ISP tiver fornecido um nome de host e um endereço IP estático, use este nome como o nome do host.
Procure pela variável network_interfaces
. Para configurar o sistema para discar para o ISP sob demanda, certifique-se de que o dispositivo tun0 esteja adicionado à lista, caso contrário, remova-o.
network_interfaces="lo0 tun0" ifconfig_tun0=
A variável ppp -auto mysystem Este script é executado no momento da configuração da rede, iniciando o daemon do ppp no modo automático. Se esta máquina funcionar como um gateway, considere incluir a opção |
Certifique-se de que o programa roteador está configurado para NO
com a seguinte linha em /etc/rc.conf:
router_enable="NO"
É importante que o daemon routed
não seja iniciado, pois o routed
tende a excluir as entradas da tabela de roteamento padrão criadas pelo ppp
.
É provavelmente uma boa idéia garantir que a linha sendmail_flags
não inclua a opção -q
, caso contrário o sendmail
tentará fazer uma pesquisa de rede de vez em quando, possivelmente fazendo com que sua máquina disque. Você pode tentar:
sendmail_flags="-bd"
A desvantagem é que o sendmail
é forçado a reexaminar a fila de mensagens sempre que o link ppp subir. Para automatizar isso, inclua !Bg
no ppp.linkup:
1 provider: 2 delete ALL 3 add 0 0 HISADDR 4 !bg sendmail -bd -q30m
Uma alternativa é configurar um "dfilter" para bloquear o tráfego SMTP. Consulte os arquivos de exemplo para maiores detalhes.
27.2.4. Usando o ppp
Tudo o que resta é reiniciar a máquina. Após a reinicialização, digite:
# ppp
e, em seguida, o dial provider
para iniciar a sessão PPP ou para configurar o ppp
para estabelecer sessões automaticamente quando houver tráfego de saída e o start_if .tun0 não existir, digite:
# ppp -auto provider
É possível falar com o programa ppp
enquanto ele está sendo executado em segundo plano, mas somente se uma porta de diagnóstico adequada tiver sido configurada. Para fazer isso, adicione a seguinte linha à configuração:
set server /var/run/ppp-tun%d DiagnosticPassword 0177
Isso fará com que o PPP escute no soquete de domínio UNIX™ especificado, solicitando aos clientes a senha especificada antes de permitir o acesso. O %d
no nome é substituído pelo número do dispositivo tun que está em uso.
Uma vez que um socket tenha sido configurado, o programa pppctl(8) pode ser usado em scripts que desejam manipular o programa em execução.
27.2.5. Configurando serviços de discagem
A Serviço Dial-in fornece uma boa descrição sobre como ativar serviços dial-up usando o getty(8).
Uma alternativa para o getty
é o port comms/mgetty+sendfax), uma versão mais inteligente do getty
projetada com as linhas dial-up em mente.
As vantagens de usar o mgetty
é que ele fala ativamente com os modems, o que significa que se a porta estiver desligada no /etc/ttys então o modem não irá atender o telefone.
Versões posteriores do mgetty
(da 0.99beta em diante) também suportam a detecção automática de fluxos PPP, permitindo acesso ao servidor de clientes sem script.
Consulte a URL http://mgetty.greenie.net/doc/mgetty_toc.html para maiores informações sobre o mgetty
.
Por padrão, o port comms/mgetty+sendfax vem com a opção AUTO_PPP
ativada permitindo que o mgetty
detecte a fase LCP das conexões PPP e crie automaticamente um shell ppp. No entanto, como a sequência de login/senha padrão não ocorre, é necessário autenticar os usuários usando o PAP ou o CHAP.
Esta seção assume que o usuário compilou com sucesso e instalou o port comms/mgetty+sendfax em seu sistema.
Assegure-se de que o /usr/local/etc/mgetty+sendfax/login.config tenha o seguinte:
/AutoPPP/ - - /etc/ppp/ppp-pap-dialup
Isto diz ao mgetty
para executar o ppp-pap-dialup para conexões PPP detectadas.
Crie um arquivo executável chamado /etc/ppp/ppp-pap-dialup contendo o seguinte:
#!/bin/sh exec /usr/sbin/ppp -direct pap$IDENT
Para cada linha dial-up ativada em /etc/ttys, crie uma entrada correspondente em /etc/ppp/ppp.conf. Isso irá coexistir com as definições que criamos acima.
pap: enable pap set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40 enable proxy
Cada usuário que fizer login com este método precisará ter um nome de usuário/senha em /etc/ppp/ppp.secret ou, como alternativa, adicione a seguinte opção para autenticar os usuários via PAP a partir de /etc/passwd.
enable passwdauth
Para atribuir à alguns usuários um endereço de IP estático , especifique o endereço como o terceiro argumento em /etc/ppp/ppp.secret. Consulte o /usr/shared/examples/ppp/ppp.secret.sample para exemplos.
27.3. Solução de problemas de conexões PPP
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.
27.3.1. Verifique os Device Nodes
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.
27.3.2. Conectando Manualmente
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
OK
atdt123456789
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.
27.3.3. Depuração
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:
domain example.com nameserver x.x.x.x nameserver y.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
27.4. Usando o PPP sobre Ethernet (PPPoE)
Esta seção descreve como configurar o PPP sobre Ethernet (PPPoE).
Aqui está um exemplo de ppp.conf funcional:
default: set log Phase tun command # you can add more detailed logging if you wish set ifaddr 10.0.0.1/0 10.0.0.2/0 name_of_service_provider: set device PPPoE:xl1 # replace xl1 with your Ethernet device set authname YOURLOGINNAME set authkey YOURPASSWORD set dial set login add default HISADDR
Como root
, execute:
# ppp -ddial name_of_service_provider
Adicione o seguinte ao /etc/rc.conf:
ppp_enable="YES" ppp_mode="ddial" ppp_nat="YES" # if you want to enable nat for your local network, otherwise NO ppp_profile="name_of_service_provider"
27.4.1. Usando um nome de perfil PPPoE
Às vezes, será necessário usar nome de perfil para estabelecer a conexão. Nomes de perfil são usados para distinguir entre diferentes servidores PPPoE conectados a uma determinada rede.
Qualquer informação do nome do perfil necessário deve estar na documentação fornecida pelo ISP.
Como último recurso, pode-se tentar instalar o pacote ou port net/rr-pppoe. Lembre-se, no entanto, que isso pode desprogramar o seu modem e torná-lo inútil, então pense duas vezes antes de fazê-lo. Basta instalar o programa enviado com o modem. Em seguida, acesse o menu System do programa. O nome do perfil deve estar listado lá. Geralmente é ISP.
O nome do perfil (service tag) será usado na entrada de configuração PPPoE em ppp.conf como a parte do provedor para o set device
. Consulte ppp(8) para detalhes completos. Deve ficar assim:
set device PPPoE:xl1:ISP
Não se esqueça de alterar o xl1 para o dispositivo adequado para a placa Ethernet.
Não se esqueça de alterar o ISP para o nome de perfil.
Para informações adicionais, consulte Banda larga mais barata com o FreeBSD em DSL por Renaud Waldura.
27.4.2. PPPoE com um 3Com™HomeConnect™ ADSL Modem Dual Link
Este modem não segue a especificação PPPoE definida em RFC 2516.
Para tornar o FreeBSD capaz de se comunicar com este dispositivo, um sysctl deve ser configurado. Isso pode ser feito automaticamente no momento da inicialização, atualizando o /etc/sysctl.conf:
net.graph.nonstandard_pppoe=1
ou pode ser feito imediatamente com o comando:
# sysctl net.graph.nonstandard_pppoe=1
Infelizmente, como essa é uma configuração valida para todo o sistema, não é possível falar com um cliente ou servidor PPPoE normal e um 3Com™HomeConnect™ Modem ADSL ao mesmo tempo.
27.5. Usando PPP sobre ATM (PPPoA)
Esta sessão descreve como configurar o PPP sobre ATM (PPPoA). O PPPoA é uma escolha popular entre os provedores europeus de DSL.
27.5.1. Usando o mpd
O aplicativo mpd pode ser usado para conectar-se a uma variedade de serviços, em particular serviços PPTP. Ele pode ser instalado usando o pacote ou port net/mpd5. Muitos modems ADSL exigem que um túnel PPTP seja criado entre o modem e o computador.
Uma vez instalado, configure o mpd para adequar-se às configurações do provedor. O port coloca um conjunto de arquivos de configuração de exemplos os quais são bem documentados em /usr/local/etc/mpd/. Um guia completo para configurar o mpd está disponível no formato HTML em /usr/ports/shared/doc/mpd/. Aqui está uma configuração de exemplo para conectar-se a um serviço ADSL com o mpd. A configuração está espalhada em dois arquivos, primeiro o mpd.conf:
Este exemplo de mpd.conf só funciona com o mpd 4.x. |
default: load adsl adsl: new -i ng0 adsl adsl set bundle authname username (1) set bundle password password (2) set bundle disable multilink set link no pap acfcomp protocomp set link disable chap set link accept chap set link keep-alive 30 10 set ipcp no vjcomp set ipcp ranges 0.0.0.0/0 0.0.0.0/0 set iface route default set iface disable on-demand set iface enable proxy-arp set iface idle 0 open
1 | O nome de usuário usado para autenticar com seu ISP. |
2 | A senha usada para autenticar com seu ISP. |
Informações sobre o link, ou links, a estabelecer são encontradas em mpd.links. Um exemplo do mpd.links para acompanhar o exemplo acima é dado abaixo:
adsl: set link type pptp set pptp mode active set pptp enable originate outcall set pptp self 10.0.0.1 (1) set pptp peer 10.0.0.138 (2)
1 | O endereço IP do computador FreeBSD executando o mpd. |
2 | O endereço IP do modem ADSL. O padrão do Alcatel SpeedTouch™ padrão é 10.0.0.138 . |
É possível inicializar a conexão facilmente, emitindo o seguinte comando como root
:
# mpd -b adsl
Para ver o status da conexão:
% ifconfig ng0
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1500
inet 216.136.204.117 --> 204.152.186.171 netmask 0xffffffff
Usar o mpd é a maneira recomendada de se conectar a um serviço ADSL com o FreeBSD.
27.5.2. Usando o pptpclient
Também é possível usar o FreeBSD para conectar-se a outros serviços PPPoA usando o net/pptpclient.
Para usar o net/pptpclient para conectar-se a um serviço DSL, instale o port ou o pacote e edite o /etc/ppp/ppp.conf. Uma seção de exemplo do ppp.conf é dada abaixo. Para maiores informações sobre as opções do ppp.conf consulte ppp(8).
adsl: set log phase chat lcp ipcp ccp tun command set timeout 0 enable dns set authname username (1) set authkey password (2) set ifaddr 0 0 add default HISADDR
1 | O nome de usuário no provedor de DSL. |
2 | A senha da sua conta. |
Como a senha da conta é adicionada ao ppp.conf em forma de texto simples, certifique-se de que ninguém possa ler o conteúdo deste arquivo:
|
Isso abrirá um túnel para uma sessão PPP para o roteador DSL. Os modems Ethernet DSL têm um endereço IP LAN pré-configurado para conexão. No caso do Alcatel SpeedTouch™ Home, este endereço é 10.0.0.138
. A documentação do roteador deve listar o endereço que o dispositivo usa. Para abrir o túnel e iniciar uma sessão PPP:
# pptp address adsl
Se um E comercial ("&") for adicionado ao final desse comando, o pptp retornará ao prompt. |
Um dispositivo de túnel virtual tun será criado para interação entre os processos do pptp e do ppp. Quando o prompt for retornado ou o processo do pptp confirmar uma conexão, examine o túnel:
% ifconfig tun0
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
inet 216.136.204.21 --> 204.152.186.171 netmask 0xffffff00
Opened by PID 918
Se a conexão falhar, verifique a configuração do roteador, que geralmente é acessível usando um navegador da web. Além disso, examine a saída do pptp
e o conteúdo do arquivo de log /var/log/ppp.log para pistas.
Última alteração em: 9 de março de 2024 por Danilo G. Baio