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";