Alle Subdomains zu einer IP in der Hosts-Datei?

8

Ich habe eine VirtualBox-VM, die nur mit Host-Netzwerken ausgeführt wird. Auf dieser VM wird Apache ausgeführt, und ich möchte eine Reihe von namenbasierten virtuellen Hosts einrichten, auf die über den Webbrowser auf dem Hostcomputer zugegriffen werden kann.

Die Sache ist, jedes Mal, wenn ich eine neue Subdomain für einen virtuellen Host hinzufüge, muss ich sie der Hosts-Datei hinzufügen. Im Moment habe ich so etwas:

192.168.56.3 vm site1.vm site2.vm site3.vm site4.vm ...

Ich möchte den gleichen Effekt erzielen

192.168.56.3 vm *.vm

Ich weiß, dass * nicht als Platzhalter in einer Hosts-Datei funktioniert. Gibt es eine andere Möglichkeit, das gewünschte Ergebnis zu erzielen, wenn kein tatsächlicher DNS-Server ausgeführt wird? Sollte ich es einfach aufsaugen und weiterhin manuell zu meiner Hosts-Datei hinzufügen?

Apreche
quelle

Antworten:

8

Es gibt keine Wildcard-Methode, um dies zu tun. Sie müssen entweder einen DNS-Server implementieren oder weiterhin Einträge zu Ihrer Hosts-Datei hinzufügen.

Wenn Sie mit der Installation eines DNS - Server gehen Sie, dass Sie nicht installieren müssen bind- Sie eine einfache Caching DNS - Server wie installieren können totd, dnsmasqoder maradns.

Unabhängig davon, was Sie tun, müssen Sie sicherstellen, dass resolv.confder neue DNS-Server enthalten ist und der folgende Eintrag dort angezeigt werden muss (in diesem Beispiel ist der DNS-Server auf localhost installiert) ...

nameserver 127.0.0.1
Xerxes
quelle
Das ist etwas Interessantes. Gegenwärtig scheint dies die richtige Antwort zu sein, daher werde ich sie als solche markieren. Es löst mein Problem jedoch nicht wirklich, vielleicht weil es nicht lösbar ist. Nur etwas zum Nachdenken.
Apreche
Noch ein Hinweis. Ich konnte dnsmasq verwenden, um diese Arbeit zu machen. Unter Ubuntu musste ich jedoch die DHCP-Client-Konfiguration des Host-Computers ändern, um der resolv.conf 127.0.0.1 voranzustellen.
Apreche
Ja - resolv.conf ist die einzige Möglichkeit, DNS-Server zu definieren. Ich werde dies dem Beitrag hinzufügen, um es zu vervollständigen.
Xerxes
2

Sie können dies verwenden, dnsmasqindem Sie einfach die Konfigurationsdatei hinzufügen:

Adresse = /. vm / 192.168.56.3
drybjed
quelle
0

Dies ist eine interessante Frage. Die Hostdatei selbst unterstützt keine Platzhalter, wie Sie bereits erwähnt haben. Es wäre ziemlich einfach, die Bindung auf dem Apache-Computer einzurichten und dies als Authentifizierungs-DNS-Server und Punkt * .vm zu definieren, aber das ist eine Problemumgehung (auch wenn es die "richtige" Lösung ist).

Es muss einen Weg geben, nscd hinein zu bringen, aber ich habe es noch nicht herausgefunden. Geben Sie mir mehr Zeit und ich werde diese Antwort aktualisieren

Bearbeiten

In Ordnung, Ihre beste Wahl, ohne auf die einfache Aufgabe zurückzugreifen, Ihre Hostdatei mit einer immensen Anzahl virtueller Hosts zu füllen, oder die etwas komplexere Aufgabe, die Bindung an die Authentifizierung für diese Domäne zu konfigurieren, besteht darin, diese Sicherheitsanfälligkeit zu verwenden, um den nscd-Cache zu vergiften : http://linuxgazette.net/154/misc/lg/conspire_dns_vulnerability_details.html

Zumindest ist das so weit, wie ich heute gehen werde. Wenn ich mich später langweile, überprüfe ich vielleicht die Quelle auf nscd und finde heraus, wie ich die Informationen direkt einspeisen kann.

Matt Simmons
quelle
4
Ich würde ernsthaft nicht empfehlen, eine Sicherheitsanfälligkeit auszunutzen, um ein Ziel zu erreichen. Ich meine, was ist, wenn Sie davon abhängig sind und die Sicherheitslücke behoben wird? ... unter weiteren 100 Dingen kann ich sehen, dass das einfach falsch ist. Aber abgesehen davon - es sieht nach Spaß aus, mit Tritten zu spielen :).
Xerxes
2
hehe "... mein Lieblingsfeature in der Software wurde in der letzten Revision behoben ..." ;-)
Matt Simmons