Ocultar la IP en la página de autentificación del portal cautivo
-
Entiendo esto es tarea facil amigo!! solo debes hacer uso del pequeño dns que trae pfsense con la herramienta "dnsforwarder", si bien deseas puedes tener un pequeño tutorial del maestro bellera al inicio del forum en el apartado "Documentacion" donde hace una breve explicacion de uso de esta herramienta. A groso modos solo debes asignarle un nombre de dominio ficticio a tu red local para luego con el dns de pfsense hacer resoluciones de nombres por ip de alli el acceso a equipos de tu red (ap,routers,maquinas clientes,incluyendo tu pfsense) seria por medio de nombres en vez de la ip asignada. Para esto tener en cuenta muy importante la forma en que realizas la asignacion de las ip (estaticas o dinamicas) para no cometer errores en la configuracion de dnsforwader. Espero hay aclarado un poco tu panorama en cuanto a tu problema. Saludos
Saludos!! que bueno saber que has podido hacerlo. Te recomiendo para un mejor rendimiento y quizas nuevos servicios que agregaran valor a tu red servicios el uso de squid en equipo aparte que ademas si no es muy grande tu red podria usar en el mismo un buen servidor web con tu web local personalizada y sirviendo la informacion detallada a tus clientes sobre los acceso denegados, especifiaciones de tus servicios, publicidad, entre otro sin fin de herramientas que te brindaria esto.
Perfecto, gracias. Probe una configuración y no dio resultado, algo esta mal. Por ejemplo mi duda es, cuándo la red te redirecciona al portal cautivo, automáticamente envía a http://ip:8000 (como configuro en el forwarder.
-
Si la resolución DNS está correcta, esto se puede hacer:
1. Poniendo el portal cautivo en modo https e indicando el nombre del equipo
https://forum.pfsense.org/index.php/topic,54897.msg293626.html#msg293626
HTTPS login Enable HTTPS login If enabled, the username and password will be transmitted over an HTTPS connection to protect against eavesdroppers. A server name, certificate and matching private key must also be specified below. HTTPS server name This name will be used in the form action for the HTTPS POST and should match the Common Name (CN) in your certificate (otherwise, the client browser will most likely display a security warning). Make sure captive portal clients can resolve this name in DNS and verify on the client that the IP resolves to the correct interface IP on pfSense.
Nótese que emplear https implica tener certificados SSL. Pueden emitirse con pfSense pero luego el usuario tiene que instalarlos a mano. Si son de entidades certificadoras (incluidas en los navegadores) los usuarios no tienen que instalarlos pero cuestan dinero.
2. Alterando el código de pfSense si no de desea el portal cautivo en modo https
https://forum.pfsense.org/index.php/topic,53846.msg312502.html#msg312502
Captive Portal FQDN (Full Qualified Domain Name)
-
-
El post que te dí es de hace un año y, evidentemente, el código que aparece es viejo…
Lo importante es lo que te dicen, que tienes que hacer que $ourhostname tome el valor que te interese.
Yo diría que con la 2.1 esto se puede reducir a que en /etc/inc/captiveportal.inc la función quede como:
function portal_hostname_from_client_ip($cliip) { $ourhostname = "portal.midominio.dom:8000"; return $ourhostname; }
Guarda antes el código original en lugar seguro.
-
Funciono perfecto. Muchas gracias por su ayuda.
Sólo edite lo mencionado por bellera, en PfSense 2.1.
-
anunez excelente podrias poner algunas capturas????
-
Buenas disculpen que reviva esto.. pero no me qedo claro donde pegar el codigo que copio el señor bellera.. lo pegue en un lugar y eche todo a perder, logre recuperar todo pero estoy interesado en ocultar el ip.
Si me pueden ayudar seria de gran ayuda…
;D ;D ;D
-
Con la 2.1 esto se puede reducir a que en /etc/inc/captiveportal.inc la función quede como:
function portal_hostname_from_client_ip($cliip) { $ourhostname = "portal.midominio.dom:8000"; return $ourhostname; }
Guarda antes el código original en lugar seguro.
La conclusión fue esta.
-
:D :D :D :D :D :D :D :D :D :D :D
un millon de gracias mi error estaba en qe debia reemplazar todo este codigo:
function portal_hostname_from_client_ip($cliip) {
global $config, $cpzone;
$ourhostname = "Toronquey-wireless.fycs.com:8000";$cpcfg = $config['captiveportal'][$cpzone];
if (isset($cpcfg['httpslogin'])) {
$listenporthttps = $cpcfg['listenporthttps'] ? $cpcfg['listenporthttps'] : ($cpcfg['zoneid'] + 1);
$ourhostname = $cpcfg['httpsname'];if ($listenporthttps != 443)
$ourhostname .= ":" . $listenporthttps;
} else {
$listenporthttp = $cpcfg['listenporthttp'] ? $cpcfg['listenporthttp'] : $cpcfg['zoneid'];
$ifip = portal_ip_from_client_ip($cliip);
if (!$ifip)
$ourhostname = "{$config['system']['hostname']}.{$config['system']['domain']}";
else
$ourhostname = (is_ipaddrv6($ifip)) ? "[{$ifip}]" : "{$ifip}";if ($listenporthttp != 80)
$ourhostname .= ":" . $listenporthttp;
}return $ourhostname;
por este otro:
function portal_hostname_from_client_ip($cliip) {
$ourhostname = "portal.midominio.dom:8000";
return $ourhostname;
}
y cambiar el portal.midominio.dom por el editado en el dns forwared..
un millon de gracias
-
Perfecto!!! Como siempre el maestro bellera aportando sus conocimientos. Igualmente si editar de esta manera los archivos de configuracion pfsense esto se puede hacer en modo web admin de pfsense. Solo debes configurar primeramente el pfsense con tu dominio ficticio por ejemplo si el dominio es "casita.com" y tu pfsense se llama "server" este quedaria "server.casita.com" luego en dnsfordwarder configura en la lista de resolucion el host "server.casita.com "–---con----->> "Ip de tu pfsense" normalmente si usas portal cautivo de pfsense a este se accede tecleando " ip del pfsense por el puerto 8000" en nombre quedaria "server.casita.com:8000". Esto funcionaria si tienes la web de pfsense admin en http o https. Saludos!!
-
Buenas tardes, como quedaría el código si tenemos ( mi caso) dos tarjetas cada una con su portal cautivo:
Ejemplo:
192.168.1.1: mired.wifi.net:8000, Funciona bien
192.168.2.1: mired.wifi.net:8002, no funciona con el codigo de a bajoCódigo_:
function portal_hostname_from_client_ip($cliip) {
$ourhostname = "mired.wifi.net:8000";
$ourhostname = "mired.wifi.net:8002";return $ourhostname;
Gracias de antemano
-
Pues deja la función tal como viene en el código original, para no complicarte, y antes de la línea del return pon:
$ourhostname = "portal.midominio.dom:" . $listenporthttp; return $ourhostname; }
-
Muchisimas gracias Sr. bellera, me funciono perfecto.
Saludos.-
-
Buenas tardes
Me intereso bastante este tema, con la ultima versión de pfsense como se podria lograr esto de ocultar la ip del portal cautivo?
Saludos
-
si se puede compañero yo lo realice con el DNS Forwarder hay que habilitar este servicio y en fondo de la pagina crear un Host Overrides
ingresando el nombre que le tienes puesto al pfsense mayormente es local. xxxx.net
y en la parte del portal cautivo el hhtps e ingresar igual el dominio
espero que te sirva si no te dejo mi correo krizavila@hotmail.com
-
El ultimo comentario en el hilo.
« Reply #18 on: 23-02-2014, 18:05:36 »El comentario que preguntaba algo nuevo, desvirtuando el tema:
« Reply #19 on: 29-01-2017, 17:03:30 »Pero bueno, muchas gracias por el comentario :)