18.2. Utilizando PPP em modo usuário

Atualizado e melhorado por Tom Rhodes. Originalmente contribuído por Brian Somers. Com adições de Nik Clayton, Dirk Frömberg, e Peter Childs.

18.2.1. PPP em modo usuário

18.2.1.1. Suposições

Este documento assume que você tem o seguinte:

  • Uma conta com um provedor de acesso a Internet (ISP) através do qual você se conecta utilizando PPP.

  • Um modem ou outro dispositivo conectado ao seu sistema e configura corretamente que permite a você se conectar ao seu provedor.

  • O número de discagem do seu provedor.

  • Seu usuário e senha. (um par UNIX® de usuário e senha ou um par PAP ou CHAP).

  • O endereço IP de um ou mais servidores de nomes. Normalmente você receberá dois endereços IP do seu provedor para esta finalidade. Se você não recebeu ao menos um endereço pode utilizar o comando enable dns no arquivo ppp.conf e o ppp irá ajustar os servidores de nome para você. Essa funcionalidade depende do suporte a negociação de DNS que a implementação PPP do seu provedor oferece.

As seguintes informações podem ser providas por seu provedor mas não são totalmente necessárias:

  • O endereço IP do gateway do seu provedor. O gateway é uma máquina a qual você irá se conectar e que irá ser ajustada como sua rota padrão. Se você não tem essa informação nos podemos criar um endereço qualquer e o servidor PPP do seu provedor irá nos informar qual é o valor correto quando nós nos conectarmos.

    Este endereço IP é referido como HISADDR pelo ppp.

  • A máscara de rede que você deve usar. Se seu provedor não lhe informou um você pode seguramente usar 255.255.255.255.

  • Se seu provedor lhe oferece um endereço IP estático e um hostname, você pode digitá-los. Caso contrário, nós simplesmente deixamos que o servidor remoto defina qualquer endereço IP que ele achar conveniente.

Se você não tem nenhuma dessas informações, entre em contato com seu provedor de acesso.

Nota: Durante toda essa seção muitos dos exemplos que se utilizam do conteúdo de arquivos de configuração são numerados por linha. Esses números servem para ajudar na apresentação e discussão apenas e não devem ser usados em seus arquivos de configuração. Endentação adequada com tab ou espaços também é importante.

18.2.1.2. Criando nós para dispositivos PPP

Em circunstâncias normais a maioria dos usuários irão apenas precisar de um dispositivo tun (/dev/tun0). Referências ao tun0 acima podem ser trocadas por tunN onde N é qualquer número correspondente em seu sistema.

