Antes que nada, si no tienes el cliente pptp tienes que instalarlo o configurar la conexión PPP a mano o de otra forma, en Debian Squeeze puedes instalar el paquete pptp-linux.
A continuación, esta es la manera fácil para configurar tu conexión VPN PPTP:
pptpsetup --create MYVPN --server myvpnserver --username myvpnuser --password mypassword
Tienes que sustituir myvpnserver, myvpnuser y mypassword por el servidor VPN, el usuario y contraseña respectivamente; MYVPN es el nombre de la configuración PPP que crearás y es escogido por ti.
Después de esto tendrás un nuevo archivo de configuración en /etc/ppp/peers y también una línea extra en /etc/ppp/chap-secrets:
olimpo:~# cat /etc/ppp/peers/MYVPN # written by pptpsetup pty "pptp myvpnserver --nolaunchpppd" lock noauth nobsdcomp nodeflate name myvpnuser remotename MYVPN ipparam MYVPN olimpo:~# cat /etc/ppp/chap-secrets # Secrets for authentication using CHAP # client server secret IP addresses # added by pptpsetup for MYVPN myvpnuser MYVPN "mypassword" *
Si quieres configurar el demonio pppd a mano, tienes que crear un archivo en /etc/ppp/peers y agregar la información de autenticación en /etc/ppp/chap-secrets y debería ser lo mismo.
Ahora puedes abrir la conexión PPP lanzando el demonio pppd:
olimpo:~# pppd call MYVPN updetach Using interface ppp0 Connect: ppp0 <--> /dev/pts/3 CHAP authentication succeeded local IP address 10.5.15.222 remote IP address 10.5.15.127 olimpo:~# tail --lines=16 /var/log/syslog Jan 25 13:04:12 olimpo pppd[29036]: pppd 2.4.5 started by root, uid 0 Jan 25 13:04:12 olimpo pppd[29036]: Using interface ppp0 Jan 25 13:04:12 olimpo pppd[29036]: Connect: ppp0 <--> /dev/pts/3 Jan 25 13:04:13 olimpo pptp[29037]: anon log[main:pptp.c:314]: The synchronous pptp option is NOT activated Jan 25 13:04:13 olimpo pptp[29041]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 1 'Start-Control-Connection-Request' Jan 25 13:04:13 olimpo pptp[29041]: anon log[ctrlp_disp:pptp_ctrl.c:739]: Received Start Control Connection Reply Jan 25 13:04:13 olimpo pptp[29041]: anon log[ctrlp_disp:pptp_ctrl.c:773]: Client connection established. Jan 25 13:04:14 olimpo NetworkManager[1919]: SCPlugin-Ifupdown: devices added (path: /sys/devices/virtual/net/ppp0, iface: ppp0) Jan 25 13:04:14 olimpo NetworkManager[1919]: SCPlugin-Ifupdown: device added (path: /sys/devices/virtual/net/ppp0, iface: ppp0): no ifupdown configuration found. Jan 25 13:04:14 olimpo pptp[29041]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 7 'Outgoing-Call-Request' Jan 25 13:04:14 olimpo pptp[29041]: anon log[ctrlp_disp:pptp_ctrl.c:858]: Received Outgoing Call Reply. Jan 25 13:04:14 olimpo pptp[29041]: anon log[ctrlp_disp:pptp_ctrl.c:897]: Outgoing call established (call ID 0, peer's call ID 8918). Jan 25 13:04:14 olimpo modem-manager: (net/ppp0): could not get port's parent device Jan 25 13:04:17 olimpo pppd[29036]: CHAP authentication succeeded Jan 25 13:04:17 olimpo pppd[29036]: local IP address 10.5.15.222 Jan 25 13:04:17 olimpo pppd[29036]: remote IP address 10.5.15.127 olimpo:~# ifconfig ppp0 ppp0 Link encap:Point-to-Point Protocol inet addr:10.5.15.222 P-t-P:10.5.15.127 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:7 errors:0 dropped:0 overruns:0 frame:0 TX packets:7 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:99 (99.0 B) TX bytes:93 (93.0 B) olimpo:~# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.5.15.127 * 255.255.255.255 UH 0 0 0 ppp0 static.customer 10.123.46.1 255.255.255.255 UGH 0 0 0 br0 10.123.46.0 * 255.255.255.0 U 0 0 0 br0 default 10.123.46.1 0.0.0.0 UG 0 0 0 br0
Eso es, tienes una conexión VPN abierta a tu servidor VPN! O está casi terminado, ya que tenemos un problema de ruteo.
olimpo:~# ping 10.5.15.123 PING 10.5.15.123 (10.5.15.123) 56(84) bytes of data. ^C --- 10.5.15.123 ping statistics --- 7 packets transmitted, 0 received, 100% packet loss, time 6047ms olimpo:~# traceroute 10.5.15.123 traceroute to 10.5.15.123 (10.5.15.123), 30 hops max, 60 byte packets 1 10.123.81.4 (10.123.81.4) 0.407 ms 0.429 ms 0.492 ms 2 10.123.148.1 (10.123.148.1) 0.313 ms 0.352 ms 0.345 ms 3 * * * 4 * * * 5 * * * 6 *^C
Como podrás observar en la información de ruteo, no hay ruta a la red VPN desde tu computadora Linux. Puedes agregarle defaultroute al comando pppd, pero de esta forma tendrás conectividad SOLO a la red VPN; para ponerlo simple: es como si estuvieras directamente conectado a la otra red. Si tenías acceso a internet y no hay forma de accesar internet en la red VPN entonces no tendrás acceso a internet, o si tenías acceso a otras redes después de usar pppd con defaultroute no tendrás más acceso a ellas.
Y de hecho esa es la forma en que una VPN supuestamente debe trabajar. Por ejemplo, si tu computadora tiene un troyano y ese programa está diseñado específicamente para tu organización, y conectas tu computadora a la red VPN y aún tienes acceso a internet, entonces ese troyano puede robar información y enviarla a alguien más fácilmente. O podrías pensar que dejar tu conexión VPN abierta y tu computadora accesible desde internet podría ser útil para compartir tu conexión VPN; de esta manera estás creando un hoyo de seguridad en la red VPN por lo que sé cuidadoso y hazlo sólo si realmente necesitas hacerlo.
Por lo tanto, si necesitas mantener conectividad a otras redes y no quieres agregar defaultroute al comando pppd, tienes que crear la ruta a mano. En este caso, queremos accesar la red VPN 10.5.15.0/24, por lo tanto escribiremos este comando route:
olimpo:~# route add -net 10.5.15.0 netmask 255.255.255.0 dev ppp0
Como puedes ver en la información de route y traceroute, esta vez puedes alcanzar el servidor de ejemplo (10.5.15.123) a través del gateway PPP (10.5.15.127):
olimpo:~# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.5.15.127 * 255.255.255.255 UH 0 0 0 ppp0 static.customer 10.123.46.1 255.255.255.255 UGH 0 0 0 br0 10.123.46.0 * 255.255.255.0 U 0 0 0 br0 10.5.15.0 * 255.255.255.0 U 0 0 0 ppp0 default 10.123.46.1 0.0.0.0 UG 0 0 0 br0 olimpo:~# traceroute 10.5.15.123 traceroute to 10.5.15.123 (10.5.15.123), 30 hops max, 60 byte packets 1 10.5.15.127 (10.5.15.127) 163.061 ms 163.027 ms 163.010 ms 2 10.5.15.123 (10.5.15.123) 174.981 ms 174.967 ms 174.954 ms
Finalmente, para terminar tu conexión PPP puedes finalizar el demonio pppd (apropiadamente); puedes hacer esto obteniendo el PID del demonio pppd y lanzando un comando kill:
olimpo:~# ps ax|grep pppd 10094 pts/1 S+ 0:00 grep pppd 29037 pts/1 S 0:00 pptp myvpnserver --nolaunchpppd 29041 pts/1 S 0:00 pptp myvpnserver --nolaunchpppd 29044 pts/1 S 0:00 pppd call MYVPN updetach olimpo:~# cat /var/run/ppp0.pid 29044 olimpo:~/bin# kill -TERM 29044 olimpo:~/bin# tail --lines=11 /var/log/syslog Jan 25 15:06:43 olimpo pppd[29044]: Terminating on signal 15 Jan 25 15:06:43 olimpo pppd[29044]: Modem hangup Jan 25 15:06:43 olimpo pppd[29044]: Connect time 122.5 minutes. Jan 25 15:06:43 olimpo pppd[29044]: Sent 1140 bytes, received 1056 bytes. Jan 25 15:06:43 olimpo pptp[29041]: anon log[callmgr_main:pptp_callmgr.c:258]: Closing connection (shutdown) Jan 25 15:06:43 olimpo pptp[29041]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 12 'Call-Clear-Request' Jan 25 15:06:43 olimpo pptp[29041]: anon log[call_callback:pptp_callmgr.c:79]: Closing connection (call state) Jan 25 15:06:44 olimpo pppd[29044]: Connection terminated. Jan 25 15:06:44 olimpo avahi-daemon[1488]: Withdrawing workstation service for ppp0. Jan 25 15:06:44 olimpo NetworkManager[1919]: SCPlugin-Ifupdown: devices removed (path: /sys/devices/virtual/net/ppp0, iface: ppp0) Jan 25 15:06:49 olimpo pppd[29044]: Exit. olimpo:~# ps ax|grep pppd 11587 pts/1 S+ 0:00 grep pppd
Más información:
The Point-to-Point Protocol
No hay comentarios.:
Publicar un comentario