O Linux suportou ppp
desde sempre. Você executa pppd
, com parâmetros que informam a porta serial a ser ouvida e outras coisas, e então cria uma interface ppp0
(ou outra). Você pode então configurar o roteamento e o firewall (usando iptables
) como qualquer outra interface.
Portanto, se tudo o que você quer fazer é brincar com ppp
, você pode fazer isso com um cabo de modem nulo conectando as portas seriais de dois sistemas. Se você definir a velocidade da porta serial para 33.6Kpbs ou mesmo menor, e estiver roteando a Internet através da conexão ppp, você terá uma ótima simulação de velocidade de conexão dial-modem.
Se o "cliente ppp" for o Windows, o Windows insiste que a outra extremidade é um modem. O que isso significa é que o Windows sempre tentará enviar comandos "AT" pela porta serial antes de começar a falar com o ppp pela porta serial. Os comandos AT são entendidos localmente por um modem, mas não fazem parte do ppp. Para não temer, o Linux "ppp" suporta um script "chat" que pode responder como o Windows espera .
Aqui está um trecho do comando pppd
que fez tudo isso começar quando eu estava mexendo nele, você pode usá-lo como modelo e substituí-lo de acordo:
pppd 115200 netmask $LOCAL_NET_MASK crtscts connect 'chat -v -f /etc/admin/network/winclient.chat' lock local ms-dns $LOCAL_IP ms-wins $LOCAL_IP persist proxyarp silent $PPP_IFACE_ADDRESS $TTY noauth
No Linux, normalmente seu modem seria conectado via porta serial, ou seria emulado por uma placa PCI ou chipset integrado (os externos funcionam muito melhor com o Linux). O modem implementa o V.92 ou qualquer outro protocolo realmente fazendo som pela linha telefônica.
Se você quiser simular essa parte, pode experimentar o Softmodem . Isso levará uma entrada e saída de áudio via JACK e, na verdade, fará a parte de "modular / desmodular" o áudio que um modem deve fazer (no entanto, acredito que seja limitado a 14Kpbs). Não consegui que funcionasse no meu servidor, mas não tenho muita experiência com o JACK (ou com um dispositivo de áudio real no servidor que não seja o alto-falante do PC ...)