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

De DIT-CDC

(Instalación)
(Instalación)
Línea 65: Línea 65:
 
=== Instalación ===
 
=== Instalación ===
  
Existe un [http://www.nabble.com/hangs-after-%22Cannot-determine-ethernet-address-for-proxy-ARP%22-t2726677.html fallo conocido] en Ubuntu 6.10 que impide que funcionen correctamente los túneles.  
+
Existe un [http://www.nabble.com/hangs-after-%22Cannot-determine-ethernet-address-for-proxy-ARP%22-t2726677.html fallo conocido] en Ubuntu 6.10 que impide que funcionen correctamente los túneles de la misma forma que lo hacen en 6.06.  
  
 
Para solucionarlo hay que:
 
Para solucionarlo hay que:
Línea 121: Línea 121:
 
<li>pon-dit:</li>
 
<li>pon-dit:</li>
  
#!/bin/bash
+
<pre>
ROUTER=`route -n | grep "^0.0.0.0" | awk '{printf $2}'`
+
#!/bin/bash
echo "ROUTER=$ROUTER"
+
 
sleep 10
+
TUNSRV="rpv.dit.upm.es"
pon DIT
+
TUNSRVIPADDR=`host $TUNSRV | grep address | awk '{printf $4}'`
echo route add -host 138.4.5.200/32 gw $ROUTER
+
ROUTER=`route -n | grep "^0.0.0.0" | awk '{printf $2; exit}'`
route add -host 138.4.5.200/32 gw $ROUTER
+
IF=`route -n | grep "^0.0.0.0" | awk '{printf $8; exit}'`
sleep 5
+
IPADDR=`ifconfig $IF | grep "inet addr" | awk '{printf substr($2,6);exit}'`
echo route add -net  138.4.0.0/16 gw 138.4.5.199
+
echo "Connecting to DIT with PPTP (router=$ROUTER,if=$IF,ipaddr=$IPADDR)..."
route add -net  138.4.0.0/16 gw 138.4.5.199
+
 
 +
cp /etc/resolv.conf /etc/resolv.conf.orig.DIT
 +
 
 +
pon DIT
 +
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
 +
</pre>
  
 
<li>poff-dit:</li>
 
<li>poff-dit:</li>
  
#!/bin/bash
+
<pre>
ROUTER=`route -n | grep "^0.0.0.0" | awk '{printf $2}'`
+
#!/bin/bash
poff DIT
+
TUNSRV="rpv.dit.upm.es"
route delete -host 138.4.5.200/32 gw $ROUTER
+
TUNSRVIPADDR=`host $TUNSRV | grep address | awk '{printf $4}'`
#route delete -net  138.4.0.0/16 gw 138.4.5.199
+
IF=`route -n | grep "^$TUNSRVIPADDR" | awk '{printf $8; exit}'`
 +
ROUTER=`route -n | grep "^$TUNSRVIPADDR" | awk '{printf $2; exit}'`
 +
IPADDR=`ifconfig $IF | grep "inet addr" | awk '{printf substr($2,6);}'`
 +
echo "Disconnecting from DIT (if=$IF,router=$ROUTER,ipaddr=$IPADDR)..."
 +
 
 +
poff DIT
 +
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
 +
</pre>
  
 
</ul>
 
</ul>

Revisión de 01:35 1 abr 2007

Configuración de túneles PPTP en Ubuntu


Ubuntu 6.06 (Dapper Drake)

Instalación

Procedimiento para configurar el acceso PPTP al DIT sobre un Ubuntu 6.06:

  • Instalar pptp-linux
  • apt-get install pptp-linux
    
  • Instalar pptpconfig
    1. Añadir la fuente de pptpconfig a /etc/apt/sources.list:
    2. echo -e '\n# PPTP GUI\ndeb http://quozl.netrek.org/pptp/pptpconfig ./' >> /etc/apt/sources.list
      
    3. Añadir el repositorio "universe" si no está disponible ya. Para ello, descomentar la línea siguiente en /etc/apt/sources.list:
    4. deb http://es.archive.ubuntu.com/ubuntu/ edgy universe
      
    5. actualizar:
    6. apt-get update
      
    7. instalar PPTP Client GUI:
    8. apt-get install pptpconfig
      
  • Arrancar pptpconfig:
  • pptpconfig
    
  • Configurar una conexión con los parámetros siguientes:
  •  Solapa Server:
     Name: DIT
     Server: rpv.dit.upm.es
     Domain:
     Username: fulanito
     Password: clavedefulanito
    
     Solapa Encryption:
     Seleccionar "Require Microsoft Point-to-Point (MPPE)"
    
  • Pulsar el botón "Add" para grabar la configuración.

Establecimiento/liberación del tunel

El establecimiento y liberación del túnel se realiza 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".

Ubuntu 6.10 (Edgy Eft)

Instalación

Existe un fallo conocido en Ubuntu 6.10 que impide que funcionen correctamente los túneles de la misma forma que lo hacen en 6.06.

Para solucionarlo hay que:

  • Bajarse una versión anterior de ppp (2.4.3) desde aquí
  • Instalarla mediante:
dpkg -i ppp_2.4.3-20050321+2ubuntu1.1_i386.deb

A partir de aquí en procedimiento es:

  • Instalar pptp-linux
  • apt-get install pptp-linux
    
  • Instalar pptpconfig
    1. Añadir la fuente de pptpconfig a /etc/apt/sources.list:
    2.  echo -e '\n# PPTP GUI\ndeb http://quozl.netrek.org/pptp/pptpconfig ./' >> /etc/apt/sources.list
      
    3. actualizar:
    4.      apt-get update
      
    5. instalar PPTP Client GUI:
    6.      apt-get install pptpconfig
      
  • Arrancar pptpconfig:
  •  > pptpconfig
    
  • Configurar una conexión con los parámetros siguientes:
  •  Solapa Server:
     Name: DIT
     Server: rpv.dit.upm.es
     Domain:
     Username: fulanito
     Password: clavedefulanito
    
     Solapa Encryption:
     Seleccionar "Require Microsoft Point-to-Point (MPPE)"
    
  • Pulsar el botón "Add" y salir del programa (Nota: por los fallos mencionados de ppp en Ubuntu 6.10, no se puede arrancar y parar los túneles desde pptpconfig.
  • Crear dos scripts llamados "pon-dit" y "poff-dit" con el contenido siguiente:
    • pon-dit:
    • #!/bin/bash
      
      TUNSRV="rpv.dit.upm.es"
      TUNSRVIPADDR=`host $TUNSRV | grep address | awk '{printf $4}'`
      ROUTER=`route -n | grep "^0.0.0.0" | awk '{printf $2; exit}'`
      IF=`route -n | grep "^0.0.0.0" | awk '{printf $8; exit}'`
      IPADDR=`ifconfig $IF | grep "inet addr" | awk '{printf substr($2,6);exit}'`
      echo "Connecting to DIT with PPTP (router=$ROUTER,if=$IF,ipaddr=$IPADDR)..."
      
      cp /etc/resolv.conf /etc/resolv.conf.orig.DIT
      
      pon DIT
      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
      
    • poff-dit:
    • #!/bin/bash
      TUNSRV="rpv.dit.upm.es"
      TUNSRVIPADDR=`host $TUNSRV | grep address | awk '{printf $4}'`
      IF=`route -n | grep "^$TUNSRVIPADDR" | awk '{printf $8; exit}'`
      ROUTER=`route -n | grep "^$TUNSRVIPADDR" | awk '{printf $2; exit}'`
      IPADDR=`ifconfig $IF | grep "inet addr" | awk '{printf substr($2,6);}'`
      echo "Disconnecting from DIT (if=$IF,router=$ROUTER,ipaddr=$IPADDR)..."
      
      poff DIT 
      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
      
  • Dar permisos de ejecución a los scripts:
  •  chmod +x pon-dit poff-dit
    

    Establecimiento/liberación del tunel

Referencias




Navegación
Enlaces externos
Herramientas personales