Acabo de responder una pregunta sobre cómo hacer esto con DNSmasq en ServerFault (no en Windows, obviamente, pero en un enrutador que ejecuta DD-WRT / OpenWRT es factible)
quack quixote
XP SP2 incluyó una castración del archivo host: securityfocus.com/archive/1/431032/30/0/threaded. Se supone que la razón es que las personas lo usaban para bloquear anuncios mientras navegaban. Hasta donde sé, esta es una suposición. Microsoft nunca ha revelado por qué hicieron esto y por qué lo están llevando a todo desde entonces. Si puede colocar un servidor proxy entre su PC e Internet, puede poner un bloque para lo que desea.
bvaughn
Respuestas:
61
No hay. El archivo de hosts no es muy inteligente, debe enumerar cada subdominio individualmente (incluidos www y no-www)
Básicamente, este programa Acrylic funciona como un proxy DNS para su máquina local. Simplemente apunte su Conexión de área local a 127.0.0.1, luego edite AcrylicHosts.txt de una manera muy similar al archivo de hosts regular, ¡solo con comodines!
El acrílico funciona muy bien, pero puede confundirte si intentas acceder a una máquina con una dirección IP dinámica. Tengo máquinas conectadas a mi red doméstica y utilizo un dns dinámico para configurar la ip para el nombre de dominio. Utilizo Acrylic en mi computadora portátil y estuve fuera por unos días, mientras tanto mi ip cambió, pero Acrylic recordó que era la ip anterior, y no pude acceder al sitio. Pero ejecutar el programa "Purgar datos de caché de acrílico" se hizo cargo del problema.
leeand00
Desafortunadamente, el acrílico no admite alias DNS, lo que lo hace inútil para mí.
Spero
11
Dnsmasq es lo que necesita, pero no funciona bastante bien en Windows. Entonces escribí una alternativa en Windows llamada DNSAgent .
Puedes usar expresiones regulares en las reglas. También hay algunas características avanzadas como la personalización de caché TTL, servidor DNS de puerto no estándar, mutación de puntero de compresión, etc. Fuente abierta bajo licencia MIT.
primero, estoy de acuerdo con phoshi en que no es posible hacer lo que quieres en el archivo hosts de windows (ni en unix).
En segundo lugar, debe obtener el control sobre el resultado de una solicitud a dns. una opción es usar su propia resolución de dns en su enrutador (dnsmasq, dnscache + tinydns, bind, lo que sea, ver el comentario de quack) y ajustarlo o usar un dns-resolver en las ventanas que puede controlar como desee.
vea aquí para obtener una lista de dns-resolvers, verifique la columna "comodín", quizás powerdns o maradns o posadis es algo que se ajusta a sus necesidades.
Dada la última oración, supongo www.example.comque no está bloqueada por la primera línea, sino solo al agregar 127.0.0.1 example.com.
Arjan
99
moonfern, no estoy de acuerdo con tu lista. 127.0.0.1 somesite.com NO bloqueará todas las solicitudes de DNS salientes que terminen en somesite.com, lo único que bloqueará es somesite.com , no www.somesite.com o subdominio.somesite.com o similares.
1
Definitivamente ese no es el caso en Windows, moonfern.
Owen Blacker
-3
Si desea bloquear cada subdominio en somedomain.com, considere si omite "*". lograrás lo que quieres.
"Considerar si ..." es bastante ambiguo. ¿Qué, exactamente, me recomiendan como solución?
Fixer1234
Por favor lea la pregunta otra vez cuidadosamente. Su respuesta no responde a la pregunta original.
DavidPostill
1
Fixer1234 - No sé cuál es el problema que el afiche desea resolver, mientras preguntan como si el comodín explícito lo solucionara. "Considerar si ..." sugiere algo que podría funcionar. Es fácil de probar y requiere pocos caracteres. Sé que funciona en algunos casos. Como no tengo suficiente contexto para entender el problema, no puedo recomendar una solución. David Postill: creo que mi respuesta responde y es pertinente a la pregunta original. Pero tal vez su propia respuesta funcione mejor.
Respuestas:
No hay. El archivo de hosts no es muy inteligente, debe enumerar cada subdominio individualmente (incluidos www y no-www)
fuente
Una respuesta a una pregunta muy similar de StackOverflow funcionó bien para mí.
Básicamente, este programa Acrylic funciona como un proxy DNS para su máquina local. Simplemente apunte su Conexión de área local a 127.0.0.1, luego edite AcrylicHosts.txt de una manera muy similar al archivo de hosts regular, ¡solo con comodines!
fuente
Dnsmasq es lo que necesita, pero no funciona bastante bien en Windows. Entonces escribí una alternativa en Windows llamada DNSAgent .
Puedes usar expresiones regulares en las reglas. También hay algunas características avanzadas como la personalización de caché TTL, servidor DNS de puerto no estándar, mutación de puntero de compresión, etc. Fuente abierta bajo licencia MIT.
fuente
primero, estoy de acuerdo con phoshi en que no es posible hacer lo que quieres en el archivo hosts de windows (ni en unix).
En segundo lugar, debe obtener el control sobre el resultado de una solicitud a dns. una opción es usar su propia resolución de dns en su enrutador (dnsmasq, dnscache + tinydns, bind, lo que sea, ver el comentario de quack) y ajustarlo o usar un dns-resolver en las ventanas que puede controlar como desee.
vea aquí para obtener una lista de dns-resolvers, verifique la columna "comodín", quizás powerdns o maradns o posadis es algo que se ajusta a sus necesidades.
fuente
Es otra sintaxis: xxx.xxx.xxx.xxx somedomain.com
Algunos ejemplos para explicarlo:
Bloquea / lidera todas las URL de segundo (tercer, cuarto ...) nivel con la url de nivel superior (segundo, tercero ...) en el archivo de hosts.
fuente
www.example.com
que no está bloqueada por la primera línea, sino solo al agregar127.0.0.1 example.com
.Si desea bloquear cada subdominio en somedomain.com, considere si omite "*". lograrás lo que quieres.
Editando tu ejemplo:
fuente