PPPoE client no FreeBSD, do ppp ao mpd.
Posted by gondim | Posted in FreeBSD | Posted on 17-04-2012
Tags:FreeBSD, ppp, pppoe, pptp
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 opendefault:
load pppoe_clientpppoe_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!