Este documento asume que usted cuenta con lo siguiente:
Una cuenta activa con un Proveedor del Servicio de Internet (ISP—por sus siglas en inglées), que usted utliza para conectarse.
Adicionalmente, un módem o algún otro dispositivo, conectado a su sistema, y configurado correctamente, que le permite realizar la conexión con su ISP.
El número telefónico de su proveedor.
Su nombre de usuario y contraseña. (Ya sea un nombre de usuario y/o contraseña estilo UNIX, o bien para uso por medio de PAP o CHAP)
La dirección IP de uno o más servidores
de nombres (DNS). Normalmente, estos serán provistos
por su proveedor de Internet. Si su proveedor no le ha
dado esta información, puede utilizar la opción
enable dns
en su fichero
ppp.conf
, para indicarle a
ppp que configure el DNS por
usted. Esta característica depende del sistema de
negociación de DNS que mantenga su proveedor de
Internet.
La siguiente información puede ser que haya sido provista por su proveedor de servicios de internet, pero no es completamente necesaria:
La dirección IP del gateway (pasarela de salida) de su PSI. El gateway es la máquina a la cual usted se conectará y será la ruta por default. Si usted no cuenta con esta información, puede inventar uno y al intentar conectarse, el servidor de su PSI, este nos indicará cual es el valor correcto.
Esta dirección IP, es referida por
ppp como
HISADDR
.
La mascara de red (netmask) que debe utilizar. Si su PSI no
le ha provisto de una, puede utilizar sin problema 255.255.255.255
.
Si su PSI, le ha provisto de una dirección de IP estática y un nombre de host, puede capturarla. De otra forma podemos dejar que el servidor asigne cualquier IP que corresponda.
Si usted no cuenta con alguna de la información que hemos comentado, le recomendamos contactar con su PSI para requerirla.
En el transcurso de la presente sección, algunos ejemplos muestran el contenido de archivos de configuración los cuales presentan una numeración. Estos números sirven como ayuda y referencia a cada línea, pero estos no deben de estar presentes en el archivo original. Una sangría adecuada, así como espacios adecuados, también son de suma importancia.
Como se comento anteriormente, la aplicación
ppp utiliza el dispositivo
tun
. Si este dispositivo no ha sido
compilado dentro del kernel, ppp
lo cargará como módulo cuando sea requerido. El
dispositivo tun es dinámico, de tal forma que se
generara de acuerdo a la demanda que tenga (usted no esta
limitado por el kernel).
Vale la pena hacer notar que el controlador tun, crea los
dispositivos de acuerdo a sus necesidades, por lo que el comando
ifconfig -a
, no necesariamente mostrará
los dispositivos tun
.
Bajo circunstancias normales, la mayoría de los usuarios
sólo utilizaran un dispositivo tun
(/dev/tun0
). En lo sucesivo podemos hacer
referencia a tun0
con la expresión
tunN
donde N
es el número que corresponde en su sistema.
Para instalaciones de FreeBSD que no tienen el habilitado el DEVFS
la existencia de tun0
debe ser verificada
(esto no es necesario si se cuenta habilitada la opción DEVFS
ya que los nodos de dispositivos seán creados en función
a las necesidades).
La forma más sencilla de verificar si el dispositivo
tun0
se encuentra configurado
correctamente, es la de rehacer el dispositivo. Para hacer esto
simplemente siga los siguientes pasos:
#
cd /dev
#
sh MAKEDEV tun0
Si usted necesita 16 dispositivos tun en su kernel, deberá crearlos. Esto puede hacerse de la siguiente manera:
#
cd /dev
#
sh MAKEDEV tun15
La resolución es la parte del sistema que busca una
dirección IP en los nombres de servidores (host) y
viceversa. Puede ser configurado para que busque en "mapas" que
describen la IP del servidor en uno de dos lugares, el primero
es un archivo llamado /etc/hosts
.
Lea hosts(5) para más información al
respecto. El segundo es el Servicio de Nombres de Dominio de
Internet (DNS-Internet Domain Name Service), el cual es una
base de datos de distribución. Para mayor información
con respecto a los DNS, referirse a dns.
La resolución de nombres es un sistema que por medio de
llamadas, realiza el mapeo de nombres, pero es necesario inidicarle donde
debe buscar la información. Para versiones de FreeBSD anteriores
a la 5.0, esto es hecho al editar el archivo /etc/host.conf
.
La versión 5.0 de FreeBSD utiliza el archivo /etc/nsswitch.conf
.
Para versiones de FreeBSD anteriores a la 5.0, este archivo debe contener las siguientes dos líneas (en este orden):
hosts bind
Esto le indica a la resolución que busque en primer
término en el archivo /etc/hosts
, y
posteriormente en el DNS, si el nombre no fué localizado
Para versiones de FreeBSD 5.0 y posteriores, este archivo debe contener, al menos, la siguiente línea:
hosts: files, dns
Esto le indica a la resolución de nombres, que
busque en primer lugar en el archivo /etc/hosts
,
y en caso de que el nombre no haya sido localizado, busque en
el DNS.
Este archivo puede contener direcciones IP, así como
el nombre de las máquinas de su red local. Como mínimo
debe contar con la información de la máquina que
correrá ppp. Asumiendo que su ordenador se llama
foo.bar.com
con la dirección
IP 10.0.0.1
, el archivo
/etc/hosts
debiese contener:
127.0.0.1 localhost.bar.com localhost ::1 localhost.bar.com localhost 10.0.0.1 foo.bar.com foo
Las primeras dos líneas definen el alias del
localhost
, como sinónimo de la maquina
actual. Independientemente de su propia dirección IP, la
dirección IP en estas líneas siempre debe ser 127.0.0.1
y ::1
.
La última línea especifica el nombre
foo.bar.com
(asi como foo
para acortarlo), para
la dirección 10.0.0.1
.
La dirección 127.0.0.1
y el nombre
localhost
son conocidos como direcciones "loopback"
las cuales hacen un "loopback" (salto de regreso) a la maquina local.
Si su proveedor de Internet, le asigna una dirección IP
fija, asín como un nombre, y usted no lo utiliza como nombre
del host, añada esto también al archivo
/etc/hosts
.
El archivo /etc/resolv.conf
, le indica a la
resolución de nombres, como comportarse. Normalmente deberá
de incluir la(s) siguiente(s) línea(s):
domainejemplo.com
nameserverx.x.x.x
nameservery.y.y.y
Donde x.x.x.x
y
y.y.y.y
deben reemplazarse con las direcciones
IP de los servidores DNS, de su
ISP. Puede ser que esta información se la
hayan entregado al suscribirse o no, pero una rápida llamada a su
ISP debe resolver esto.
Tambié puede configurar su sistema, de tal forma que syslog(3) provee de un login para su conección por PPP. Sólo añada:
!ppp *.* /var/log/ppp.log
al fichero /etc/syslog.conf
. En la
mayoría de los casos esto funciona bien.
Ambos, ppp
así como pppd
(la implementación del kernel para PPP), utilizan la
configuración de los archivos localizados en el directorio
/etc/ppp
.
Ejemplos para ppp, pueden encontrarse en:
/usr/share/examples/ppp/
.
Para efecto de configurar correctamente ppp
, es
necesario editar varios ficheros, dependiendo de sus necesidades. La
manera en que edite dichos archivos, depende en la forma que utilice su
PSI (Proveedor de Servicios de Internet) para brindarle conexión,
ya sea por medio de una dirección IP estática o bien una IP
dinámica (ya sea que cada vez que se conecta obtiene una nueva
dirección).
Será necesario editar el archivo de configuración;
/etc/ppp/ppp.conf
. Y deberá quedar de una
manera similar al ejemplo que se describe a continuación.
Las líneas que terminan con :
, deben
comenzar en la primer columna del archivo — el resto de las
líneas deberán utilizar sangría como se muestra,
utilizando espacios o bien el tabulador. La mayor parte de la
información que requiere ingresar aqui, se mostro en el
marcado manual anterior.
1 default: 2 set log Phase Chat LCP IPCP CCP tun command 3 ident user-ppp VERSION (built COMPILATIONDATE) 4 set device /dev/cuaa0 5 set speed 115200 6 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \ 7 \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT" 8 set timeout 180 9 enable dns 10 11 provider: 12 set phone "(123) 456 7890" 13 set authname foo 14 set authkey bar 15 set login "TIMEOUT 10 \"\" \"\" gin:--gin: \\U word: \\P col: ppp" 16 set timeout 300 17 set ifaddrx.x.x.x
y.y.y.y
255.255.255.255 0.0.0.0 18 add default HISADDR
Identifica la entrada por omisión a utilizar. Los comandos descritos en esta parte, serán ejecutados de manera automática cuando se ejecute ppp.
Habilita los par´metros de acceso. Cuando la configuración trabaja sin problemas, esta línea deberá quedar de la siguiente forma:
set log phase tun
para efecto de evitar avisos masivos del sistema (logs).
Esta línea le indica a PPP como identificarse ante el puerto. PPP se identifica, si tiene algun problema para efecto de establecer la conexión, en esta identificación, PPP provee de cierta información que puede resultar util para detectar el probelma.
Le indica a PPP cual es el dispositivo a utilizar para realizar
la conexión, o bien al que esta conectado el módem.
El dispositivo COM1
es
/dev/cuaa0
y
COM2
es
/dev/cuaa1
.
Establece la velocidad a utilizar en la conexión. Si la velocidad de 115200 no trabaja correctamente (la cual deberia con cualquier módem normal), intente con una velocidad inferior, como puede ser 38400.
La cadena de inicialización. El modo User PPP, utiliza y espera enviar-recibir, la información utilizando una sintaxis similar a la descrita en el programa chat(8). Favor de consultar la página de ayuda para conocer las opciones de este lenguaje.
Nota: Este comando continua en la siguiente línea, para
facilitar su lectura. Cualquier comando en el archivo
ppp.conf
puede utilizar este formato, siempre
y cuando el último caracter de la línea sea una
diagonal invertida "\".
Establece el tiempo de espera que debe tratar de realizar la conexión. Por omisión se establecen 180 segundos, por lo que esta línea se deja por pura estética.
Esta línea le indica a PPP, que solicite confirmación al puerto, sobre la configuración de la resolución local. Si usted esta corriendo un servidor local de nombres, deberá comentar o eliminar esta línea.
Una línea en blanco, para facilitar la lectura. Las líneas en blanco son ignoradas por PPP.
Identifica el incio de datos para un “proveedor”
determinado, de servicios de internet. Este podrá ser cambiado
por el nombre de su ISP, de tal forma que en lo
sucesivo utilice la opción load ISP
, para
iniciar una sesión.
Indica el numero telefónico del proveedor.
Pueden indicarse varios numeros a utilizar, utilizando el signo
de dos puntos (:
) o bien la barra
(|
) como separador. La diferencia entre
estos dos separadores, es detallada en el ppp(8). Pero
en resumen, se puede decir que si se desean utilizar varios
numeros de manera aleatoria se debe utilizar los dos puntos,
pero si se desea siempre utilizar el primer numero y en caso
de falla el siguiente y así sucesivamente, se debe utilizar
la barra. Es importante que todo lo que se refiere a numeros
telefonicos, este entre comillas como se muestra. Es
importante que si piensa usar espacios en los numeros, haga
uso de estas comillas ("
). La falta de
estas pueden ocasionar un simple error.
Identifica el nombre de usuario y su contraseña. Cuando
uno se conecta utilizando un login de tipo Unix, estos valores hacen
referencia al comando set login
, utilizando las
variables \U y \P. Cuando la conexión es utilizando algún
metodo como PAP o CHAP, estos valores, son utilizados al momento de la
autentificación.
Si usted esta utilizando el metodo PAP o CHAP, no habrá
un login en este punto, y esta línea deberá ser
comentada (utilizando el símbolo #
al
principio de la línea) o bien eliminada por completo.
Vea la parte
Autentificación con PAP y CHAP
para más detalles.
La cadena de acceso (login), utiliza la misma sintáxis que se utiliza en la cadena de marcado. En este ejemplo, la cadena sirve para un servicio, en el cual el inicio de sesión se ve algo así como lo siguiente:
Proveedor de servicios X login:foo
password:bar
protocol: ppp
Es recomendable editar el script, para que se ajuste a sus propias necesidades. Cuando cree este script por primera vez, asegurese de haber habilitado la parte que se refiere a al acceso por medio de “chat”, para efecto de poder dar seguimiento al curso de la conexión y la resolución de la misma.
Establece el tiempo por defecto en el que se perderá la
conexión (en segundos). En este caso la conexión
será cortada de forma automática, después de
300 segundos de inactividad. Si no desea habilitar esta función
establezca este valor en cero o bien utilice el comando en línea
-ddial
.
Indica la dirección de la interfaz. La cadena que aparece
como x.x.x.x.
, debe se cambiada por la
dirección asignada por su PSI. La línea que aparece como
y.y.y.y.
, debe se substituida por la
direcció IP especificada por su PSI, como servidor de salida o
pasarela (gateway)(la maquina a la cual se va a conectar). Si su PSI
no le ha indicado una dirección de este tipo, puede utilizar
10.0.0.2/0
. Si usted necesita utilizar
una dirección “aleatoria”, asegurese de crear el
fichero /etc/ppp/ppp.linkup
, siguiendo las
instrucciones de PPP y las
direcciones de IP Dinámicas, para su llenado. Si esta
línea es omitida, ppp
, no podrá
ejecutarse en el modo -auto
.
Añade una ruta por omisión al servidor de salida
de su PSI. La palabra especial HISADDR
se
reemplaza con la dirección del gateway indicado por su PSI,
que esta en la línea 9, de otra forma HISADDR
no será inicializado.
Si no desea ejecutar ppp
en modo
-auto
, esta línea deberá pasar al
archivo ppp.linkup
.
No hay necesidad de editar el archivo ppp.linkup
si usted cuenta con una dirección IP estática y se esta
ejecutando ppp en modo -auto
, en virtud de que para
efecto de realizar la conexión sus mapas de ruteo debe estar
correctas. De cualquier forma puede ser que usted desee ejecutar
algun programa/comando, posterior a la conexión. Este es
explicado con más detalle posteriormente, cuando se vea el
ejemplo de sendmail.
Ejemplo de los archivos de configuración, se pueden
encontrar en el directorio; /usr/share/examples/ppp
.
Si su proveedor de servicios, no le asigna una dirección de IP
fija, será necesario configurar a ppp
, de tal
forma que al momento de realizar la conexión, negocie tanto la
dirección local, como la remota. Esto se lleva a cabo al
“adivinar” una dirección IP y permitiendo a
ppp
que la establezca correctamente, usando el
Protocolo de Configuración de IP (IPCP), una vez que se ha
conectado. La configuración que debe tener el archivo
ppp.conf
, es la misma que la utilizada en
PPP y direcciones de IP fijas,
salvo el siguiente cambio:
17 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255
Una vez más, no debe incluir el numero de línea, este sólo es una referencia. Así mismo deberá existir sangrado, de cuando menos 1 espacio.
El numero siguiente a la diagonal (/
), es el
numero de bits de la dirección en la cual ppp insistirá
en conectarse. Puede ser que usted desee utilizar numeros de IP que
sean más apropiados, para ajustar a sus necesiadades, pero el
ejemplo descrito anteriormente siempre podrá utilizarse.
El último argumento (0.0.0.0
), le
indica a PPP, que inicie las negociaciones, utilizando como
dirección 0.0.0.0
, en lugar de
que utilice 10.0.0.1
, lo cual es
necesario con algunos proveedores. No utilice la dirección
0.0.0.0
como el primer argumento, para el comando
set ifaddr
, ya que impide que PPP configure de
forma correcta el sistema, cuando se utiliza en modo
-auto
.
Si usted no esta ejecutando PPP en modo -auto
,
deberá editar su archivo /etc/ppp/ppp.linkup
.
El archivo ppp.linkup
, es utilizado una vez que se
ha realizado la conexión. En este punto, ppp
habrá negociado una dirección de interfaz, y será
posible ahora, añadir las entradas para la las tablas de ruteo:
1 provider: 2 add default HISADDR
Al establecer (ppp
) una conexión,
buscará en ppp.linkup
una entrada, de
acuerdo a las siguientes reglas. Primero, tratar de encontrar una
entrada que sea igual a la utilizada en el archivo
ppp.conf
. Si esto falla, buscar una IP con la
dirección de nuestro gateway. Esta entrada es una etiqueta
de tipo IP, de cuatro-octetos. Si aun después de esto no se
ha detectado la entrada correcta, buscar la entrada
MYADDR
.
Esta línea le indica a ppp
que
añada una ruta por omisión, que este dirigida hacia
HISADDR
.
HISADDR
será reemplazada, con la IP del
gateway, como se negocio por IPCP.
Para ver un detalle más preciso de esto, puede consultar
la entrada de pmdemand
en los archivos de ejemplo
/usr/share/examples/ppp/ppp.conf.sample
así
como /usr/share/examples/ppp/ppp.linkup.sample
.
Cuando se configure ppp, para recibir
llamadas externas, en una maquina conectada a un LAN (Red de Area Local),
debe decidir si se va a permitir el envío de paquetes a la LAN. Si
es así, debe asignar un numero de IP de su red local y utilizar el
comando enable proxy
en el archivo de configuracion
/etc/ppp/ppp.conf
. También deberá
asegurarse que en su archivo /etc/rc.conf
cuente
con la línea:
gateway_enable="YES"
El enlace Configurando FreeBSD para Servicios de Marcado provee de una buena descripció, sobre la configuración de estos servicios, basado en getty(8).
Una alternativa para el comando getty
es mgetty
, el cual es una versión más inteligente de getty
diseñada para servicios de marcado telefonico.
Una de las principales ventajas de mgetty
es
que, de hecho platica con los modems, esto es,
significativo, ya que si el puerto esta desactivado en su
/etc/ttys
el modem no responderá el
llamado.
Las últimas versiones de mgetty
(de la 0.99beta y sucesivas), también cuentan con soporte
para la detección automática de llamados de PPP,
permitiendo el acceso a servidores de una manera más sencilla
(sin uso de tanto scripts).
Puede referirse a Mgetty y
AutoPPP para más información con respecto
al comando mgetty
.
El comando ppp
normalmente debe ser ejecutado
por root (superusuario). Si de cualquier forma, usted desea permitir
que ppp
pueda ser ejecutado en modo servidor, por
un usuario regular, como se describe a continuación,
deberá otorgar los permisos necesarios a ese usuario al
añadirlo al grupo network
, en el fichero
/etc/groups
.
También será necesario darle acceso a una o
más partes del archivo de configuración, haciendo
uso del comando allow
, como se ve
a continuación:
allow users fred mary
Si el comando es utilizado en la sección
default
, esto le dará a el(los)
usuario(s) especificado(s), acceso a todo.
Cree un fichero llamado:
/etc/ppp/ppp-shell
y que contenga
lo siguiente:
#!/bin/sh IDENT=`echo $0 | sed -e 's/^.*-\(.*\)$/\1/'` CALLEDAS="$IDENT" TTY=`tty` if [ x$IDENT = xdialup ]; then IDENT=`basename $TTY` fi echo "PPP for $CALLEDAS on $TTY" echo "Starting PPP for $IDENT" exec /usr/sbin/ppp -direct $IDENT
Este script deberá ser ejecutable. Ahora cree un
enláce simbólico llamado ppp-dialup
a este script, utilizando los siguientes comandos:
#
ln -s ppp-shell /etc/ppp/ppp-dialup
Deberá utilizar este script como
shell para todos los usuarios que realicen
conexión.
Este es un ejemplo del fichero /etc/password
para un usuario con acceso a PPP, con nombre de usuario
pchilds
(recuerde no editar directamente el
fichero password, utilice vipw
).
pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup
Cree un directorio llamado /home/ppp
que
contenga los siguentes archivos de 0 bytes:
-r--r--r-- 1 root wheel 0 May 27 02:23 .hushlogin -r--r--r-- 1 root wheel 0 May 27 02:22 .rhosts
los cuales impiden que /etc/motd
sea
desplegado.
Cree el fichero ppp-shell
al igual
que el mencionado con anterioridad, y por cada cuenta donde
se tenga asignada una IP estática, cree un enlace
simbólico al fichero ppp-shell
.
Por ejemplo, si usted cuenta con tres usuarios que utilicen
este servicio; fred
, sam
y mary
, los cuales redirecciona a una red de
clase C, habria que hacer lo siguiente:
#
ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-fred
#
ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-sam
#
ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-mary
Cada uno de los usuarios señalados, deberán
de contar con el enlace a su shell-script como se indicó
(por ejemplo, el usuario mary
, debe contar
con su enlace al fichero /etc/ppp/ppp-mary
).
El archivo /etc/ppp/ppp.conf
deberá
contener algo similar a lo siguiente:
default: set debug phase lcp chat set timeout 0 ttyd0: set ifaddr 203.14.100.1 203.14.100.20 255.255.255.255 enable proxy ttyd1: set ifaddr 203.14.100.1 203.14.100.21 255.255.255.255 enable proxy
Tomar en cuenta el sangrado, ya que es importante.
La sección default:
es cargada
para cada sesión. Para cada línea que exista y
habilite el marcado, en el fichero /etc/ttys
,
se deberá crear una entrada similar a la línea
ttyd0:
mencionada arriba. Cada línea
debera contar con su propia dirección IP, de sus direcciones
IP disponibles para asignar dinámicamente.
Junto con el contenido del fichero de ejemplo
/usr/share/examples/ppp/ppp.conf
mencionado
anteriormente, deberá agregar una sección para cada
usuario asignado estáticamente.
Continuaremos con nuestro ejemplo con los usuarios
fred
, sam
y
mary
.
fred: set ifaddr 203.14.100.1 203.14.101.1 255.255.255.255 sam: set ifaddr 203.14.100.1 203.14.102.1 255.255.255.255 mary: set ifaddr 203.14.100.1 203.14.103.1 255.255.255.255
El archivo /etc/ppp/ppp.linkup
deberá de contener también información
del ruteo, para cada IP estática, si es necesario. Las
líneas a continuación añadirán una
ruta a la dirección 203.14.101.0
de clase C, por medio del ppp link del cliente.
fred: add 203.14.101.0 netmask 255.255.255.0 HISADDR sam: add 203.14.102.0 netmask 255.255.255.0 HISADDR mary: add 203.14.103.0 netmask 255.255.255.0 HISADDR
Configurando y compilando mgetty
con
la opción AUTO_PPP
habilitada, permite
a mgetty
detectar la fase LCP de conexiones PPP
y automáticamente enviarlo a un shel de ppp. Aun con esto,
y debido a que no se ingresa el nombre de usuario y contraseña,
es necesario autntificarse por medio de PAP o CHAP.
Esta sección asume que el usuaio ha configurado,
compilado e instalado correctamente una versión de
mgetty
, con la opción
Auto_PPP
(v0.99beta o posterior).
Asegurese de que su fichero
/usr/local/etc/mgetty+sendfax/login.conf
contiene la siguiente línea en él:
/AutoPPP/ - - /etc/ppp/ppp-pap-dialup
Esto le indicará a mgetty
que ejecute
el script ppp-pap-dialup
, para efecto de detectar
conexiones de tipo PPP.
Cree un fichero llamado
/etc/ppp/ppp-pap-dialup
que contenga
las siguientes líneas (el fichero deberá
ser ejecutable):
#!/bin/sh exec /usr/sbin/ppp -direct pap$IDENT
Para cada línea de marcado habilitada en
/etc/ttys
, cree la entrada
correspondiente en /etc/ppp/ppp.conf
.
Esto co-existirá pacíficamente con las
definiciaones que se hayan hecho, de acuerdo a lo mostrado
en la parte de arriba.
pap: enable pap set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40 enable proxy
Cada usuario que ingrese al sistema utilizando este
metodo, deberá de contar con su clave de usuario,
así como su contraseña, en el archivo
/etc/ppp/ppp.secret
, o bien agrege
la siguiente opción, para efecto de que se pueda realizar
la autentificación por medio de PAP, directamente
del fichero /etc/password
.
enable passwdauth
Si desea asignar una dirección IP fija a
algunos usuarios, puede especificar el número como
un tercer argumento en el fichero
/etc/ppp/ppp.secrets
. Vea el archivo
/usr/share/examples/ppp/ppp.secret.sample
para obtener ejemplos más detallados de esto.
Es posible configurar PPP, para efecto de que brinde a DNS y a NetBIOS, direcciones de servidores de nombres de forma automática.
Para efecto de habilitar estas extensiones con PPP
versión 1.x, las siguientes líneas
deberán añadirse a la sección relevante
de /etc/ppp/ppp.conf
.
enable msext set ns 203.14.100.1 203.14.100.2 set nbns 203.14.100.5
Y para versiones de PPP 2 y posteriores:
accept dns set dns 203.14.100.1 203.14.100.2 set nbns 203.14.100.5
Esto le indicará a los clientes, las direcciones del servidor primario y secundario y el servidor-host para NetBIOS.
Si la línea set dns
, es omitida
en versiones 2 y posteriores, PPP utilizará los valores
que encuentre en /etc/resolv.conf
.
Algunos proveedores de internet tienen su sistema
configurado para que cada usuario al conecatrse sean
autentificados por medio de PAP o CHAP. Si este es el caso,
al momento de realizar la conexion, no aparecerá
un login:
, sino que comenzará a
comunicarse PPP inmediatamente.
El metodo PAP es menos seguro que CHAP, pero la seguridad normalmente no se toma mucho en cuenta en este tipo de conexiones, en funcion de que al enviarse la información de contraseña en texto plano, por medio de una línea serial, no deja mucho espacio para que los crackers “husmeen”.
Haciendo referencia a lo que vimos de PPP y Direcciones de IP Fijas o bien PPP y Direcciones de IP Dinámicas, habría que aplicar los siguientes cambios:
7 set login … 12 set authnameMiNombreDeUsuario
13 set authkeyMiContraseña
Su PSI normalmente requerirá que usted ingrese al sistema, cuando se utiliza PAP o CHAP. Por esta razón debemos deshabilitar la línea que corresponde a “set login”.
Esta línea especifíca a PAP/CHAP su nombre
de usuario. Usted deberá cambiar el valor a quedar el
nombre correcto en el campo;
MiNombreDeUsuario
.
Esta línea especifíca su contraseña
de PAP/CHAP. Es necesario que usted cambie el valor a quedar
el dato correcto, en el campo;
MiContraseña
. Quizás
sea recomendable que añada una línea a quedar:
15 accept PAP
o
15 accept CHAP
la intención de esto es para hacerlo obvio, aunque en realidad PAP y CHAP son aceptadas por omisión.
Es posible hablar con el programa ppp
mientras se esta ejecutando en segundo plano, pero sólo
si se ha habilitado un puerto de diagnóstico. Para
hacer esto, añada lo siguiente a su
configuración:
set server /var/run/ppp-tun%d
DiagnosticPassword 0177
Esto le indicará a PPP que preste
atención al socket del dominio-Unix, solicitando a
los usuarios su contraseña, antes de permitir el acceso.
La variable %d
deberá ser reemplazada
por el numero de dispositivo tun
que
este utilizando (ej. tun0
).
Una vez que se a configurado el socket, se puede utilizar pppctl(8) en scripts que deseen manipular el programa.
Ahora usted cuenta con un ppp
configurado,
pero es necesario hacer algunas cosas, antes de que este disponible
para trabajar. Todas ellas giran entorno a la edición del
fichero /etc/rc.conf
.
En primer lugar es importante que se asegure que ha asignado
un nombre a su maquina. Esto se hace asignandolo en la línea
de hostname=
, por ejemplo:
hostname="foo.ejemplo.com"
Si su Proveedor de Servicios de Internet (PSI), le ha
provisto de una dirección fija y un nombre de host, es
recomendable que utilice este como su
hostname
.
Localice la línea que se refiera a sus dispositivos
de red, la cual es network_interfaces
.
Si desea configurar su sistema para marcar a su PSI a petición,
asegurese de que el dispositivo tun0
este
en la lista, de otra forma eliminelo.
network_interfaces="lo0 tun0" ifconfig_tun0=
La variable ifconfig_tun0
debe permanecer
en blanco (vacia), y deberá crearse un fichero llamado
/etc/start_if.tun0
que contenga la siguiente
línea:
ppp -auto MiSistema
Este script se ejecuta cuando se esta configurando la red,
inicializando el demonio de ppp de modo automático. Si
usted cuenta con una LAN (red de área local), de la cual
esta maquina sea la pasarela (gateway), es tambien recomendable
que utilice la opción -alias
. Referirse
a la página de ayuda (man) para mayores detalles.
Especifique el programa router a NO
, con
la siguiente línea en su fichero
/etc/rc.conf
:
router_enable="NO"
Es importante que el demonio routed
no se inicialice por default, en virtud de que
routed
tiende a eliminar las variables
creadas por ppp
.
Probablemente valga la pena asegurarse de que la
línea sendmail_flags
, no incluya
la opción -q
, ya que de ser así
sendmail
intentará localizar los
parámetros de la red de vex en cuando, ocasionando que realice
llamados al exterior. Puede intentar esto:
sendmail_flags="-bd"
La parte negativa de esta conifguración es que tiene
que forzar a sendmail
a re-examinar los llamados
del servidor de correo, cada vez que ppp
realiza
una conexión, con el siguiente comando:
#
/usr/sbin/sendmail -q
Puede utilizar el comando !bg
en el fichero
ppp.linkup
para hacer esto de manera
automática:
1 provider: 2 delete ALL 3 add 0 0 HISADDR 4 !bg sendmail -bd -q30m
Si usted no desea hacer esto, es posible establecer un “dfilter” (filtro), para bloquear el tráfico al servidor de salida de correo (SMTP). Favor de referirse a los archivos de ejemplos para mayor detalle al respecto.
Ahora lo único que queda pendiente de hacerse es reiniciar el equipo. Una vez reiniciado el equipo, puede teclear:
#
ppp
y posteriormente dial proveedor
para iniciar
la sesión, o bien si desea que ppp
inicie la
sesión automáticamente, cuando haya una petición de salida
(y no haya creado el fichero start_if.tun0
), puede
teclear:
#
ppp -auto proveedor
A manera de recapitulación, podemos decir que para configurar ppp por primera ocasión, debemos:
Por parte del Cliente:
Asegurese de que existe el dispositivo tun
dentro de su kernel.
Asegurses de que el dispositivo
tunX
, se encuentra
disponible, bajo el directorio /dev
.
Cree una entrada en su fichero
/etc/ppp/ppp.conf
. Con el fichero de ejemplo
pmdemand
debe ser suficiente para la mayoria de
proveedores.
Si cuenta con una dirección de IP dinámica, cree
una entrada en el fichero /etc/ppp/ppp.linkup
.
Actualice su fichero /etc/rc.conf
.
Cree un archivo script llamado start_if.tun0
si requiere servicio de conexión a solicitud.
Por parte del Servidor:
Asegurese de que dentro de su kernel exista el dispositivo
tun
.
Asegurses de que el dispositivo
tunX
, se encuentra
disponible, bajo el directorio /dev
.
Cree una entrada en el fichero /etc/passwd
(usando el programa vipw(8)).
Cree un perfil en el directorio home de este usuario, que ejecute
ppp -direct direct-server
o algo
similar.
Cree una entrada en el fichero
/etc/ppp/ppp.conf
. El fichero de ejemplo
direct-server
debe ser suficiente para
darse una idea.
Cree una entrada en el fichero
/etc/ppp/ppp.linkup
.
Actualice su fichero /etc/rc.conf
.
Puede descargar éste y muchos otros documentos desde ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Si tiene dudas sobre FreeBSD consulte la
documentación antes de escribir a la lista
<questions@FreeBSD.org>.
Envíe sus preguntas sobre la documentación a
<doc@FreeBSD.org>.