Page -> Diferencia entre revisiones de «PPTP-Ubuntu» Vistas :  Página  Discusión  Ver fuente  Historial 

De DIT-CDC

(Página blanqueada)
Línea 1: Línea 1:
{{Title|Configuración de túneles PPTP en Ubuntu}}
 
  
__TOC__
 
 
Se describe a contiación los procedimiento para configurar el acceso mediante '''PPTP''' a la intranet del DIT sobre Ubuntu.
 
 
Nota: si por alguna causa se deja de funcionar correctamente la red, puede restaurarse su funcionamiento mediante:
 
 
/etc/init.d/networking restart
 
 
 
== Ubuntu 6.06 (Dapper Drake) ==
 
 
=== Instalación ===
 
 
Procedimiento para configurar el acceso mediante '''PPTP''' a la intranet del DIT sobre un Ubuntu 6.06:
 
 
<ul>
 
<li> Instalar '''pptp-linux''' </li>
 
 
apt-get install pptp-linux
 
 
<li> Instalar '''pptpconfig''' </li>
 
 
<ol>
 
<li> Añadir la fuente de pptpconfig a /etc/apt/sources.list:</li>
 
 
echo -e '\n# PPTP GUI\ndeb http://quozl.netrek.org/pptp/pptpconfig ./' >> /etc/apt/sources.list
 
 
<li> Añadir el repositorio "universe" si no está disponible ya. Para ello, descomentar la línea siguiente en /etc/apt/sources.list:</li>
 
 
deb http://es.archive.ubuntu.com/ubuntu/ edgy universe
 
 
<li> Actualizar la lista de paquetes e instalar PPTP Client GUI:</li>
 
 
apt-get update
 
apt-get install pptpconfig
 
 
</ol>
 
 
<li> Arrancar pptpconfig:</li>
 
 
pptpconfig
 
 
<li> Configurar una conexión con los parámetros siguientes:</li>
 
 
  Solapa Server:
 
  Name: DIT
 
  Server: rpv.dit.upm.es
 
  Domain:
 
  Username: fulanito
 
  Password: clavedefulanito
 
 
  Solapa Encryption:
 
  Seleccionar "Require Microsoft Point-to-Point (MPPE)"
 
 
<li>Pulsar el botón "Add" para grabar la configuración.
 
 
</ul>
 
 
=== Establecimiento/liberación del tunel ===
 
 
El establecimiento y liberación del túnel se puede realizar
 
