Internet con proxy



  • hola nuevamente

    La ayuda que esta ves necesito es la siguiente…

    Soy el administrador de red de una facultad en mi universidad, y para conectarme a internet necesitamos un proxy, mediante el cual tenemos que autenticarnos con usuario y contraseña, ahora bien, necesito que alguien me ayude en configurar el proxy a mi pfsense si es que se puede, para de esta forama poder descargar los paquetes que estan disponible para el pfsense.....
    Por favor si alguien tiene la respuesta a mi interrogante, le estaria muy agradecido de que me ayude...
    Saludos



  • Es facil simplemente tienes que ir a system/packages y buscas squid y lo instalas. Luego aparecera en services y desde ahi es muy facil de configurar , para las versiones 1.2 o menor debes editar el archivo /boot/loader.conf para poder usar multiples conexiones del procesador para mejorar la velocidad de cache y descarga suerte…



  • hola cgca16182009

    Muchas gracias por lo que me explicas, pero ahora me surge la duda, me estas diciendo como configurar mi pfsense como proxy???

    Porque si es asi, no es eso lo que quiero, te explico mejor…Mi pfsense esta detras de un proxy y las maquinas de mi facultad detras del pfsense, y las PCs tienes que configurar la conexion a internet por el proxy general del instituto de lo contrario no pueden navegar por internet, y como mi pfsense no tiene eso configurado se me hace imposible conectarme a internet...espero que me entiendas y que me puedas ayudar....bueno un abrazo y muchas gracias de antemano



  • Hola wichy24.

    Que servicios son los que vas a proporcionar con el pfsense?

    Saludos!!!



  • Hola Periko

    Mira mi hermano…. mi actual pfsense está funcionando como puerta de enlace de 3 subredes distintas, DHCP de cada subred y como Firewall, ahora bien lo que quiero es poder conectar mi pfsense a internet para descargar los paquetes que necesite, pero para ello tengo que pasar por un proxy y es eso lo que no tengo configurado, es decir que lo que quiero es que mi pfsense se conecte a internet pasando por el proxy, eso es lo que quiero, pero no se si se pueda hacer, definirle el proxy por el cual se conectará....Saludos y muchas gracias



  • hola  :)

    entiendo lo siguiente:

    lan 1–------!----------!
                     !              !
    lan 2--------! pfsense   !---(wan)--------- proxy --------  INTERNET
                     !              !
    lan 3--------!----------!

    1..  de ser asi pues es el proxy a quien debes configurar, no al pfsense, habilitando una red mas en el pfsense que se le llame wan conectada a tu proxy asignas una ip a tu wan o la obtienes por dhcp, luego en las reglas del proxy habilitas el paso a internet de dicho equipo.

    2.. otra opcion es que crees reglas que permitan el libre paso de los paquetes de las diferentes lans por el pfsense hacia el proxy y tambien del proxy a las lans (el pfsense como bridge) y luego las politicas del proxy se aplicaran a los usuarios de cada lan sin que el pfsense intervenga, si el proxy es transparente no tendras que habilitar mas nada, pero si el proxy no es transparente entonces tendras que configurar el navegador o las opciones de internet para que use el proxy para salir a internet, a menos que tus equipos pertenezcan a un dominio en donde podrias establecer un script en el servidor de dominio para que configure el proxy en cada usuario.



  • hola sanchezluys

    la configuracion que tengo es exactamente como me lo dices, pero que pasa, yo atiendo solo un area, no tengo acceso al proxy, cada ves que he necesitado descargar algun paquete se me ha permitido el acceso a internet, dandole libre acceso a la ip de mi wan en el proxy, es decir que no tenga que pasar por el, en mi area los usuario configuran su navegador con el proxy del cual te hablo y asi pueden navegar por internet, pero eso es lo que no he podido hacer en el pfsense, entiendo lo que me explicas pero no pedo hacer la 2da variante que me das por problemas de seguridad…si conoces alguna otra via hazmela saber.....Gracias y Saludos



  • A ver con freebsd cuando esta detras de un proxy lo que hago es darle de alta la configuracion de mi proxy en el archivo .cshrc

    setenv  HTTP_PROXY "http://192.168.1.2:3128"
    setenv  HTTP_PROXY_AUTH "basic:*:Username:Password"

    Un reiniciada de mi sesion y listo:

    bacula# env
    USER=root
    LOGNAME=root
    HOME=/root
    MAIL=/var/mail/root
    PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:/root/bin
    TERM=xterm
    BLOCKSIZE=K
    FTP_PASSIVE_MODE=YES
    SHELL=/bin/tcsh
    SSH_CLIENT=192.168.2.71 1632 22
    SSH_CONNECTION=192.168.2.71 1632 192.168.1.220 22
    SSH_TTY=/dev/ttyp0
    HOSTTYPE=FreeBSD
    VENDOR=intel
    OSTYPE=FreeBSD
    MACHTYPE=i386
    SHLVL=1
    PWD=/root
    GROUP=wheel
    HOST=bacula.midominio.com
    REMOTEHOST=192.168.2.71
    EDITOR=ee
    PAGER=less
    HTTP_PROXY=http://192.168.1.2:3128
    HTTP_PROXY_AUTH=basic:*:usuario:password

    Con esto verifico que ya tengo mis variables listas, ahora ya puedo salir a Internet para actualizar mi server, lo ultimo seria saber si a nivel del firewall por donde sales no tiene bloqueados los puertos, en mi caso tambien lo hago y necesito abrir el puerto 5999 TCP para mi server.

    Estoy hablando de un server freebsd, mas no he tenido esta situacion con pfsense ya que nunca he estado detras de un proxy como tu caso, pero dentro del root ahi tienes los archivos .cshrh y .shrc trata de poner los datos de tu proxy.

    Si no lleva autentificacion solo usas la primera linea.

    Saludos!!!



  • hola periko

    Gracias por la explicacion que me das, estuve fuera algun tiempo y por eso no habia respondido, creo que eso me debe funcionar pero no he podido entrar al archivo que me dices, cuando intento me dice que no tengo permisos y sin embargo entro con usuairo de admin…saludos



  • Hola, raro eee.

    Yo entro atraves de ssh con root y si aparecen los archivos involucrados:

    ls -la

    total 34
    drwxr-xr-x  3 root  wheel    512 Jun 22 22:50 .
    drwxr-xr-x  19 root  wheel    512 Jun  5 20:40 ..
    -rw-r–r--  1 root  wheel    793 Apr 22 12:04 .cshrc
    -rw-r--r--  1 root  wheel      0 May  6 19:53 .first_time
    -rw-r--r--  1 root  wheel      0 Apr 22 12:36 .hushlogin
    -rw-r--r--  1 root  wheel    299 Apr 22 12:04 .login
    -rw-r--r--  1 root  wheel      0 May  6 19:53 .part_mount
    -rw-r--r--  1 root  wheel    21 Apr 22 12:36 .profile
    -rw-r--r--  1 root  wheel    22 Apr 22 12:36 .shrc
    drwx------  2 root  wheel    512 Jun 22 22:50 .ssh
    -rw-r--r--  1 root  wheel      1 May  6 19:53 .tcshrc
    -rw-r--r--  1 root  wheel    363 Jun 24 20:00 check_reload_status.log

    Saludos  y animo ;D



  • Logré entrar al fichero q' me dIces por SSH y usando el editor de textos agregué las líneas q' me diste y reinicie pero cdo puse el comando env pa' verificar no me salió la config del proxy, es decir todo estaba igual q' antes de poner las líneas q' me dijiste.

    Chao



  • trata esto:

    setenv HTTP_PROXY "http://192.168.1.2:3128"

    Con autenticacion

    setenv HTTP_PROXY_AUTH "basic:*:tu-usuario:tu-password"

    Nos avisas!!!



  • hola periko
    mi hermano ya he puesto esas lineas en el fichero .cshrc y no me funciona, dime si es solamente ahi donde tengo q ponerlo o es en otro lado…saludos



  • Mira voy a tener que probarlo y ver como me va. Ya me pusistes a dudar!!!



  • Ya para terminar esto, leyendo en el foro gabacho, al parecer aun no se puede hacer que pfsense pueda bajar paquetes atraves de un proxy.

    Hay varios post referentes a esto.

    No habia checado esto hasta que me puse a buscar en los otros foros, es un propuesta que muchos usuarios han hecho a el equipo detras de pfsense.

    Si alquien por aqui ha hecho esto funcionar adelante, saludos  ;D



  • ¡Hola!

    ¿ Probasteis lo que dije en http://forum.pfsense.org/index.php/topic,17287.msg89796.html#msg89796 ?

    Miré en mi pfSense y parece que el archivo de configuración de la shell que carga es .tcshrc y no .cshrc , tal como puse en el post.

    Saludos,

    Josep Pujadas



  • hola

    Ok Maestro hare la prueba a ver si eso me funciona espero que asi sea pues me resolveria un gran problema, aun no lo he probado pero cuando lo haga le haré saber….Gracias por todo



  • Hola

    Lo siento mucho señores pero sigo aun con la problematica, he hecho todo lo que uds me han explicado y aun no logro el resultado que quiero…saludos



  • ¡Hola de nuevo!

    ¿ Probasteis lo que dije en http://forum.pfsense.org/index.php/topic,17287.msg89796.html#msg89796 ?

    ¿Hasta dónde funciona o no funciona?

    Saludos,

    Josep Pujadas



  • Hola
    Eso que me pones ya lo probe y empezando no me reconoce el comando "export" y aun asi lo puse en el fichero .tcshrc y no me funciono…Slaudos



  • ¡Hola!

    Debe emplearse setenv en lugar de export y set.

    Ya corregí mi post:

    http://forum.pfsense.org/index.php/topic,17287.msg89796.html#msg89796

    Prueba de nuevo y díme si funcionó.

    Me colé y dije la sintaxis para sh pero en pfSense están empleando csh y/o tcsh.

    Una buena página sobre variables de entorno: https://www.ccs.uky.edu/docs/cluster/env.html

    Saludos,

    Josep Pujadas



  • Hola a todos,

    Yo me he visto en la misma situación para una máquina virtual de pruebas ubicada en una red sin acceso directo a internet. La diferencia es que mi proxy no requiere autenticación. Por si alguien sigue interesado en el tema, dejo aquí mi experiencia.

    Hay un detalle importante a tener en cuenta y es que el sistema de paquetes de la webgui no utiliza la consola o, digamos, una sesión interactiva que deba cargar un fichero de inicio de sesión. Por esto, incluir las variables de entorno en el fichero de inicio de csh o tcsh no tiene efecto sobre el sistema de paquetes integrado. (En cualquier caso, si se desea, es conveniente usar los "setenv" en /etc/csh.cshrc que es el fichero de inicio de sesión en csh global del sistema).

    Desde la consola, con las variables de entorno establecidas, intenté instalar paquetes con pkg_add, pero resultó bastante ingenuo e infructuoso… ni rastro de los archivos de configuración en la webgui.

    Finalmente he revisado los mecanismos que usa PfSense para conectar a servidores externos en todas las funciones relacionadas con el sistema de paquetes integrado y he conseguido hacerlo funcionar detrás de un proxy http.

    Los ajustes a realizar son los siguientes...

    • Dado que PfSense comunica con un servidor XMLRPC ubicado en pfsense.org usando la clase PHP XML_RPC_Client de PEAR es posible configurar el acceso mediante un proxy HTTP rellenando las variables indicadas en /etc/inc/xmlrpc_client.inc. Un extracto de la ayuda oficial:
    $proxy =  ''
    
    The name of the proxy server to use, if any
    
    Type:   	string
    
    $proxy_pass =  ''
    
    A password for accessing the proxy server
    
    Type:   	string
    
    $proxy_port =  8080
    
    The port for connecting to the proxy server
    
    The default is 8080 for http:// connections and 443 for https:// and ssl:// connections.
    
    Type:   	integer
    
    $proxy_protocol =  'http://'
    
    The protocol to use in contacting the proxy server, if any
    
    Type:   	string
    
    $proxy_user =  ''
    
    A user name for accessing the proxy server
    
    Type:   	string
    
    
    • Aún habiendo cumplimentado correctamente las variables continúa fallando e informando de la imposibilidad de contactar con el servidor de pfsense.org. Esto es debido a que el software intenta traducir www.pfsense.org a IP mediante gethostbyname() y, si esto falla, aborta directamente.

    Como, estando detrás de un proxy HTTP, no tenemos acceso a un DNS que resuelva esta dirección podemos comentar esta sección de código en la función call_pfsense_method() de /etc/inc/pfsense-utils.inc (Que es llamada desde /etc/inc/pkg-utils.inc en get_pkg_info() para invocar a "pfsense.get_pkgs"):

    
    if($ip == "www.pfsense.com")
    		return false;
    
    
    • Con todo esto el gestor de paquetes muestra el listado de packages disponibles y permite lanzar la instalación, pero en todos los casos falla sin mostrar ningún progreso e inmediatamente.

    Para solventar esto es necesario modificar el fichero /etc/inc/pkg-utils.inc insertando la línea que añadirá la opción de configuración de proxy para CURL en download_file_with_progress_bar(). Añadimos esto entre las líneas que definen los parámetros (tal y como lo pondríamos en la variable de entorno del sistema $HTTP_PROXY):

    curl_setopt($ch, CURLOPT_PROXY, "http://aaa.bbb.ccc.ddd:pppp");
    

    Y, ahora sí, funciona completamente tanto el listado de paquetes disponibles como la descarga e instalación integradas en la webgui de PfSense.

    En caso de necesitar user y password para atravesar el proxy hay variables a establecer en xmlrpc_client.inc y podemos añadir otra línea de parámetro CURLOPT en pkg-utils.inc. Un ejemplo de configuración completa CURL para atravesar un proxy:

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'http://www.example.com');
    curl_setopt($ch, CURLOPT_HEADER, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
    curl_setopt($ch, CURLOPT_PROXY, 'fakeproxy.com:1080');
    curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'user:password');
    $data = curl_exec();
    curl_close($ch);
     ?> 
    

    No he podido probar la configuración con autenticación, pero creo que es bastante probable que funcione correctamente.

    Por lo demás… pues no es una solución elegante, supongo que sería más interesante usar alguna variable global controlable desde la webgui y almacenar la pareja IP:PUERTO en una variable global y usarla allí donde sea necesario... pero ni xmlrpc_client.inc ni pfsense-utils.inc importan globals.inc.

    Saludos!!



  • Hola TDL
    He seguido al pie de la letras las orientaciones que das en tu post, pero creme, no he tenido ningun resultado, yo uso la version 1.2.2, tendra eso algo que ver??, aunque tambien probe con la 1.2.3. Mi proxy necesita de autenticacion, dime si necesitas mas datos….
    Saludos



  • @wichy24:

    Hola TDL
    He seguido al pie de la letras las orientaciones que das en tu post, pero creme, no he tenido ningun resultado, yo uso la version 1.2.2, tendra eso algo que ver??, aunque tambien probe con la 1.2.3. Mi proxy necesita de autenticacion, dime si necesitas mas datos….
    Saludos

    Hola,

    En qué punto estás, no se ve nada de nada? Yo lo primero que haría es comentar la comprobación de gethostbyname…

    /* COMENTANDO POR USO DE PROXY
    *if($ip == "www.pfsense.com")
    *        return false;
    */
    

    Luego probaría la configuración de XMLRPC con proxy. Al haber comentado la comprobación anterior debería aparecer el listado de paquetes en cuanto la configuración sea correcta.

    var $proxy = 'ip_proxy';
    var $proxy_protocol = 'http://';
    var $proxy_port = puerto_de_conexion;
    var $proxy_user = 'loquesea';
    var $proxy_pass = 'loquesea';

    Si no te aparece la lista de paquetes algo debe estar mal… quizás tu dpto. de sistemas corporativo pueda revisar errores de conexión para tu usuario en el proxy. Es posible que la autenticación no sea básica...

    Saludos!



  • Hola TDL

    Lo tengo como me lo dijistes pero decirte quiero que no me funciona, tratare de ver si es un problema del proxy que no tiene mi ip autorizado pero si no es asi no se que sera entonces, no he tenido ningun resultado, es decir que no se me muestran ni los paquetes..Saludos



  • Hola gente…
    Necesito que alguien me diga por cual puerto se conecta el pfsense para descargar los paquetes, pues el proxy tienes bloqueados todos los puertos, menos el 80, 443 y 8080...Saludos


Log in to reply