Para instalações do FreeBSD que não tenham devfs(5) ativado (FreeBSD 4.X e anteriores), a existência do dispositivo tun0 deve ser verificada (isto não é necessário se devfs(5) está ativado pois os nós de dispositivos serão criados sempre que necessário.

A maneira mais fácil de ter certeza que o dispositivo tun0 está configurado corretamente é refazer o dispositivo. Para refazer o dispositivo faça o seguinte:

# cd /dev
# sh MAKEDEV tun0

Se você tem 16 dispositivos de túnel no seu kernel, você irá precisar criá-los. Isso pode ser feito executando-se os seguintes comandos:

# cd /dev
# sh MAKEDEV tun15

18.2.1.3. Configuração automática do PPP

Tanto ppp quanto pppd (a implementação do PPP em modo kernel) usam os arquivos de configuração localizados no diretório /etc/ppp. Exemplos para ppp em modo usuário podem ser encontrados em /usr/share/examples/ppp/.

A configuração do ppp requer que você edite vários arquivos, dependendo dos seus requerimentos. O que você coloca neles depende se seu provedor aloca endereços IP estaticamente (ex. foi dado a você um endereço IP que deve ser usado sempre) ou dinamicamente (ex. seu endereço IP é trocado cada vez que você se conecta).

18.2.1.3.1. PPP e endereços IP estáticos

Você terá de editar o arquivo de configuração /etc/ppp/ppp.conf. Ele deve ser similar ao exemplo abaixo.

Nota: Linhas que terminal em um : começam na primeira coluna (início da linha)-- todas as outras linhas devem ser endentadas como mostrado utilizando espaços ou tabs.

1     default:
2       set log Phase Chat LCP IPCP CCP tun command
3       ident user-ppp VERSION (built COMPILATIONDATE)
4       set device /dev/cuaa0
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    nome_do_provedor:
12      set phone "(123) 456 7890"
13      set authname foo
14      set authkey bar
15      set login "TIMEOUT 10 \"\" \"\" gin:--gin: \\U word: \\P col: ppp"
16      set timeout 300
17      set ifaddr x.x.x.x y.y.y.y 255.255.255.255 0.0.0.0
18      add default HISADDR
Linha 1:

Identifica a entrada padrão. Comandos nessa entrada são executados automaticamente quando o ppp é executado.

Linha 2:

Ativa parâmetros de logging. Quando a configuração estiver funcionando de acordo, essa linha deve ser reduzida para algo como

set log phase tun
para evitar que o arquivo de log fique com um tamanho excessivo.

Linha 3:

Diz ao PPP como se identificar para a ponta remota. PPP se identifica com a ponta remota se ele tem qualquer problema na negociação e no ajuste do link, provendo informações que o administrador remoto pode achar útil na investigação de problemas.

Linha 4:

Identifica o dispositivo ao qual o modem está conectado. COM1 é /dev/cuaa0 e COM2 é /dev/cuaa1.

Linha 5:

Define a velocidade que você deseja se conectar. Se 115200 não funcionar (deveria com qualquer modem relativamente novo) tente 38400.

Linhas 6 & 7:

A string de discagem. PPP em modo usuário usa uma string similar ao programa chat(8). Veja a página manual para informações sobre as funcionalidades dessa linguagem.

Note que esse comando continua na próxima linha por questões de legibilidade. Qualquer comando no ppp.conf pode fazer isso se o último caractere na linha é o caractere ``\''.

Linha 8:

Define o tempo máximo de inatividade do link. 180 segundos é o padrão e essa linha serve apenas para reforçar isso.

Linha 9:

Diz ao PPP para que ele peça a ponta remota que confirme as configurações do resolver local. Se você roda um servidor de nomes, essa linha deve ser comentada ou removida.

Linha 10:

Uma linha em branco para legibilidade. Linhas em branco são ignoradas pelo PPP.

Linha 11:

Identifica uma entrada para um provedor chamado ``provedor''. Isso deve ser trocado pelo nome do seu provedor para que mais tarde você possa utilizar a opção load ISP para iniciar a conexão.

Linha 12:

Define o número telefônico para esse provedor. Vários números podem ser especificados usando dois pontos (:) ou o caractere pipe (|) como separação. A diferença entre os dois separadores está descrita em ppp(8). Resumindo, se você deseja que todos os números sejam utilizados de forma rotatória utilize os dois pontos. Se você quer que o PPP sempre tente o primeiro número e só utilize os próximos caso o primeiro falhe, utilize o pipe. Sempre coloque os números entre aspas.

Você deve colocar o número telefônico entre aspas (") se você tem a intenção de utilizar espaços entres os números. Se você não utilizar aspas quando houverem espaços um erro acontecerá.

Linha 13 & 14:

Identifica o nome do usuário e a senha. Quando se conectar utilizando um prompt de login no estilo UNIX esses valores são utilizados pelo comando set login usando as variáveis \U e \P. Quando se conectar utilizando PAP ou CHAP esses valores são usados no momento da autenticação.

Linha 15:

Se você está utilizando PAP ou CHAP, não haverá nenhum login e essa linha deve ser comentada ou removida. Veja autenticação PAP e CHAP para maiores detalhes.

A string de login tem a mesma sintaxe que a string de discagem. Nesse exemplo, a string funciona para um serviço que tem uma sessão de login que se parece com isso:

J.  Random Provider
login: foo
password: bar
protocol: ppp

Você precisará alterar esse script para adequá-lo as suas necessidades. Quando você estiver alterando este script pela primeira vez você deve ter certeza de ter ativado o logging de ``chat'' para que você consiga determinar se a conversação está se dando como esperado.

Linha 16:

Ajusta o tempo máximo de inatividade (em segundos) para a conexão. No exemplo a conexão será automaticamente fechada após 300 segundos de inatividade. Se você deseja que a conexão nunca seja fechada, defina este valor para zero ou utilize a opção -ddial na linha de comando.

Linha 17:

Ajusta o endereço da interface. A string x.x.x.x deve ser trocada pelo endereço IP que seu provedor lhe alocou. A string y.y.y.y deve ser trocada pelo endereço IP que seu provedor lhe indicou como sendo o seu gateway (a máquina a qual você se conecta). Se seu provedor não lhe forneceu um gateway, utilize 10.0.0.2/0. Se você precisa ``chutar'' um endereço, tenha certeza de que você criou uma entrada em /etc/ppp/ppp.linkup de acordo com as instruções de PPP e Endereços Dinâmicos. Se essa linha for omitida, o ppp não poderá rodar em modo -auto.

Linha 18:

Adiciona a rota padrão para o gateway do seu provedor. A palavra especial HISADDR é trocada pelo gateway especificado na linha 9. É importante que essa linha apareça após a linha 9, caso contrário a variável HISADDR não terá sido inicializada ainda.

Se você não deseja rodar o ppp com a opção -auto, essa linha deve ser movida para o arquivo ppp.linkup.

Não é necessário adicionar uma entrada ao arquivo ppp.linkup quando você tem um endereço IP estático e está rodando ppp com a opção -auto pois sua tabela de roteamento já estará correta antes de você se conectar. Entretanto você pode querer criar uma entrada para executar certos programas após a conexão ter sido estabelecida. Isso será explicado mais tarde com o exemplo do sendmail.

Arquivos de configuração de exemplo podem ser encontrados no diretório /usr/share/examples/ppp/.

18.2.1.3.2. PPP e Endereços IP Dinâmicos

Se seu provedor não definiu nenhum endereço IP estático, o ppp pode ser configurado para negociar o endereço local e o remoto. Isso é feito quando você ``chuta'' um endereço IP qualquer e deixa que o ppp ajuste ele de acordo através da utilização do IP Configuration Protocol (IPCP) depois de se conectar. A configuração do ppp.conf é a mesma da configuração do PPP e Endereços IP estáticos, com as seguintes mudanças:

17      set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255

Novamente, não inclua o número da linha. Ele está lá apenas para referência. Endentação ou pelo menos um espaço é requerido.

Linha 17:

O número após o caractere / é o número de bits do endereço que o ppp vai insistir que seja utilizado na negociação. Você pode querer utilizar números IP mais adequados a sua situação mas o exemplo acima sempre irá funcionar.

O último argumento (0.0.0.0) diz ao PPP para iniciar qualquer negociação utilizando o endereço 0.0.0.0 invés do endereço 10.0.0.1 e é necessário para alguns provedores. Não use 0.0.0.0 como primeiro argumento de set ifaddr pois isso não permitirá que o PPP ajuste uma rota inicial quando a opção -auto for utilizada na linha de comando.

Se você não está rodando em modo -auto, você irá precisar criar uma entrada no /etc/ppp/ppp.linkup. Este arquivo é utilizado após a conexão ter sido estabelecida. Nesse momento, o ppp irá ter definido os endereços da interface e será agora possível adicionar entradas na tabela de roteamento:

1     nome_do_provedor:
2      add default HISADDR
Linha 1:

No momento de se estabelecer uma conexão, o ppp irá procurar por uma entrada no ppp.linkup seguindo as seguintes regras: Primeiro, tente encontrar o mesmo nome que nós utilizamos em ppp.conf para a conexão. Se isso falhar, procure por uma entrada para o endereço IP do nosso gateway. Se nós ainda não conseguimos encontrar uma entrada, procure pela entrada MYADDR.

Linha 2:

Essa linha diz ao ppp para adicionar a rota padrão que aponta para HISADDR. HISADDR será trocado pelo endereço IP do nosso gateway que foi negociado pelo IPCP.

Veja a entrada pmdemand nos arquivos /usr/share/examples/ppp/ppp.conf.sample e /usr/share/examples/ppp/ppp.linkup.sample para um exemplo mais detalhado.

18.2.1.3.3. Recebendo Chamadas

Quando você configura o ppp para receber ligações em uma máquina conectada a uma LAN, você precisa decidir se você deseja que ela passe adiante os pacotes para a LAN. Se você quer isso, você deve alocar para a ponta remota um endereço IP de sua LAN e utilizar o comando enable proxy no /etc/ppp/ppp.conf. Você deve também confirmar que o arquivo /etc/rc.conf contém a seguinte linha:

gateway_enable="YES"

18.2.1.3.4. Qual getty?

Configurando o FreeBSD para Serviços Discados fornece uma boa descrição de como ativar serviços discados usando getty(8).

Uma alternativa para o getty é o mgetty, uma versão mais inteligente do getty desenvolvida para linhas discadas.

A vantagem de se utilizar o mgetty é que ele ativamente fala com os modems. Isso significa que se a porta está desligada no /etc/ttys então seu modem não irá atender o telefone.

Versões mais recentes do mgetty (de 0.99beta para frente) também suportam a detecção automática de conexões PPP, permitindo a seus clientes que se conectem ao seu servidor sem a utilização de scripts.

Veja Mgetty e Auto-PPP para maiores informações sobre o mgetty.

18.2.1.3.5. Permissões do PPP

O comando ppp precisa normalmente ser executado como root. Se entretanto, você deseja permitir que ele seja executado no modo servidor por um usuário normal, este usuário precisa que lhe seja garantida a permissão de execução para o ppp através da adição deste usuário ao grupo network no arquivo /etc/group.

Você também precisará dar acesso a uma ou mais seções do arquivo de configuração usando o comando allow:

allow users fred mary

Se o comando for utilizado na seção default, ele garante que os usuários especificados terão acesso a tudo.

18.2.1.3.6. Shells PPP e Usuários de IPs Dinâmicos

Crie um arquivo chamado /etc/ppp/ppp-shell contendo o seguinte:

#!/bin/sh
IDENT=`echo $0 | sed -e 's/^.*-\(.*\)$/\1/'`
CALLEDAS="$IDENT"
TTY=`tty`

if [ x$IDENT = xdialup ]; then
    IDENT=`basename $TTY`
fi

echo "PPP for $CALLEDAS on $TTY"
echo "Starting PPP for $IDENT"

exec /usr/sbin/ppp -direct $IDENT

Esse script deve ser executável. Agora crie um link simbólico chamado ppp-dialup para este script usando o seguinte comando:

# ln -s ppp-shell /etc/ppp/ppp-dialup

Você deve usar este script como a shell para todos os seus usuários discados. Este é um exemplo do /etc/passwd para um usuário de discado chamado pchilds (lembre-se de não editar o arquivo de senhas diretamente, utilize o vipw).

pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup

Crie um diretório chamado /home/ppp que possa ser lido por qualquer usuário contendo os seguintes arquivos vazios:

-r--r--r--   1 root     wheel     0 May 27 02:23 .hushlogin
-r--r--r--   1 root     wheel      0 May 27 02:22 .rhosts

que farão com que o /etc/motd não seja mostrado.

18.2.1.3.7. Shells PPP para Usuários de IPs Estáticos

Crie o arquivo ppp-shell como mostrado acima e para cada conta que tenha um IP estático definido crie um link simbólico para ppp-shell.

Por exemplo, se você tem três clientes discados, fred, sam, e mary, que você faz roteamento de redes classe C para eles, você deve digitar o seguinte:

# ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-fred
# ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-sam
# ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-mary

Cada um desses usuários deve ter sua shell definida para o link simbólico criado acima (por exemplo, a shell do usuário mary deve ser /etc/ppp/ppp-mary).

18.2.1.3.8. Ajustando o ppp.conf para Usuários de IPs Dinâmicos

O arquivo /etc/ppp/ppp.conf deve conter algo parecido com o seguinte:

default:
  set debug phase lcp chat
  set timeout 0

ttyd0:
  set ifaddr 203.14.100.1 203.14.100.20 255.255.255.255
  enable proxy

ttyd1:
  set ifaddr 203.14.100.1 203.14.100.21 255.255.255.255
  enable proxy

Nota: A endentação é importante.

A seção default: é carregada para cada sessão. Para cada linha discada ativada no /etc/ttys você deve criar uma entrada similar a ttyd0: abaixo. Cada linha deve ter um endereço IP único dentre os IPs disponíveis para os usuários dinâmicos.

18.2.1.3.9. Ajustando o ppp.conf para Usuários de IPs Estáticos

Junto com o conteúdo do arquivo de exemplo /usr/share/examples/ppp/ppp.conf acima você deve adicionar uma seção para cada usuário estático. Nós iremos continuar com os usuários fred, sam e mary como exemplo.

fred:
  set ifaddr 203.14.100.1 203.14.101.1 255.255.255.255

sam:
  set ifaddr 203.14.100.1 203.14.102.1 255.255.255.255

mary:
  set ifaddr 203.14.100.1 203.14.103.1 255.255.255.255

O arquivo /etc/ppp/ppp.linkup deve também conter informações de roteamento para cada endereço IP estático se isso for necessário. A linha abaixo irá adicionar uma rota para a rede classe C 203.14.101.0 através do link PPP do cliente.

fred:
  add 203.14.101.0 netmask 255.255.255.0 HISADDR

sam:
  add 203.14.102.0 netmask 255.255.255.0 HISADDR

mary:
  add 203.14.103.0 netmask 255.255.255.0 HISADDR

18.2.1.3.10. mgetty e AutoPPP

Configurar e compilar o mgetty com a opção AUTO_PPP ativada permite que o mgetty detecte a fase LCP da conexão PPP e automaticamente inicie uma shell ppp. Entretanto, já que a seqüência de usuário/senha padrão não ocorre é necessário autenticar os usuários usando PAP ou CHAP.

Essa seção assume que o usuário tenha configurado, compilado e instalado uma versão do mgetty com a opção AUTO_PPP (v0.99beta ou superior).

Tenha certeza de que o arquivo /usr/local/etc/mgetty+sendfax/login.config contenha o seguinte:

/AutoPPP/ -     -            /etc/ppp/ppp-pap-dialup

Isso irá fazer com que o mgetty rode o script ppp-pap-dialup para as conexões PPP que ele detectar.

Crie um arquivo chamado /etc/ppp/ppp-pap-dialup contendo o seguinte (esse arquivo deve ser executável):

#!/bin/sh
exec /usr/sbin/ppp -direct pap$IDENT

Para cada linha discada ativado em /etc/ttys, crie uma entrada correspondente em /etc/ppp/ppp.conf. Isso irá coexistir normalmente com nossas definições acima.

pap:
  enable pap    
  set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40
  enable proxy

Cada usuário se conectando com esse método precisará de um usuário/senha no arquivo /etc/ppp/ppp.secret ou você pode adicionar a seguinte opção para autenticar os usuários através do arquivo /etc/password.

enable passwdauth

Se você deseja definir um endereço IP estático para alguns usuário você pode especificar o endereço como o terceiro argumento no /etc/ppp/ppp.secret. Veja o /usr/share/examples/ppp/ppp.secret.sample para mais exemplos.

18.2.1.3.11. Extensões MS

É possível configurar o PPP para fornecer endereços de DNS e NetBIOS de acordo com a demanda.

Para ativar essas extensões na versão 1.x do PPP, as seguintes linhas podem ser adicionadas a 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 ou superior:

accept dns
set dns 203.14.100.1 203.14.100.2
set nbns 203.14.100.5

Isso irá fornecer aos clientes o endereço do servidor primário e secundário de DNS e o servidor de NetBIOS.

Na versão 2 ou superior, se a linha set dns for omitida, o PPP irá usar os valores encontrados no /etc/resolv.conf.

18.2.1.3.12. Autenticação PAP e CHAP

Alguns provedores definem seus sistemas de forma que a parte de autenticação da sua conexão é feita usando os mecanismos de autenticação PAP ou CHAP. Se esse for o caso, seu provedor não irá lhe dar um prompt login: quando você se conectar, mas sim irá iniciar a comunicação PPP imediatamente.

PAP é menos seguro que CHAP, mas segurança não é normalmente uma preocupação aqui já que as senhas, mesmo sendo enviadas em texto puro com PAP, estão sendo transmitidas através da linha serial apenas. Não existe muitas possibilidades para que crackers vejam ela.

Utilizando o que vimos nas seções PPP e Endereços IP Estáticos ou PPP e Endereços IP Dinâmicos, as seguintes alterações devem ser feitas:

7       set login
...
12      set authname MeuUsuario
13      set authkey MinhaSenha
Linha 7:

Seu provedor não irá, normalmente, requerer que você entre no servidor se estiver usando PAP ou CHAP. Você deve desabilitar a string ``set login'' neste caso.

Linha 12:

Essa linha especifica seu nome de usuário PAP/CHAP. Você precisará inserir o valor correto para MeuUsuario.

Linha 13:

Essa linha especifica sua senha PAP/CHAP. Você precisará inserir o valor correto para MinhaSenha. Você pode adicionar uma linha adicional como abaixo:

15      accept PAP

ou

15      accept CHAP

para deixar claro que esta é sua intenção, mas PAP e CHAP são todos aceitos por padrão.

18.2.1.3.13. Mudando a Configuração do ppp ``on the Fly''

É possível conversar com o programa ppp enquanto ele está executando em segundo plano, mas apenas se uma porta de diagnósticos for configurada. Para fazer isso, adicione a seguinte linha a sua configuração:

set server /var/run/ppp-tun%d DiagnosticPassword 0177

Isso fará com que o PPP ouça no socket UNIX especificado, perguntando aos clientes a senha antes de permitir o acesso. O %d no nome é trocado pelo número do dispositivo tun que está em uso.

Uma vez que um socket foi ajustado, o programa pppctl(8) pode ser utilizado em scripts que desejem manipular o programa em tempo de execução.

18.2.1.4. Usando o Recurso de NAT do PPP

O PPP tem a habilidade de fazer NAT (Network Address Translation) sem precisar utilizar as capacidades de divert do kernel. Essa funcionalidade pode ser ativada através da seguinte linha no /etc/ppp/ppp.conf:

nat enable yes

Outra maneira de ativar o NAT do PPP é pela linha de comando -nat. Existe também uma opção no /etc/rc.conf chamada ppp_nat que é ativada por padrão.

Se você for usar essa funcionalidade, você também pode achar útil as seguintes opções em /etc/ppp/ppp.conf para ativar o encaminhamento de conexões entrantes:

nat port tcp 10.0.0.2:ftp ftp
nat port tcp 10.0.0.2:http http

ou não confie no exterior

nat deny_incoming yes

18.2.1.5. Configuração Final do Sistema

Você agora tem o ppp configurado, mas existem mais algumas coisas a serem feitas antes que o show comece. Todas elas envolvem editar o arquivo /etc/rc.conf.

Certifique-se de que a linha hostname= está definida, ex.:

hostname="foo.example.com"

Se seu provedor lhe forneceu um endereço IP estático e um nome, é melhor que você use este nome como seu hostname.

Veja a variável network_interfaces. Se você quer configurar seu sistema de modo que ele disque para seu provedor conforme necessário, tenha certeza de que o dispositivo tun0 está adicionado a lista, do contrário remova-o.

network_interfaces="lo0 tun0"
ifconfig_tun0=

Nota: A variável ifconfig_tun0 deve estar vazia, e um arquivo chamado /etc/start_if.tun0 deve ser criado. Esse arquivo deve conter a linha:

ppp -auto nome_do_provedor

Esse script é executado no momento da configuração de rede, iniciando seu daemon ppp em modo automático. Se você tem uma rede local para a qual esta máquina é o gateway, você pode desejar usar a opção -alias. Veja a página manual para maiores detalhes.

Define o programa roteador para NO com a seguinte linha no seu /etc/rc.conf:

router_enable="NO"

É importante que o daemon routed não seja iniciado (ele é iniciado por padrão), pois o routed tende a deletar as entradas na tabela de roteamento que foram criadas pelo ppp.

É importante ter certeza de que a variável sendmail_flags não contenha a opção -q, do contrário o sendmail irá tentar fazer uma pesquisa na rede em certos momentos, o que possivelmente irá fazer com que sua máquina disque e tente estabelecer uma conexão de rede. Você pode tentar:

sendmail_flags="-bd"

A desvantagem disso é que você precisa forçar o sendmail a re-examinar sua fila de correio sempre que o link ppp for estabelecido digitando na linha de comando o seguinte:

# /usr/sbin/sendmail -q

Se você deseja utilizar o comando !bg no arquivo ppp.linkup para fazer isso automaticamente:

1     nome_do_provedor:
2       delete ALL
3       add 0 0 HISADDR
4       !bg sendmail -bd -q30m

Se você não gosta disso, é possível ajustar um ``dfilter'' para bloquear o tráfego SMTP. Veja os arquivos de exemplo para maiores detalhes.

Agora o último passo é reiniciar a máquina. Depois disso, você pode digitar:

# ppp

e então dial nome_do_provedor para iniciar uma sessão PPP, ou, se você quer que o ppp estabeleça as sessões automaticamente quando existir tráfego de saída (e você não criou o script start_if.tun0, digite:

# ppp -auto nome_do_provedor

18.2.1.6. Sumário

Recapitulando, os seguintes passos são necessários para ajustar o ppp pela primeira vez:

No cliente:

  1. Certificar-se de que o dispositivo tun está definido no seu kernel.

  2. Certificar-se de que o dispositivo tunN está disponível no diretório /dev.

  3. Criar uma entrada no /etc/ppp/ppp.conf. O arquivo de exemplo pmdemand deve ser suficiente para a maioria dos provedores.

  4. Se você tem um endereço IP dinâmico, crie uma entrada no arquivo /etc/ppp/ppp.linkup.

  5. Atualize seu arquivo /etc/rc.conf.

  6. Crie o script start_if.tun0 se você precisa que o sistema liga de acordo com a demanda.

No Servidor:

  1. Certificar-se de que o dispositivo tun está no seu kernel.

  2. Certificar-se de que o dispositivo tunN está disponível no diretório /dev.

  3. Criar uma entrada no /etc/passwd (usando o programa vipw(8)).

  4. Crie um perfil nesse diretório de usuários que rode o comando ppp -direct direct-server ou similar.

  5. Crie uma entrada no arquivo /etc/ppp/ppp.conf. O arquivo de exemplo direct-server deve ser suficiente.

  6. Crie uma entrada no /etc/ppp/ppp.linkup.

  7. Atualize seu arquivo /etc/rc.conf.

Este, e outros documentos, podem ser obtidos em ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Para perguntas sobre FreeBSD, leia a documentação antes de contatar <questions@FreeBSD.org>.
Para perguntas sobre esta documentação, envie e-mail para <doc@FreeBSD.org>.