¿Que es pppd? Se trata de la primera posibilidad de conexión a internet que ofrece Linux. Es una conexión a internet que gasta pocos recursos y con posibilidad de hacerla desde la consola, sin necesidad de entrar en modo gráfico. Cualquiera que aspire a obtener al máximo rendimiento de la conexión a internet, por ejemplo automatizando la conexión, automatizando la recogida de correo, noticias, ftp, etc... casi seguro no tendrá más remedio que pasar por aquí.
Como inconvenientes, tiene unos cuantos. El más destacable es la falta
total y absoluta de interactividad o de información en pantalla de cómo
va la conexión, siendo necesario el uso de otros comandos (como ifconfig
)
o la observación de archivos históricos (/var/log/messages
) para averiguar si
la conexión se ha realizado con éxito o ha habido algún error.
La configuración de pppd se basa en la creación de una serie de archivos.
/etc/ppp/options
: Configuración de la conexión y del puerto serie
/etc/ppp/marcado
: Configuración del modem y marcado del número de teléfono
/etc/ppp/pap-secrets
: Claves de acceso para identificación con PAP
/etc/ppp/chap-secrets
: Claves de acceso para identificación con CHAP
/etc/resolv.conf
: Servidores de nombres (DNS)
Así un posible /etc/ppp/options
sería así:
----------------------------------------------------------------- connect "/usr/sbin/chat -v -f /etc/ppp/marcado" name mi_login@mi_proveedor defaultroute noipdefault modem crtscts asyncmap a0000 mru 576 /dev/ttySx 115200 --------------------------------------------------------------------Comentarios:
/dev/ttySx
, la 'x' indica el puerto serie: /dev/ttyS0 = COM1,
/dev/ttyS1 = COM2
, etc...
setserial /dev/ttySx
para conocer la UART del modem o del puerto serie,
donde 'x' indica el puerto serie de la misma forma que antes). Nótese que el
valor óptimo es 115200 y conforme menor sea dicho valor, menos rendimiento
le sacaremos al modem./etc/ppp/marcado
:
-------------------------------------------------------------- ABORT "BUSY" ABORT "NO CARRIER" ABORT "NO DIALTONE" ABORT "ERROR" "" "AT& F" TIMEOUT 5 OK "ATW1DTnumero_de_telefono" TIMEOUT 100 CONNECT ---------------------------------------------------------------Comentarios:
/etc/ppp/pap-secrets
y /etc/ppp/chap-secrets
Existen dos formas posibles de identificación cuando nos conectamos a un proveedor: PAP y CHAP. PAP es la más sencilla y es la que usaba por ejemplo Infovia. CHAP es muy usada en Infovia Plus.
El formato de ambos archivos es el mismo:
------------------------------------------------------------------------ mi_login@mi_proveedor * password ------------------------------------------------------------------------Comentarios:
/etc/ppp/options
.
pap-secrets
. Si usa CHAP, grábalo como chap-secrets
. Si no
sabes cual usa, puedes hacer prueba-y-error o crearte los dos, o crearte
uno sólo y hacer un enlace simbólico de uno al otro. Por ejemplo, si has
creado chap-secrets, para hacer un enlace desde pap-secrets se haría:
cd /etc/ppp ln -s chap-secrets pap-secretsEsto en teoría haría que pppd y tu proveedor se pusieran de acuerdo para elegir PAP o CHAP según prefieran.
/etc/resolv.conf
:
Aquí irían las direcciones de los DNS primario y secundario. El formato es muy sencillo:
------------------------------------------------------- nameserver DNS_primario nameserver DNS_secundario -------------------------------------------------------Por ejemplo,
nameserver 195.5.65.2
Comentarios:
pppd
o /usr/sbin/pppd
.
Para comprobar si la conexión tiene éxito, se puede usar el
comando /sbin/ifconfig
y ver si al cabo de un minuto o dos aparece
un bloque nuevo ppp0
.
Otra forma es consultando periódicamente el fichero /var/log/messages
hasta ver si aparece algo como esto:
Local IP address xxx.xxx.xxx.xxx Remote IP address yyy.yyy.yyy.yyyLo cual indicaría una conexión con éxito. Una forma de hacer esto sería con la orden
tail -f /var/log/messages
y pulsar Ctrl+C
cuando veamos
que la conexión ha funcionado o fallado.
La desconexión se realizaría introduciendo la orden killall pppd
.
En caso de necesitar ayuda, remitir la duda a es.comp.os.linux.misc o
es.comp.os.linux.redes mandando copia de los scripts (ocultando los
passwords, claro) y lo que haya salido en /var/log/messages
durante
la conexión fallida.
NOTA IMPORTANTE: Los ficheros arriba descritos han de crearse desde cero con un editor de Linux. Crearlos con un editor de DOS o de Windows, o con operaciones de cortar-y-pegar en Windows añade un caracter no visible al final de cada línea que Linux confundiría con un caracter normal, inutilizando los scripts.