'''gráficamente''' desde la aplicación pptpconfig:
 
 
* '''Establecimiento''': seleccionar la línea "DIT" en la  parte superior y pinchar en la opción "Start".
 
 
* '''Liberación''': pinchar en la opción "Stop".
 
 
Supuestamente también puede realizarse desde la '''línea de comandos''' mediante  '''pptpconfig DIT start''' o '''pptpconfig DIT stop''', pero está opción falla debido a una incompatibilidad entre pptpconfig y la nueva versión de ppp (2.4.4). Si se quiere gestionar el túnel desde la línea de comandos, se puede utilizar el script '''''dit''''' descrito más abajo.
 
 
Nota: en todos los casos el establecimiento/liberación del túnel debe hacerse como usuario '''root'''.
 
 
== Ubuntu 6.10 (Edgy Eft) ==
 
 
=== Instalación ===
 
 
Existe un [http://www.nabble.com/hangs-after-%22Cannot-determine-ethernet-address-for-proxy-ARP%22-t2726677.html fallo conocido] del script '''pptpconfig''' en Ubuntu 6.10, por lo que no se puede utilizar para establecer o liberar el túnel, aunque si funciona bien para configurar la conexión.
 
 
El procedimiento de instalación es igual al descrito más arriba para Ubuntu 6.06. Unicamente hay que realizar el siguiente paso adicional:
 
 
<ul>
 
 
<li>Crear un script llamado '''''dit''''' con el contenido que aparece más abajo y darle permisos de ejecución:</li>
 
 
chmod +x dit
 
 
</ul>
 
 
=== Establecimiento/liberación del tunel ===
 
 
El establecimiento y liberación del túnel se realiza desde la '''línea de comandos''' mediante:
 
 
<ul>
 
<li> '''Establecimiento''':</li>
 
 
dit on
 
 
<li> '''Liberación''':</li>
 
 
dit off
 
</ul>
 
 
Nota: el establecimiento/liberación del túnel debe hacerse como usuario '''root'''.
 
 
=== Script dit ===
 
 
<pre>
 
#!/bin/bash
 
 
# Parámetros
 
TUNNAME="DIT"
 
TUNSRV="rpv.dit.upm.es"
 
 
usage="
 
Conexión PPTP a la intranet del DIT
 
-----------------------------------
 
Uso:    $0 on  --> Establecer túnel
 
        $0 off  --> Liberar túnel
 
"
 
if [ "$#" -ne 1 ]; then
 
    echo "$usage" 1>&2
 
    exit
 
fi
 
 
TUNSRVIPADDR=`host $TUNSRV | grep address | awk '{printf $4}'`
 
 
establecer_tunel() {
 
 
  ROUTER=`ip route list | grep default | awk '{printf $3; exit}'`
 
  IF=`ip route list | grep default | awk '{printf $5; exit}'`
 
  IPADDR=`ip addr show dev $IF | grep "inet " | awk '{print substr ($2, 1, length($2)-3)}'`
 
  echo "Connecting to DIT with PPTP (router=$ROUTER,if=$IF,ipaddr=$IPADDR)..."
 
 
  cp /etc/resolv.conf /etc/resolv.conf.orig.DIT
 
 
  pon $TUNNAME
 
  sleep 2
 
  if [ $? -eq 0 ]
 
  then
 
    echo "ip route replace $TUNSRVIPADDR via $ROUTER dev $IF src $IPADDR"
 
    ip route replace $TUNSRVIPADDR via $ROUTER dev $IF src $IPADDR
 
    sleep 2
 
    echo "ip route replace default dev ppp0"
 
    ip route replace default dev ppp0
 
    echo "done"
 
  else
 
    echo "error"
 
    exit 1
 
  fi
 
}
 
 
liberar_tunel() {
 
 
  IF=`ip route list | grep "^$TUNSRVIPADDR" | awk '{printf $5; exit}'`
 
  ROUTER=`ip route list | grep "^$TUNSRVIPADDR" | awk '{printf $3; exit}'`
 
  IPADDR=`ip addr show dev $IF | grep "inet " | awk '{print substr ($2, 1, length($2)-3)}'`
 
  echo "Disconnecting from DIT (if=$IF,router=$ROUTER,ipaddr=$IPADDR)..."
 
 
  poff $TUNNAME
 
  if [ $? -eq 0 ]
 
  then
 
    echo "ip route del $TUNSRVIPADDR via $ROUTER dev $IF src $IPADDR"
 
    ip route del $TUNSRVIPADDR via $ROUTER dev $IF src $IPADDR
 
    echo "ip route replace default via $ROUTER dev $IF"
 
    ip route replace default via $ROUTER dev $IF
 
    mv /etc/resolv.conf.orig.DIT /etc/resolv.conf
 
    echo "done"
 
  else
 
    exit 1
 
  fi
 
}
 
 
# Main
 
 
case $1 in
 
    on)
 
      establecer_tunel
 
      ;;
 
    off)
 
      liberar_tunel
 
      ;;
 
    *)
 
      echo "$usage" 1>&2
 
      exit 1
 
      ;;
 
esac
 
</pre>
 
 
== Ubuntu 7.04 (Feisty Fawn) ==
 
 
Ver http://pptpclient.sourceforge.net/howto-ubuntu.phtml.
 
 
== Referencias ==
 
 
* http://pptpclient.sourceforge.net/howto-ubuntu.phtml
 

Revisión de 15:49 21 jun 2012




Navegación
Herramientas personales