¿Cómo crear un punto de acceso wifi en Windows 7 + redirección a una página web local?

¿Cómo crear un punto de acceso wifi en Windows 7 + redirección a una página web local?

Antes de profundizar en la pregunta, algunos antecedentes rápidos:
he creado un pequeño experimento que funciona junto con una computadora con Windows 7. En esta computadora, hay un pequeño servidor web que sirve una página web que se actualiza continuamente con información de estado proveniente del experimento. Ahora, este experimento se mostrará en algunos eventos (imagínese MakerFaire,...) y me encantaría que la gente pudiera usar sus teléfonos inteligentes (o portátiles) para mostrar directamente esta página web con la menor configuración posible.

Básicamente lo que estoy tratando de lograr es:

  1. Crear un punto de acceso Wifiusando el adaptador wifi incorporado en la computadoraa qué personas pueden conectarse (abierto o protegido con contraseña)

  2. Interceptar y redirigir solicitudes DNS y/o HTTP para que la página web del experimento se muestre cuando abran un navegador (como un portal cautivo).

Hasta ahora he podido lograr el punto 1 utilizando la función Red alojada de Windows 7, que funciona muy bien para la parte Wifi AP. Sin embargo, estoy atascado cuando se trata de modificar las respuestas DHCP para proporcionar un servidor DNS personalizado que a su vez reenviará todo el tráfico a mi servidor web: ¿hay alguna forma de hacerlo?

Algunas limitaciones que tengo (de lo contrario, sería demasiado fácil ;-)):

  • Estoy atascado con Windows 7 (¡sé que con Linux el problema se habría resuelto hace mucho tiempo!)
  • El ordenador es una máquina independiente, es decir, no tiene acceso a otras redes ni a Internet.¡Lo que también significa que no hay enrutador ni ningún otro dispositivo externo!

¡Alguna ayuda o sugerencia será muy apreciada!

Respuesta1

  1. Obtener MaraDNS

MaraDNS es un servidor DNS gratuito, liviano y relativamente fácil de configurar para Windows y Linux. Descárgalo desde aquí y descomprímelo en alguna carpeta.

  1. Configurar MaraDNS

Abra "secret.txt" y cambie el valor a otra cosa (caracteres aleatorios).

La configuración de MaraDNS está en el archivo “mararc” en el mismo directorio. Los servidores DNS tienen dos conjuntos de funciones. Pueden funcionar como un “servidor de nombres autorizado” o un “servidor de nombres recursivo/almacenado en caché”.

Los servidores de nombres autorizados especifican direcciones IP para nombres de dominio. Los servidores de nombres recursivos almacenan información de servidores de nombres autorizados y transmiten consultas de forma recursiva.

Configuraremos la funcionalidad autoritativa y recursiva en MaraDNS.

2.1 Configuración autorizada

Configuraremos el servidor para proporcionar nombres autorizados de los nombres de dominio de LAN. Elija cualquier dominio, yo elegí “local.com” (tenga en cuenta que no podrá acceder al sitio web real “local.com” si elige un nombre de dominio existente).

Agregue líneas de configuración a "mararc" como estas:

csv2 = {}
csv2["local.com."] = "db.lan.txt"

Donde local.com es el nombre de dominio que eligió y db.lan.txt es el nombre del segundo archivo de configuración que crearemos a continuación (cámbielo si desea nombrar el segundo archivo de configuración).

Cree un nuevo archivo llamado "db.lan.txt" en el mismo directorio que MaraDNS.

Para cada una de las computadoras que desea resolver con un nombre, agregue una línea a "db.lan.txt". Por ejemplo, para dos máquinas, una “dev.local.com” y la otra “blog.local.com”, agregue las siguientes líneas:

dev.%       192.168.1.4 ~
blog.%        192.168.1.6 ~

¡Hecho!

2.2 Configuración recursiva

Configuraremos MaraDNS para que solicite a sus servidores de nombres predeterminados todos los demás dominios para que pueda resolver todos los demás nombres de dominio en sus direcciones IP correctas.

Descubra las direcciones del servidor DNS de su ISP. Es probable que aparezcan en la página de estado del enrutador o verificando los detalles en su adaptador de red.

Ahora agregue los servidores DNS de su ISP como servidores ascendentes en “mararc”:

upstream_servers = {}
upstream_servers["."] = "xxx.xxx.xxx.xxx, yyy.yyy.yyy.yyy"

Donde xxx.xxx.xxx.xxx y yyy.yyy.yyy.yyy son los servidores DNS de su ISP.

¡Hecho!

  1. Ejecute MaraDNS y pruébelo usando Askmara.exe

Haga doble clic en "runmara.bat" y deje el servidor en ejecución.

Abra un símbolo del sistema, navegue hasta el directorio MaraDNS e intente ejecutar:

askmara.exe Agoogle.com.

y

askmara.exe Ablog.local.com.

Deberías recibir respuestas como esta:

# Querying the server with the IP 127.0.0.1
# Question: Agoogle.com.
google.com. +300 a 74.125.67.100
google.com. +300 a 74.125.53.100
google.com. +300 a 74.125.45.100
# NS replies:
# AR replies:

y:

# Querying the server with the IP 127.0.0.1
# Question: Ablog.local.com.
blog.local.com. +86400 a 192.168.1.6
# NS replies:
#local.com. +86400 ns synth-ip-7f000001.local.com.
# AR replies:
#synth-ip-7f000001.local.com. +86400 a 127.0.0.1

Si tiene problemas con la primera consulta, estropeó la configuración de DNS recursiva (¿son correctas las direcciones del servidor DNS de su ISP?), y si recibe un error con la segunda consulta, estropeó la configuración autoritativa.

  1. Cambia MaraDNS para responder consultas desde tu LAN

Cierre la ventana de MaraDNS y cambie las dos primeras líneas de "mararc" a algo como:

ipv4_bind_addresses = "192.168.1.2
recursive_acl = "192.168.1.0/24"

Donde 192.168.1.2 es la dirección IP de la computadora en la que se ejecutará el servidor y la parte "192.168.1" de recursive_acl es la misma que en su red (podría ser 192.168.0.0/24).

Inicie MaraDNS nuevamente y déjelo funcionando.

  1. Configure su enrutador para entregar su nuevo servidor DNS

Abra la interfaz web de su enrutador y busque la configuración del servidor DHCP. Debería haber una opción para configurar un servidor DNS. Escriba la dirección IP de la computadora en la que se ejecutará el servidor DNS.

Para cada una de sus computadoras, desconecte la red (por ejemplo, deshabilitándola y habilitándola en Windows, o usando “ifconfig eth0 down”/”ifconfig eth0 up” en Linux).

Eso es todo, ahora debería poder referirse a sus computadoras LAN por sus nombres de dominio.

Fuente

información relacionada