A partir do FreeBSD 2.2.5 , o ppp so pode ser executado pelo root, deste modo se voce pretende disponibiliza-lo aos demais clientes de seu Server, voce devera utilizar o ppp no modo auto.
Para configurar o PPP no FreeBSD , sao necessarios alguns pre-requisitos:
Inicialmente voce deve verificar se seu modem e compativel com o FreeBSD , ou seja ele nao deve ser do tipo "WinModem" , ou ele nao funcionara no FreeBSD. Eu particularmente uso e estou satisfeito com um US-Robbotics 33.6 Kbps externo.
Verificado o modem , voce deve verificar se a configuracao atual do seu Kernel suporta PPP ( Este suporte foi incluido no Kernel Generico apartir da versao 2.0.5 do FreeBSD ). Para isso execute o comando.
#ls -l /dev | grep tun , se ele estiver presente a saida do comando deve ser algo como:
#ls -l /dev | grep tun
crw------ 1 dialer 52 16 22:24 tun0
Verificada a existencia do tun0 , voce deve conferir se esta de posse
dos seguintes dados:
1. IP do gateway de seu ISP
2. A sua netmask
3. IP do Servidor de DNS do seu ISP
4. Saber se seu IP e fixo ou atribuido dinamicamente
5. Saber qual dos tres mecanismos de autenticacao (PAP, CHAP, autenticao
simples) e utilizado pelo seu ISP.
Inicialmente faca backup dos arquivos exemplos que foram criados na instalacao do FreeBSD , eles poderao lhe ser util futuramente.
# mv /etc/ppp /etc/ppp.original
Feito isso passemos a configuracao:
Para fazer o PPP funcionar , e necessaria a configuracao de 4 arquivos:
/etc/resolv - Este arquivo informa o IP do Servidor de DNS a ser utilizado pelo seu sistema.
exemplo:
# /etc/resolv.conf domain provedor.com.br nameserver 192.0.1.1 nameserver 192.0.1.2- A entrada domain informa o dominio a ser atribuido a nomes inclompletos, por ex: telnet cesar e igual a telnet cesar.provedor.com.br
- A entrada nameserver informa o IP do servidor de DNS , podem ser listados
um maximo de 2.
/etc/ppp/ppp.conf- Arquivo basico de configuracao do PPP.
exemplo:
################################################################ # /etc/ppp/ppp.conf # # Configuracao default aplicada a todas as entradas. # Lida sempre que o ppp e executado. # ################################################################ (01)default: (02) set device /dev/cuaa1 (03) set speed 57600 (04) set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT" (05) set redial 5 10 (06) set log Phase Chat Connect Carrier hdlc LCP IPCP CCP tun # ################################################################ # # Se seu ISP , utiliza o metodo de autenticacao simples, # e voce obtem seu IP de maneira dinamica, voce pode utilizar # uma entrada como a abaixo: # ################################################################ # (07)simples: (08) set phone 1234567 (09) set login "TIMEOUT 10 ogin:--ogin: Seu_Login word: Sua_senha (14) set timeout 300 (10) set openmode active (11) set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 (12) delete ALL (13) add 0 0 HISADDR # ################################################################ # # Se seu ISP , utiliza o metodo de autenticacao via PAP ou CHAP, # e voce obtem seu IP de maneira dinamica, voce pode utilizar # uma entrada como a abaixo: # ################################################################ # (14)PAPouCHAP: (15) set phone 1234567 (16) set login "TIMEOUT 10 ogin:--ogin: Seu_Login word: Sua_senha (17) set authname Seu_Login (18) set authkey Sua_senha (19) set timeout 300 (20) set openmode active (21) set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 (22) delete ALL (23) add 0 0 HISADDR # ################################################################ # End of /etc/ppp/ppp.confLinha 1: Este label identifica a entrada default. Ela e executada automaticamente quando o ppp e executado.
Linha 2: Esta entrada identifica o device em que seu modem esta conectado:
Linha 3: Esta entrada especifica a velocida de conexao.
Linha 4: Esta entrada contem os comandos de inicializacao do modem, para a discagem. ( chat ). Esses comandos são críticos ! Veja detalhes.
Linha 5: Esta entrada configura a rediscagem , o 5 significa que o ppp deve espera 5 segundos entre um sinal de ocupado e uma nova tentativa, e o 10 indica que ele deve tentar 10 vezes.
Linha 6: Esta entrada configura o log do ppp, feito atraves do syslogd.
linha 7: Este label inicia uma nova entrada para o ppp.
Linha 11: Esta entrada especifica o numero de Telefone para
o qual o ppp deve discar.
Linha 8: Esta linha contem os dados para a autenticacao simples
no servidor:
Login: Seu_login
Passwd: Sua_senha
Linha 9: Esta entrada especifica o tempo de Timeout , no exemplo o ppp desconecta apos 5 minutos de inatividade.
Linha 10: Esta entrada informa ao ppp que uma vez que os modens esteja conectados , que deve inciciar imediatamente a negociacao da conexao.
Linha 11: Esta entrada negocia seu IP dinamico com seu provedor.
Linha 12: Esta entrada remove todas as rotas , anteriores a conexao ppp.
Linha 13: Esta entrada define uma rota para sua conexão ppp.
Linha 14: Este label indica uma nova entrada para o ppp.
Linha 15: Esta entrada especifica o numero de Telefone para o qual o ppp deve discar.
Linha 16: Esta linha contem os dados para a autenticacao simples
no servidor:
Login: Seu_login
Passwd: Sua_senha
Linha 17: Esta linha contem o Login para ser utilizado na autenticacao PAP ou CHAP.
Linha 18: Esta linha contem a senha para ser utilizada na autenticacao PAP ou CHAP.
Linha 19: Esta entrada especifica o tempo de Timeout , no exemplo o ppp desconecta apos 5 minutos de inatividade.
Linha 20: Esta entrada informa ao ppp que uma vez que os modens esteja conectados , que deve inciciar imediatamente a negociacao da conexao.
Linha 21: Esta entrada negocia seu IP dinamico com seu provedor.
Linha 22: Esta entrada remove todas as rotas , anteriores a conexao ppp.
Linha 23: Esta entrada define uma rota para sua conecao ppp.
OBS: Vale lembrar que o procedimento de login em seu ISP
varie um pouco do mostrado no nosso exemplo. Neste caso veja com o suporte
tecnico do seu ISP como ocorre o login, para que voce possa personalizar
sua configuracao.
Se precisar personalizar seu script , consulte "ppp" e "chat" (man
ppp e man chat),
no manual online do FreeBSD, para obter maiores informações,
ou veja um caso avançado.
Uma vez criado o arquivo /etc/ppp/ppp.conf , o próximo
passo é criar o arquivo /etc/ppp/ppp.linkup.
# /etc/ppp/ppp.linkup # simples: delete ALL add 0 0 HISADDR # PAPouCHAP delete ALL add 0 0 HISADDR # MYADDR: add 0 0 HISADDR #O label simples e PAPouCHAP:
/etc/ppp/ppp.secret- Arquivo de senha utilizado pelo ppp para restringir a manipulacao do ppp. (Via telnet na porta 3000)
Exemplo:
######################################################################## # /etc/ppp/ppp.secret simples Outra_senha1 10.0.0.2/0 interactive Outra_senha2 10.0.0.2/0 localhost Outra_senha3 # ########################################################################Uma vez criado este arquivo , o ppp esta pronto para ser usado.
(Note que ppp fica maiúsculo quando
a conexão se completa)
# ppp -auto simples
Eu uso este metodo preferencialmente, pois ele executa e fica como daemon e conecta sozinho sempre que eu solicito alguma conexao tcp/ip fora da minha rede local.
1. Verifique se o FreeBSD esta devidamente configurado para operar em rede. Se estiver tudo ok prossigamos.
Para verificar se esta configurada use o comando:
# ifconfig -a | grep ed ed0: flags=8843 mtu 1500 inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255 ether 01:02:03:04:05:06A saida deste deve ser parecida com a exposta acima.
2. edite o arquivo /etc/rc.conf ou /etc/sysconfig ( versoes anteriores a 2.2.2 do FreeBSD ) e altere a entrda:
# If you want this host to be a gateway, set to YES. gateway=NOPara :
# If you want this host to be a gateway, set to YES. gateway=YESFeito isso execute o comando:
Da maneira descrita acima, voce podera disponibilizar acesso a internet para toda a sua rede local, atraves de um unico modem, se voce se preocupa com o desempenho deste gateway, saiba que se seu server for um 486 DX2 66 com 16 RAM, e um modem USR 33.6 KBPs, voce podera conectar ate 20 maquinas (sem usar proxy), agora se esta preocupado com a velocidade, saiba que se voce implementar um proxy como o squid fazendo cache WWW com uns 300 MB, voce pode pindurar ate 50 maquinas, e voce nao vai acreditar no desempenho, o uso do proxy vai aumentar em muito a velocidade para seus clientes, eu recomendo o uso do proxy apartir de 5 maquinas, pois velocidade nunca e demais , nao ?
Mas lembre-se um unico cliente utilizando FTP pode consumir toda a largura de banda de seu link discado. Se voce precisar fazer downloads por FTP com muita frequencia, agende o FTP no cron para ser executado durante a noite, quando o impluso telefonico e mais barato e nao tera outros usuarios para o link. Para maiores detalhes consulte: Automatizando sessoes de FTP
Se voce precisar disponibilizar enderecos de e-mail para seus funcionarios, consulte seu ISP sobre a disponibilidade do servico de UUCP. Este servico vai permitir que voce utilizem o e-mail como se possuissem um link dedicado com a internet.
O ppp tambem possibilita configurar um pequeno filtro, que voce pode
usar para filtrar determinados protocolos/redes, funcionando como um pequeno
FireWall , deste modo , voce pode controlar oque seus clientes podem
usar na internet, por exemplo pode bloquear o uso do IRC.
Para maiores informacoes de como configurar um filtro no ppp, consulte
"ppp" no manual online do FreeBSD.
OBS:
Ja vi muitas empresas utilizarem o FreeBSD+ppp como gateway internet
para a rede delas, porem elas muitas vezes tem uma surpresa com a conta
telefonica :-| , isto sempre acontece porque os usuarios abusam do uso,
se precisar voce pode "ligar" e "desligar" o ppp em determinados horarios,
atraves do cron.
Uma alternativa seria contratar um Link ppp dedicado a velocidade inferior
a 64 KBPs para sua empresa, muitas veses dependendo do uso do gateway discado
o link dedicado vai sair mais barato. :-|
Boa diversao.