Post em Destaque

Saiu do forno o iRedMail 0.8.0!

Para quem ainda não conhece o projeto iRedMail, ele é composto por um script que faz toda a instalação e configuração de um servidor de e-mail completo. Facilitando muito a vida de quem precisa de um servidor de e-mail estável e rápido. Conta ainda com o suporte excelente em seu fórum próprio....

Leia mais...

PPPoE client no FreeBSD, do ppp ao mpd.

Posted by gondim | Posted in FreeBSD | Posted on 17-04-2012

Tags:, , ,

0

Com o crescimento da banda larga no Brasil e diminuição dos valores cobrados pelas operadoras, as empresas cada vez mais contratam links não dedicados para acesso à Internet. Tais links, na maioria das vezes, vem acompanhados de um protocolo chamado PPPoE.

O FreeBSD vem com um cliente nativo para fazer essa conexão PPPoE (ppp) e um outro muito mais parrudo que pode ser instalado via ports, chamado mpd. O mpd é um software polivalente porque ele faz quase tudo em 1. Ele pode fazer pppoe client, pppoe server, pptp server, pptp client e outras coisinhas lá.

Se você está recebendo agora o link do seu ISP e ele exige que você faça uma conexão PPPoE, você só as seguintes opções:

1ª Colocar um router e compartilhar para a sua rede.

ou

2ª Ligar o link no seu Windão e fazer a configuração do PPPoE.

ou

3ª Usar outro sistema que tenha suporte ao PPPoE.

ou

4ª Deixar o seu FreeBSD fazer todo o trabalho de conexão e ainda agregar outras coisas à ele como: Proxy, Firewall, dhcp para a sua rede, redundância de link/balanceamento e o que lhe for mais útil.

Vamos primeiramente configurar o PPPoE nativo e depois com a Internet funcionando poderemos instalar o mpd:

Salvando a configuração atual do ppp.conf:

# cp /etc/ppp/ppp.conf /etc/ppp/ppp.conf.bkp

Depois zerem o arquivo original:

# >/etc/ppp/ppp.conf

Agora com um editor ee ou vi ou seu editor preferido coloque esses dados dentro do arquivo ppp.conf:

default:
      ident user-ppp VERSION (built COMPILATIONDATE)
      set log phase
      set log local phase lcp ipcp ccp tun command
intnet:
      set device PPPoE:em0:Intnet5
      set mru 1492
      set mtu 1492
      set authname gondim
      set authkey 12345678
      set login
      set dial
      enable dns
      add default HISADDR
      set timeout 0
      open

Reparem na identação pois temos 2 sessões chamadas “default:” e “intnet:”. O que vem abaixo deles está identado um ou mais espaços para a direita. Onde tem “intnet:” você pode trocar para o nome do seu provedor. Exemplo: velox:

Mais abaixo tem a linha: set device PPPoE:em0:Intnet5  onde você vai alterar para:

device PPPoE:<sua_interface_de_rede_de_saída>:<nome_do_serviço>

Se você não souber o nome do serviço então você pode remove-lo ficando assim como exemplo:

device PPPoE:em0

O em0 é nome da minha interface de rede e que por um acaso é onde está ligado o cabo de rede do Provedor.

Em authname gondim você vai colocar seu login de acesso no provedor. Exemplo de um acesso ao Velox:

set authname 2266666666@telemar.com.br 

Em set authkey você vai colocar a sua senha de acesso.  Exemplo aqui do Velox seria:

set authkey 2266666666

O restante na conexão você vai receber o DNS do seu provedor, IP e gateway default. Tudo na interface tun0.

Para testar a conexão só executar:

# ppp -ddial intnet

Onde intnet é o nome que  escolhi na sessão no ppp.conf. Se conectar certinho quando você fizer o ifconfig vai ver que a interface tun0 vai estar com o IP dado pelo provedor da conexão.

(root@strong)[/etc/ppp]# ifconfig tun0
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1492
options=80000<LINKSTATE>
inet 186.xxx.48.69 –> 10.247.0.1 netmask 0xffffffff
Opened by PID 447

Se for querer parar por aqui e quiser usar apenas essa configuração, você pode colocar isso tudo no /etc/rc.conf para que conecte automaticamente após o boot do sistema:

# Configurando a conexão PPPoE
ppp_enable=”YES”
ppp_mode=”ddial”
ppp_profile=”intnet”

Só não esqueça de trocar o ppp_profile para o nome que você escolheu na sessão no ppp.conf.

Uma vez que estamos conectados na Internet agora podemos passar para o mpd. O mpd que instalaremos será a versão 5:

# cd /usr/ports/net/mpd5

# make install clean distclean

Após a instalação do mpd as configurações serão colocadas em /usr/local/etc/mpd5.

No diretório de configuração encontraremos 3 arquivos exemplos: mpd.conf.sample, mpd.script.sample e mpd.secret.sample

Para o nosso caso usaremos o mpd.conf.sample que renomearemos para mpd.conf

# cd /usr/local/etc/mpd5

# mv mpd.conf.sample mpd.conf

Abaixo meu exemplo de configuração:

startup:
      # configure mpd users
      set user gondim minha_senha admin
      # configure the console
      set console self 127.0.0.1 5005
      set console open
      # configure the web server
      set web self 0.0.0.0 5006
      set web open

default:
      load pppoe_client

pppoe_client:
      create bundle static B1
      set iface route default
      set ipcp ranges 0.0.0.0/0 0.0.0.0/0
      create link static L1 pppoe
      set link action bundle B1
      set auth authname gondim
      set auth password senha_provedor
      set link max-redial 0
      set link mtu 1492
      set link keep-alive 10 60
      set pppoe iface em0
      set pppoe service “”
      open

Muito cuidado com a identação porque é importante para o bom funcionamento. Não esqueça de alterar as linhas abaixo para o usuário, senha de conexão do seu provedor e a interface de rede onde entra o cabo do Provedor:

set auth authname gondim

set auth password senha_provedor

set pppoe iface em0

No bloco startup é bom definir um  usuário e senha para acesso via console e web do mpd. O mpd também oferece 2 interfaces de administração sendo elas via console e web. Você pode mantê-las habilitadas ou não. Não é nosso objetivo aqui nos aprofundar no mpd mas para aqueles que se interessarem, aqui vai o link da documentação: mpd5

Para deixarmos a conexão sendo feita no boot vamos adicionar a seguinte linha no /etc/rc.conf:

mpd_enable=”YES”

É isso aí pessoal e até a próxima!

Share Button