Eu suspeito que existem muitas maneiras de fazer isso. Um que vem à mente é retorno de chamada .
Você registra uma conta ISP de discagem para o modem no servidor; isso é bastante simples e não contencioso. Você precisará de um ISP que lhe aloque um endereço estático; se isso custar mais, pague.
Você configura algo como diald para ativar e desativar o link sob demanda. Em seguida, escreva um pequeno script, talvez usando a amostra , para detectar mensagens "RING" que aparecem nos arquivos de log do modem e, quando elas forem visualizadas , para gerar tráfego que o diald considera "interessante" - ou seja, o tráfego que faz com que ele atinja a linha.
Quando você deseja se conectar ao servidor pela Internet normal, ligue para a linha telefônica conectada ao servidor, de qualquer telefone fixo ou GSM. O script no servidor detecta o toque do telefone e gera tráfego interessante para o diald. Diald traz a conexão PPP, na qual o servidor está disponível no endereço IP estático conhecido.
Você, usando ferramentas comuns da Internet, conecta-se via SSH (ou qualquer outro protocolo IP ou combinação dos mesmos que lhe agrade), até que esteja pronto. Quando estiver pronto, você solta todas essas conexões e, após um curto período, o diald percebe que a linha está inativa e desliga o modem.
Enxaguar. Repita.
Possíveis melhorias : se você não puder obter um serviço ISP que faça endereços estáticos, você pode configurar o diald para que a primeira coisa que acontece depois que o link da Internet aparece é que ele é atual Endereço IP para um endereço pré-configurado, ou de alguma outra maneira, comunica-o à Internet. Dessa forma, você pode descobrir qual endereço dinâmico ele recebe cada vez que a linha aparece, para que você possa conversar com ela. Mas um endereço estático seria mais fácil.
Sugestão alternativa : considere que a maioria dos telefones GSM fará uma conexão PPP com qualquer número POTS antigo para estabelecer a sessão do terminal. Eu escrevi esta nota técnica alguns anos atrás, sobre as porcas e parafusos de obter um telefone GSM com um modem que honrou o conjunto de comandos AT (que é a maioria deles) para discar para um ISP.
É completamente legal ter o telefone GSM discar um telefone fixo padrão em vez do número mágico "trazer o GPRS", basta substituir
atd*99***1#
com
atd0039nnnnnnnn
em /etc/ppp/chat-gprs
, em que nnnnnnnn
é o número do telefone fixo do seu servidor. Observe que isso funcionará somente com GPRS e talvez EDGE. 3G é um protocolo totalmente diferente, acessado de maneiras diferentes, então você só terá uma conexão lenta (20kb / s ou mais) dessa maneira. Mas para uma sessão de terminal direta, isso pode ser suficiente.