PPTP detrás de Proxy

AdjuntoTamaño
Image icon tpología.png26.89 KB
Plain text icon CAPTURA.txt2.41 KB

Tema: 

Hola a todos,

Tengo problemas con los clientes VPN que funcionancon el protocolo PPTP y estan en Windows XP los mismos que estan detrás de un Servidor Proxy (Centos 5.3) la topología esta como adjunta, el problema consiste que los clientes no pueden conectarse cuando implementa el proxy en la red, además de se un servidor proxy es un servidor DHCP y Firewall, este servidor recibe dinamicamente su IP (privada) en su interfaz WAN por medio de un ADSL del proveedor de Internet, y este servidor asigna IPs dinamicamente a toda la LAN.

El problema parece que se necesita una configuración adicional al servidor proxy o al Firewall o definir alguna ruta o algun Nateo de las Ips privadas ya que se realizó una prueba poniendo una IP pública en la interfaz WAN del proxy, y solo de esa manera se consigue la conexión de los clientes VPN, pero esa no es la idea ya que el proveedor de internet asigna una Ip privada para la conexión de Internet. Los archivos de configuración del proxy y las iptables son los siguientes:

Configuración:

FIREWALL

-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
-A PREROUTING -s 10.0.0.128/255.255.255.128 -p tcp -m tcp --dport 1863 -j DROP
-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
-A PREROUTING -s 10.0.0.128/255.255.255.128 -i eth0 -p tcp -m tcp --dport 1863 -j DROP
-A POSTROUTING -o eth1 -j MASQUERADE
-A POSTROUTING -o eth1 -p tcp -m tcp --dport 53 -j MASQUERADE
-A POSTROUTING -o eth1 -p udp -m udp --dport 53 -j MASQUERADE
-A POSTROUTING -o eth1 -j MASQUERADE

Proxy

http_port 3128 transparent
icp_port 0
cache_mem 32 MB
cache_dir ufs /var/spool/squid 15000 16 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
pid_filename /var/run/squid.pid
acl all src 0.0.0.0/0.0.0.0

# Red Interna
#acl redinterna src 10.0.0.0/24
acl sitios_denegados url_regex "/etc/squid/denegados"
acl chat_messenger url_regex "/etc/squid/messenger"
acl usuarios_permitidos src "/etc/squid/permitidos"
acl usuarios_bloqueados src "/etc/squid/bloqueados"

# Bloqueo gateway.dll MSN and Port
acl msn_url url_regex -i gateway.dll
acl msn_port port 1863
acl msn_method method POST
acl CONNECT method CONNECT

# Bloqueo Tamaño Descargas
reply_body_max_size 100000000 allow usuarios_bloqueados

# Bloqueo sitios Denegados
# Bloqueo el url contenga gateway.dll Port and Tunneling
http_access allow usuarios_permitidos sitios_denegados
http_access deny usuarios_bloqueados sitios_denegados
http_access deny usuarios_bloqueados chat_messenger
http_access deny msn_method msn_url
http_access deny msn_port
http_access deny CONNECT msn_port
#http_access allow usuarios-permitidos sitios_denegados
#http_access allow redinterna
http_access allow all
icp_access deny all
miss_access allow all
cache_effective_user squid
cache_effective_group squid
visible_hostname serverproxy
snmp_port 0

GRACIAS por su tiempo

Comentarios

Cita: se realizó una prueba

Imagen de deathUser

[quote]se realizó una prueba poniendo una IP pública en la interfaz WAN del proxy, y solo de esa manera se consigue la conexión de los clientes VPN, pero esa no es la idea ya que el proveedor de internet asigna una Ip privada para la conexión de Internet[/quote]

Esta parte no la entiendo, trata de explicarte mejor, que pruebas fueron las que hicieron y como accesas al IP privado del proveedor desde los clientes PPTP ...???

bye
;)

Deberías tener algo como: ###

Imagen de deathUser

Deberías tener algo como:


### Allow PPTP control connections from WAN
iptables -t nat -A prerouting_rule -i $WAN -p tcp --dport 1723 -j ACCEPT
iptables -A input_rule -i $WAN -p tcp --dport 1723 -j ACCEPT
### Allow GRE protocol (used by PPTP data stream)
iptables -A output_rule -p 47 -j ACCEPT
iptables -A input_rule -p 47 -j ACCEPT

Para dejar pasar el tráfico necesario para PPTP protocolo 47 (GRE) y el puerto 1723 para PPTP no se si TCP y UDP, creo que solo TCP.

bye
;)

Aclaración de la Prueba hecha

La prueba consistio en los siguiente:

En una de las dos tarjetas de red del servidor Proxy se configuró una Ip pública por la cual se tiene acceso al Internet, y la otra tarjeta tiene una IP privada de la LAN, con esta configuración los Clientes VPN si tienen conexión. La diferencia es que no se va ha contar con una IP publica sino uan IP privada en la interfaz WAN del servidor para salir al internet, esta dirección privada es asignada por un modem ADSL del proveedor de Internet, es decir que el servidor proxy tendría una IP privada en las dos tarjetas tanto para la WAN como par ala LAN por supuesto direccónes de red diferentes de este modo no es posible la conexión de los Clientes VPN, por ello se necesitaría algo adicional en la configuración del servidor.

Espero este más claro esta parte.

Gracias por su tiempo

Saludos

Tal parece que tienes un NAT

Imagen de deathUser

Tal parece que tienes un NAT (el del CentOS) detrás de otro NAT (El del ADSL), de esa manera no creo que vaya a ser posible que los clientes PPTP puedan conectarse, ya que los paquetes tienen distintos encabezados (from - to) y van a ser descartados por el servidor PPTP, conecta un snnifer y mira que dicen los paquetes rechazados, seguramente te da más pistas.

bye
;)

Hola DeathUserPues si tienes

Hola DeathUser

Pues si tienes razón los clientes pptp están detrás del CentOS en la LAN y el servidor pptp en el Internet.
Hice unas pruebas haciendo telnet a la IP del servidor pptp con el puerto 1723 y fue exitoso.

Estuve escuchando la interfaz del servidor proxy y se da la autenticación del cliente pptp pero no se completa la conexión te adjunto la captura que realice el momento del intento de conexión por parte del cliente pptp.

Gracias por tu tiempo.

Mira, el problema seguramente

Imagen de deathUser

Mira, el problema seguramente es el doble NAT al que estás sometiendo a la conexión ...

En general, el GW que hace el NAT, modifica las cabeceras de los paquetes para poder hacer el NAT y esto hace que el servidor rechaze los paquetes, ya que vienen con las cabeceras cambiadas, esto hace que a pesar de que pase la autenticación no se complete la conexión, esto se puede arreglar, siempre y cuando el GW sepa que está NATEANDO una conexión PPTP, lo que nunca he hecho es pasar por dos NATs y la verdad no se si sea posible.

Suerte ...

bye
;)