Es posible conectar un sistema OpenBSD a Internet empleando
un módem o un módem ISDN. Para esto el módem que se emplea debe
estar soportado y debe
configurarse ppp
para realizar la conexión.
Hay diversos tipos de módems (tarjetas ISA, PCI, módems
externos USB o seriales), los módems
externos que se conectan a puerto serial son los más fáciles de
configurar, algunos módems USB también son soportados (los
que tengan comandos y datos multiplexados --como indica la página
del manual del controlador umodem
) y eventualmente
es posible hacer funcionar tarjetas ISDN ISA o PCI (http://people.freebsd.org/~hm/i4b-home/).
Los módems y los módems ISDN reciben comandos AT y se configuran
empleando ppp.
Por ejemplo el archivo /etc/ppp/ppp.conf
podría
incluir porciones como las siguientes (remplazando el número de
teléfono, el nombre de la cuenta y la clave por los correctos):
default: set log Phase Chat LCP IPCP CCP tun command set device /dev/cua01 set speed 115200 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" AT \ OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT" PAP: set phone 019478909891 set authname micuenta@miproveedor.com set authkey laclaveusada set timeout 120 add default HISADDR enable dns
Para conectarse ejecute /usr/sbin/ppp -ddial PAP
desde una cuenta que pertenezca al grupo network
.
Cuando se establezca la conexión quedará asociada una dirección IP a una
interfaz tun
(e.g a tun0
). Puede
también emplear el siguiente script para realizar la conexión:
#!/bin/sh # Dominio público. 2004. # Usa configuracion de /etc/ppp/ppp.conf regla PAP netw=`groups | sed -e "s/.*network.*/1/g"`; if (test "$netw" != "1") then { echo "Para usar PPP debe ser del grupo network"; exit 1; } fi; IP=`/sbin/ifconfig tun0 | tail -n 1 | sed -e "s/.*inet \([.0-9]*\) .*/\1/g"`; esta=`echo $IP | sed -e "s/^[0-9][.0-9]*$/SI/g"` if (test "$esta" = "SI") then { echo "Ya está conectado, IP es $IP"; exit 0; } fi; /usr/sbin/ppp -ddial PAP while (test "$esta" != "SI") ; do sleep 1; IP=`/sbin/ifconfig tun0 | tail -n 1 | sed -e "s/.*inet \([.0-9]*\) .*/\1/g"`; esta=`echo $IP | sed -e "s/^[0-9][.0-9]*$/SI/g"` done echo "Conectado. La IP es $IP";
Y el siguiente que facilita la desconexión:
pid=`ps ax | grep "[p]pp" | sed -e "s/^[ ]*\([0-9]*\) .*$/\1/g"`; espid=`echo $pid | sed -e "s/^[0-9][0-9]*$/SI/g"`; if (test "$espid" != "SI") then { echo "No está conectado"; exit 1; } fi; kill -HUP $pid echo "Desconectado";