Могу ли я заставить dnsmasq отбрасывать / отклонять / перенаправлять любые запросы адреса, кроме одного?

Думаю, я понимаю, какой угол зрения вы ищете.

Мой опыт - Ubuntu, но релизы дистрибутивов, основанные на релизах, как правило фиксируют приложения на определенной версии. То есть, если после релиза выходит новая версия Gedit или OpenOffice, то она не попадает в репозитории.

Вместо этого старые версии поддерживаются в течение периода времени, установленного дистрибутивом. В течение этого времени исправляются ошибки, мешающие игре, и проблемы безопасности, но очень редко выпускаются обновления функций.

Из этого есть исключения. Например, Firefox больше не поддерживает свою собственную "стабильную" версию. Последняя версия - это единственное, что поддерживает Mozilla, а обратный перенос исправлений безопасности становится очень сложным в таком большом приложении, поэтому Ubuntu держит своих пользователей на последней версии Firefox. Другие вещи иногда имеют обоснование безопасности. У Ubuntu есть страница Обновления стабильного выпуска политики для исключений.

И наоборот, rolling-release дистрибутивы могут поставлять либо последнюю стабильную версию, либо последнюю dev, либо некий гибрид этих двух версий. Для всех дистрибутивов правила нет.

1
22.07.2018, 16:00
2 ответа

¡Claro! Redirigir todas las resoluciones de nombres a una dirección con el comando:

address=/#/10.0.0.101

Esa es la entrada requerida en el archivo /etc/dnsmasq.conf. Lo cual recomiendo usar ya que hará cumplir dicha configuración si el servidor se reinicia por algún motivo.

En la línea de comando, la opción se llama:

-A, --address=/<domain>[/<domain>...]/[<ipaddr>]  

A continuación se incluye una copia del manual de dnsmasq para address=.

Sin embargo, aunque parezca razonable establecer-i vlan(en la interfaz esperada que se utilizará )y-a 10.6.66.1(en la dirección en la que se espera que dnsmasq escuche la resolución de DNS ). ¡No hagas eso!.

Permita que dnsmasq se vincule en modo comodín a todas y cada una de las direcciones del servidor en el puerto 53. De esa manera, dnsmasq responderá cualquier solicitud al servidor sobre la resolución de DNS.

The three modes are "wildcard", "bind-interfaces" and "bind-dynamic".
In "wildcard" mode, dnsmasq binds the wildcard IP address (0.0.0.0 or ::). This allows it to receive all the packets sent to the server on the relevant port. Access control (--interface, --except-interface, --listen-address, etc) is implemented by dnsmasq: it queries the kernel to determine the interface on which a packet was received and the address to which it was sent, and applies the configured rules. Wildcard mode is the default if neither of the other modes are specified.

Use el puerto 53 (ya que los clientes externos lo esperarán por defecto):

port=53   # It is set to be 53 by default, not really needed.

Apague (y no permita )tantoavahi-dnscomosystemd.resolved

Asegúrese de que ningún otro programa/servicio esté escuchando en los puertos 53 o 5353.

$ netstat -pantu | grep ':53'

Establezca también esta opción para hacer cumplir que los nombres comomylocaldomain(sin puntos )se resuelvan con un error (NXDOMAIN )por el resolutor de DNS dnsmasq y que (algunas resoluciones de nombre )no se resuelvan. reenviado a cualquier otro servidor:

# Never forward plain names (without a dot or domain part)
domain-needed
# Never forward addresses in the non-routed address spaces.
bogus-priv

Asegúrese de que no se utilice ningún servidor establecido en /etc/resolv.conf:

no-resolv
no-poll

Todo lo anterior configurará el lado DNS de dnsmasq para resolver todos los dominios en una sola dirección. Todavía es posible agregar cualquier otro nombre para resolver otras direcciones necesarias incluyéndolo en el archivo /etc/hosts, como

127.0.0.1
10.0.3.101   linum

Esta última dirección debe ser la dirección del servidor web -para la encuesta.
La dirección inicial arriba (10.0.0.101 )debería ser la página de error que explica qué hacer para acceder a la página de la encuesta.

Pero eso no es todo. También debe configurar el servidor DHCP para proporcionar una opción de servidor de nombres con la dirección del sistema de resolución de DNS dnsmasq (y no usar la opción número 5, está obsoleta (y debería haberlo estado durante más de 20 años)):

dhcp-option=6,10.0.0.101

Además de todas las demás configuraciones necesarias para la parte DHCP de dnsmasq.

Eso permitirá que una computadora (tableta o teléfono también )obtenga una dirección DHCP dada con un servidor DNS definido. Todas las computadoras que cumplan con el protocolo seguirán dichas opciones configuradas y no podrán resolver ninguna otra dirección.

Sin embargo, también es posible que un dispositivo intente acceder directamente a un número de IP (sin resolución de DNS solicitada ). Eso debe evitarse utilizando la configuración de IPFilter en el enrutador que sirve a la red local.


Deman dnsmasq:

-A, --address=/[/...]/[]
Specify an IP address to return for any host in the given domains. Queries in the domains are never forwarded and always replied to with the specified IP address which may be IPv4 or IPv6. To give both IPv4 and IPv6 addresses for a domain, use repeated -A flags. To include multiple IP addresses for a single query, use --addn- hosts= instead. Note that /etc/hosts and DHCP leases override this for individual names. A common use of this is to redirect the entire doubleclick.net domain to some friendly local web server to avoid banner ads. The domain specification works in the same was as for --server, with the additional facility that /#/ matches any domain. Thus --address=/#/1.2.3.4 will always return 1.2.3.4 for any query not answered from /etc/hosts or DHCP and not sent to an upstream nameserver by a more specific --server directive. As for --server, one or more domains with no address returns a no-such-domain answer, so --address=/example.com/ is equivalent to --server=/example.com/ and returns NXDOMAIN for example.com and all its subdomains.

Lea también:

Agregar entradas de DNS falsificadas
Vincular configuración para resolver todas las consultas a una sola dirección

3
27.01.2020, 23:18

Primero, me centraría en que la solución funcione normalmente con el cliente escribiendo una URL de nombre simple como http ://lime para facilitar la depuración.

Como es posible que no necesite proporcionar acceso a Internet, es posible que no necesite implementar por completo un portal cautivo, ya que eventualmente responderá cualquier respuesta de DNS que proporcione apuntará a su página, con dnsmasq.

Entonces, la forma más fácil es en su servidor web, para crear el host virtual deseado y el conector de escucha predeterminado (*)que redirige cualquier solicitud a ese host virtual.

Sin embargo, y es un gran sin embargo, los dispositivos Android e iOS son un poco inflexibles en obtener acceso a algunas URL para pensar que están conectados . No obstante, colocaría esas URL en su sitio y listo.

2
27.01.2020, 23:18

Теги

Похожие вопросы