Hola a todos,
Espero me puedan ayudar un poco por favor, les explico trato de crear un tunel VPN usando un servidor linux en este caso CentOS, aqui les pondre todos los comandos que he usado, he tratado de todo si se conecta al server pero una vez conectado solo da conectividad local y no internet.
En esta caso lo que yo deseo hacer es que mi VPN sera como mi intermediario osea seria algo asi:
PC ===> Internet ===> VPN (server) ===>Web ===> VPN (Server) ===>Internet ===> PC
lo que yo deseo es usar mi red pero la del servidor VPN para conectarme al internet, en este caso usar la IP del VPN y no la que mi ISP me asigna.
Software usado para el VPN: PPTPD PPP
Comandos Usados:
Instalar PPP:
yum install ppp
Descargar PPTPD:
wget poptop.sourceforge.net/yum/stable/rhel5/x86_64/pptpd-1.3.4-1.rhel5.1.x86_64.rpm
Instalar PPTPD:
rpm -ivh pptpd-1.3.4-1.rhel5.1.x86_64.rpm
Cambiar configuracion del PPTPD:
nano /etc/pptpd.conf
Ahora aqui viene la parte en donde me confundo un poco me pide una localIP y una remoteIP en este caso si fuera para una red interna me imagino que seria esas que estan puestas pero si lo que uno quiere hacer es un servidor VPN para internet general me imagino que iria la IP que se le asigno a ese server verdad? digamos que la IP es la 65.65.65.1 y esa es la IP del server que tienes esa IP podria ir en la localIP pero en la remoteIP que iria? yo he puesto la misma IP en los 2 casos.
localip 10.0.0.1
remoteip 10.0.0.10-100
Ahora en el siguiente archivo modificamos las opciones del PPTPD:
nano /etc/ppp/options.pptpd
Aqui pondremos las DNS a la cual se conectara el cliente en mi caso estoy utilizando las DNS de OpenDNS:
ms-dns 208.67.222.222
ms-dns 208.67.220.220
Ahora en este archivo pondremos lo username y password:
nano /etc/ppp/chap-secrets
Aqui se le asingan los username y password de las cuentas:
# Secrets for authentication using CHAP
# client server secret IP addresses
username pptpd password *
username2 pptpd password2 *
Perfecto hasta ahi todo muy bien, la instalacion esta hecha, todo perfecto ningun problema ni error. Ahora vamos a la parte de la configuracion de las IPTables:
nano etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A INPUT -i eth0 -p tcp --dport 1723 -j ACCEPT
iptables -A INPUT -i eth0 -p gre -j ACCEPT
Estas se suponen que son para que todo el trafico de internet fluya atraves del VPN:
iptables -A FORWARD -i ppp+ -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o ppp+ -j ACCEPT
Ahora iniciamos el servidor PPTPD:
service pptpd start
Ok en esta parte se supone que deberiamos conectarnos desde cualquier equipo ya sea linux o windows, con un username y password y acceder al internet atraves del VPN, y si asi es haciendo todo esto logro conectarme con el username y password al server pero puff me sale solo conexion local y automaticamente solo me quedo con conexion local y no con internet.
La verdad puede ser talvez alguna parte de las IPTables que este mal configurada o no, adicionalmente vi en un sitio web que usando este comando podria acceder:
iptables -A INPUT -i eth0 -s 10.0.0.0/24 -j ACCEPT
iptables -A FORWARD -i eth0 -s 10.0.0.0/24 -j ACCEPT
los puse y los guarde, ahora aqui viene la parte en la que no se si hice bien o no!. Yo creo que al poner esas IP's solo puse mi server acepte las conexiones de esas IP, para mi que fue ese mi error y debia haber puesto que acepte todas las IP's ya que la cuestion es que desde cualquier equipo te puedas conectar..
Bueno espero me puedan ayudar.
Saludos