web-dev-qa-db-fra.com

OpenWrt - Comment rediriger tous les sous-domaines d'un nom d'hôte, du même hôte, de sorte qu'il puisse être inversé proxé?

J'ai une configuration de routeur OpenWrt, 192.168.1.1, avec domaine de recherche, local (par opposition à la valeur par défaut lan).

J'ai une configuration de serveur, 192.168.1.200, avec nom d'hôte, server.local.

J'ai un poste de travail, 192.168.1.10, avec nom d'hôte, workstation.local.

server.local exploite également un proxy inverse Nginx, afin de fournir des sous-domaines tels que: sub.server.local.

Si mon poste de travail tente d'accéder, server.local, il est résolu correctement de pointer sur 192.168.1.200.

Cependant, si mon poste de travail tente d'accéder, sub.server.local, il ne peut pas résoudre à 192.168.1.200.

Si mon poste de travail a 192.168.1.200 sub.server.local, ajouté à son fichier d'héberges, il est résolu correctement, et le proxy inverseur des serveurs achemine la connexion entrante au port correct.

Comment puis-je résoudre ce problème, de sorte que tous les sous-domaines de server.local résolvement à 192.168.1.200? Sans avoir à ajouter un enregistrement d'hôtes à chaque poste de travail, pour chaque sous-domaine sur le serveur, ce qui n'est évidemment pas durable.

Je suppose que je dois modifier certains enregistrements DNS sur mon routeur OpenWrt, mais que vous regardez à travers les paramètres de LUCI (l'interface Web), rien ne tient à être capable de l'atteindre.

Des idées?

1
Jack_Hu

Je l'ai trié finalement.

Selon:

https://openwrt.org/docs/guide-user/base-system/dhcp_configuration#a_and_aaaa_rr

Quels États:

Ceci est une implémentation de l'option --Address. Retour 10.10.10.1 Sur le domaine de la requête Home and Subdomain * .Home.

J'ai pu me connecter à OpenWrt (en utilisant ssh [email protected]) et courir:

uci add_list dhcp.@dnsmasq[0].address="/server.local/192.168.1.200"
uci commit dhcp
/etc/init.d/dnsmasq restart

Qui permet ensuite de travailler comme suit:

~$ ping www.server.local

PING www.server.local (192.168.1.200) 56(84) bytes of data.
64 bytes from server.local (192.168.1.200): icmp_seq=1 ttl=63 time=55.4 ms
64 bytes from server.local (192.168.1.200): icmp_seq=2 ttl=63 time=77.3 ms

Et autre chose d'autre pour cette affaire:

~$ ping hdsjdjk.server.local

PING hdsjdjk.server.local (192.168.1.200) 56(84) bytes of data.
64 bytes from server.local (192.168.1.200): icmp_seq=1 ttl=63 time=101 ms
64 bytes from server.local (192.168.1.200): icmp_seq=2 ttl=63 time=124 ms

Si je comprends bien, cela crée un enregistrement dans DNSMASQ, qui inclut automatiquement tous les sous-domaines.

Les changements peuvent être vus dans /etc/config/dhcp, qui regarde maintenant (partiellement) comme:

config dnsmasq
        [...]
        option domain 'local'
        option local '/local/'
        list address '/server.local/192.168.1.200'

[...]

Espérons que cela aide quelqu'un d'autre à l'avenir!

1
Jack_Hu