You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
322 lines
13 KiB
322 lines
13 KiB
<chapter id="callback">
|
|
<title
|
|
>Configurar o &kppp; para chamadas de resposta</title>
|
|
|
|
<para
|
|
>Este capítulo baseia-se no material fornecido por Martin Häfner, <email
|
|
>mh@ap-dec717c.physik.uni-karlsruhe.de</email
|
|
></para>
|
|
|
|
<sect1 id="unix-callback-server">
|
|
<title
|
|
>Servidor de chamadas de &UNIX; ou &Linux;</title>
|
|
|
|
<para
|
|
>Esta secção introduz as chamadas de resposta do &UNIX; (&Linux;), e como o &kppp; poderá ser configurado para se ligar a um servidor de resposta em &UNIX;, especialmente a um <link linkend="callback-resources"
|
|
>servidor de chamadas de resposta</link
|
|
> em &Linux;.</para>
|
|
|
|
<sect2>
|
|
<title
|
|
>Uma Introdução às Chamadas de Resposta</title>
|
|
|
|
<para
|
|
>Existem várias razões para pensar em usar as chamadas de resposta. Algumas delas são:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para
|
|
>Aumentar a segurança da sua rede local</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para
|
|
>Para reduzir as despesas dos trabalhadores externos</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para
|
|
>Para controlar os custos telefónicos, onde as chamadas são consideradas despesas do negócio</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para
|
|
>Pense em alguém que liga para o seu número no servidor e arranja uma senha. Para quê manter uma 'firewall' para a sua ligação à Internet, se o acesso à sua rede é assim tão simples?.</para>
|
|
|
|
<para
|
|
>O 'software' de chamadas de resposta normalmente pede o seu nome e coloca então a linha suspensa. A partir daí, ele faz uma chamada de volta, normalmente para um número que se encontra registado numa base de dados <emphasis
|
|
>no servidor</emphasis
|
|
>. O cliente poderá então pegar na linha telefónica e continuar com a chamada, como se nada tivesse acontecido. O servidor aí pedirá o seu nome de utilizador e a sua senha, sabendo que você é quem disse que era e onde disse que estava, aquando da ligação. A ligação é estabelecida normalmente e o servidor <application
|
|
>pppd</application
|
|
> é iniciado.</para>
|
|
|
|
<para
|
|
>Agora a grande pergunta é: como dizer ao cliente para ligar o telefone quando o servidor lhe ligar de volta. Você precisa de algum programa especial, como o <application
|
|
>mgetty</application
|
|
>? A resposta é <emphasis
|
|
>não</emphasis
|
|
>, você não irá precisar de nenhum programa-cliente em especial, você até poderá usar um programa de terminal normal como o <application
|
|
>minicom</application
|
|
> para se ligar.</para>
|
|
|
|
<para
|
|
>A única que você terá de fazer é dizer ao seu modem para <command
|
|
>AutoAnswer</command
|
|
> (Responder Automaticamente) ao telefone quando for detectado um <computeroutput
|
|
>RING</computeroutput
|
|
> pelo modem. Isto é feito com o seguinte comando do modem:</para>
|
|
|
|
<screen
|
|
><userinput
|
|
><command
|
|
>AT&SO=1</command
|
|
></userinput
|
|
>
|
|
</screen>
|
|
|
|
<para
|
|
>Isto diz ao modem para atender o telefone depois de um <computeroutput
|
|
>RING</computeroutput
|
|
>.</para>
|
|
|
|
<para
|
|
>Assim como diversos programas, o &kppp; verifica se a ligação é fechada pelo servidor, e termina nesse caso a sessão actual, se for detectado um <computeroutput
|
|
>NO CARRIER</computeroutput
|
|
> (Sem Portadora). Este então será o problema real ao estabelecer a chamada de resposta. O <computeroutput
|
|
>NO CARRIER</computeroutput
|
|
> será obviamente detectado no momento em que o servidor de resposta suspende a linha. Alguns dos servidores irão necessitar de um programa de autenticação especial. Por isso, como é que você resolve este problema? Você irá indicar para o seu modem mostrar <computeroutput
|
|
>CARRIER UP</computeroutput
|
|
> (portadora activa) a toda a hora (o que não trará problemas se você indicar ao cliente para suspender a linha). Você poderá fazer isso com o seguinte comando do modem:</para>
|
|
|
|
<screen
|
|
><userinput
|
|
><command
|
|
>AT&C0</command
|
|
></userinput
|
|
>
|
|
</screen>
|
|
|
|
<para
|
|
>Se você quiser testar isto, você poderá usar primeiro um programa de terminal normal como o <application
|
|
>minicom</application
|
|
> e fazer uma chamada ao seu servidor de resposta, para ver o que acontece.</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title
|
|
>A configuração do &kppp;</title>
|
|
|
|
<para
|
|
>Pronto, agora que viu a teoria em acção, como é que você irá configurar o &kppp; para tratar da ligação? </para>
|
|
|
|
<para
|
|
>O procedimento é relativamente simples, tal como se segue.</para>
|
|
|
|
<procedure>
|
|
<step>
|
|
<para
|
|
>Primeiro indique ao modem para aceitar as ligações e para não parar a negociação quando o servidor de chamadas de resposta suspender a linha da primeira vez. Você poderá indicar ambas as opções na página do <guilabel
|
|
>Modem</guilabel
|
|
> da configuração do &kppp;, adicionando à opção da <guilabel
|
|
>Mensagem de Chamada</guilabel
|
|
> o texto <command
|
|
>AT&C0S0=1DT</command
|
|
></para>
|
|
<para
|
|
>Não existem mais alterações na configuração do &kppp;. Se tiver problemas com a reinicialização do modem, veja a secção de <link linkend="callback-troubleshooting"
|
|
>Resolução de Problemas</link
|
|
> para mais informações.</para>
|
|
</step>
|
|
<step>
|
|
<para
|
|
>Pense no seu servidor por um momento. Lembre-se que os sistema operativos &UNIX;, &Windows; e Macintosh têm diferentes opiniões sobre como terminar uma linha num ficheiro de texto e, deste modo, o mesmo se aplica nos procedimentos de autenticação. Se você se estiver a ligar a um servidor em &Windows;, use o <userinput
|
|
>CR/LF</userinput
|
|
>, se se estiver a ligar a um servidor &UNIX;, use o <userinput
|
|
>CR</userinput
|
|
>, e, finalmente, se estiver a utilizar um servidor Macintosh server, use o <userinput
|
|
>LF</userinput
|
|
> </para>
|
|
</step>
|
|
<step>
|
|
<para
|
|
>Nós assumimos para estas instruções que você está a efectuar uma chamada a um servidor de &Linux; que usa uma autenticação normal (sem ser <acronym
|
|
>PAP</acronym
|
|
> ou algo do género).</para>
|
|
<para
|
|
>Configure o estilo da <guilabel
|
|
>Autenticação</guilabel
|
|
> na página de <guilabel
|
|
>Ligar</guilabel
|
|
> da configuração da conta para <guilabel
|
|
>Baseada num Programa</guilabel
|
|
></para>
|
|
</step>
|
|
<step>
|
|
<para
|
|
>Agora você terá de criar um 'script' ou um programa de autenticação. A edição destes programas é uma das funcionalidades muito jeitosas do &kppp; Você poderá aceder a esse editor no <guilabel
|
|
>Programa de Autenticação</guilabel
|
|
> da janela de <guilabel
|
|
>Editar a Conta</guilabel
|
|
>.</para>
|
|
|
|
<para
|
|
>Neste exemplo, o utilizador <systemitem
|
|
>utilizador_xyz</systemitem
|
|
> precisa de chamar o seguinte programa. O servidor de chamadas de resposta já conhece a tabela dos nomes e dos seus números de telefone respectivos, por isso você poderá seleccionar o número de telefone a usar com um nome alternativo, por razões de segurança.</para>
|
|
|
|
<para
|
|
>Para cada linha, escolha o critério na lista à esquerda da janela, e indique a acção no campo de texto à sua direita. Escolha o botão <guibutton
|
|
>Adicionar</guibutton
|
|
> para adicionar cada uma das linhas ao programa. Você poderá usar o botão <guibutton
|
|
>Inserir</guibutton
|
|
> para adicionar uma linha no meio do programa ou ainda o botão <guibutton
|
|
>Remover</guibutton
|
|
> para apagar uma linha se você cometer algum erro.</para>
|
|
|
|
<para
|
|
>O programa inteiro deverá ficar algo semelhante a isto (sem os comentários, que são mostrados aqui a começar com um #)</para>
|
|
|
|
<screen
|
|
>Expect ogin: <lineannotation
|
|
># lembre-se que fazemos uma autenticação de terminal normal</lineannotation>
|
|
ID "" <lineannotation
|
|
># o kppp envia o ID que configurou na janela principal</lineannotation>
|
|
Expect for utilizador_xyz: <lineannotation
|
|
># uma lista com os números disponíveis é mostrada e o utilizador deverá escolher um</lineannotation
|
|
>
|
|
Send casa-utilizador_xyz <lineannotation
|
|
># o utilizador deseja ser chamado de volta para o número da casa dele</lineannotation>
|
|
Expect ogin: <lineannotation
|
|
># O processo da chamada de resposta está agora em execução, com uma ligação e uma autenticação novas.</lineannotation>
|
|
ID
|
|
Expect assword: <lineannotation
|
|
># Envie agora a sua senha</lineannotation>
|
|
Expect > <lineannotation
|
|
># Espere pela linha de comandos (esta poderá variar)</lineannotation>
|
|
Send start_ppp <lineannotation
|
|
># Este comando inicia o pppd</lineannotation
|
|
>
|
|
</screen>
|
|
|
|
<para
|
|
>Depois de esperar pelo pedido de autenticação, o utilizador envia o seu identificador e espera por uma lista com os números de telefone disponíveis para esse utilizador. Ele poderá então indicar ao servidor qual dos números oferecidos é que ele gostaria de ser chamado em resposta. O &kppp; poderá então abrir uma janela para isso, se a sua localização varia com frequência, ⪚ se for um representante de vendas e se muda de hotel para hotel. Neste momento, o servidor está à espera do utilizador e da senha para a autenticação, mas entretanto o servidor suspende-se e chama o utilizador de volta. A informação de autenticação é enviada, e o &kppp; fica à espera de uma linha de comandos, iniciando então um pequeno programa (aqui chamado de <filename
|
|
>start_ppp</filename
|
|
>, o qual irá despoletar o <application
|
|
>pppd</application
|
|
> no servidor.</para>
|
|
|
|
<para
|
|
>O programa <filename
|
|
>start_ppp</filename
|
|
> poderá se assemelhar a algo do género:</para>
|
|
|
|
<programlisting
|
|
>#!/bin/sh
|
|
stty -echo
|
|
exec /usr/sbin/pppd -detach silent modem
|
|
</programlisting>
|
|
|
|
<para
|
|
>Claro que a configuração de um servidor de <acronym
|
|
>PPP</acronym
|
|
> não está no âmbito deste documento. Para informações mais detalhadas, veja as páginas de manual do <application
|
|
>pppd</application
|
|
>. Existe uma descrição excelente para um servidor de resposta em <ulink url="http://ap-dec717c.physik.uni-karlsruhe.de/~mh/callback"
|
|
> http://ap-dec717c.physik.uni-karlsruhe.de/~mh/callback</ulink
|
|
></para>
|
|
</step>
|
|
</procedure>
|
|
|
|
<para
|
|
>Todos os outros detalhes de configuração, como a configuração do <application
|
|
>pppd</application
|
|
> ou do <acronym
|
|
>IP</acronym
|
|
> funcionam de forma normal, e não é necessário nenhum programa em especial será necessário para atender a linha.</para>
|
|
|
|
<note>
|
|
<para
|
|
>As chamadas de resposta do &kppp; e dos outros programas como o <application
|
|
>mgetty</application
|
|
> ou outro 'faxgetty' poderão ser executados na mesma porta série. Não existem nenhuns problemas com o estabelecimento da ligação, dado que o &kppp; cria um ficheiro de bloqueio que irá indicar ao programa 'getty' que outra aplicação (neste caso, o &kppp;, como é óbvio) está a usar a linha nessa altura.</para>
|
|
</note>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="callback-troubleshooting">
|
|
<title
|
|
>Resolução de Problemas</title>
|
|
|
|
<para
|
|
>Existem alguns problemas conhecidos com o &kppp; no modo de resposta:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para
|
|
>Logo que inicializa o modem para responder automaticamente, você terá de reinicializar o modem depois de a sua ligação terminar. Caso contrário, o seu modem irá continuar a atender a linha para si, o que não é uma boa ideia se a linha em questão for a sua linha telefónica principal.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para
|
|
>O &kppp; tem alguns pequenos problemas ao partilhar uma linha com outro programa, como o <application
|
|
>mgetty</application
|
|
>. Se o <application
|
|
>mgetty</application
|
|
> estiver em execução sobre a mesma linha de modem, o &kppp; não será capaz de inicializar o modem correctamente. </para>
|
|
</listitem>
|
|
<listitem>
|
|
<para
|
|
>O &kppp; não é capaz de perguntar por algum texto do utilizador durante uma autenticação baseada num programa. Infelizmente, ao usar o programa de exemplo acima, o &kppp; também irá perguntar pelo utilizador da segunda vez que o servidor de resposta lho pedir. Você poder-se-á ver livre disto se puser manualmente o nome do seu utilizador no programa de autenticação (nem é bom nem portável, mas funciona).</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="callback-resources">
|
|
<title
|
|
>Recursos da Internet sobre o 'software' servidor</title>
|
|
|
|
<para
|
|
>Os pacotes de servidores de chamadas de resposta para &Linux; estão disponíveis em vários sítios.</para>
|
|
|
|
<para
|
|
>O famoso programa <application
|
|
>mgetty</application
|
|
> é bastante poderoso e consegue também efectuar chamadas de resposta. Uma descrição sobre como configurar o <application
|
|
>mgetty</application
|
|
> para este fim é mantida em <ulink url="http://www.dyer.demon.co.uk/slug/tipscrip.htm"
|
|
> http://www.dyer.demon.co.uk/slug/tipscrip.htm</ulink
|
|
>, por Colin McKinnon, <email
|
|
>colin@wew.co.uk</email
|
|
>.</para>
|
|
|
|
<para
|
|
>Existe também um pacote pronto a usar para o &Linux; em <ulink url="http://www.icce.rug.nl/docs/programs/callback/callback.html"
|
|
> http://www.icce.rug.nl/docs/programs/callback/callback.html</ulink
|
|
>. Este pacote é mantido pelo Frank B. Brokken, <email
|
|
>frank@icce.rug.nl</email
|
|
>. Dado que a configuração, ainda que intuitiva, não é muito fácil, foi criada uma breve introdução sobre o mesmo em <ulink url="http://ap-dec717c.physik.uni-karlsruhe.de/~mh/callback"
|
|
>http://ap-dec717c.physik.uni-karlsruhe.de/~mh/callback/</ulink
|
|
>, local que contém também uma introdução mais geral para as chamadas de resposta.</para>
|
|
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="nt-callback">
|
|
<title
|
|
>Chamadas de resposta de <acronym
|
|
>RAS</acronym
|
|
> do &Windows; NT</title>
|
|
|
|
<para
|
|
>O &Windows; NT utiliza uma aproximação completamente diferente da usada em cima. O NT necessita de uma extensão ao próprio protocolo <acronym
|
|
>PPP</acronym
|
|
>, chamada de <acronym
|
|
>CBCP</acronym
|
|
> (Call Back Control Protocol). O <application
|
|
>pppd</application
|
|
> tem o suporte para este protocolo, mas você terá de recompilar o <application
|
|
>pppd</application
|
|
>. Se alguém tiver experiência com ligações bem-sucedidas a um servidor de chamadas de resposta de NT, por favor contacte-nos.</para>
|
|
|
|
</sect1>
|
|
</chapter>
|