dnsmasq, dienen jedoch unterschiedlichen ip-Adressen basierend auf der Schnittstelle verwendet
Im Grunde mein problem ist, dass ich eine VM für die Entwicklung von web-sites auf.
Die host-Maschine hat seine dns zeigt auf die Vm, die läuft dnsmasq, das behebt die Adressen von diversen dev-Websites, d.h. test.mysite.vm etc.
Das Problem ist, wenn ich von meiner Arbeit Netzwerk zu meinem Netzwerk zu Hause alles bricht, weil die IP von der vm ändert. Ist es möglich, dienen jedoch unterschiedlichen ip-Adressen auf welchem interface die Anfrage kam? Oder sollte ich versuchen, gegen dieses Problem auf eine ganz andere Weise?
Vielen Dank für Ihre Hilfe!
Stellt sich heraus, es war ein viel einfacher Ansatz, um diese nach allen...
Ich jetzt setup 2-Schnittstellen auf die VM und brauche nicht zu verwenden, dnsmasq.
Die erste ist nur ein bridged/shared Schnittstelle, die es ermöglicht, die VM zu nutzen, was immer internet-Verbindung verfügbar ist, um den host mit einem Neustart des Netzwerk jedes mal, wenn ich mich bewege office.
Die 2. ist eine private Verbindung zu meiner VM-host eine statische IP-Adresse. Dies ist die Schnittstelle, die ich verwenden, um die Verbindung und binden Sie alle Dienste wie nginx, mysql etc.
InformationsquelleAutor der Frage Ian Chadwick | 2012-02-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie zwei Instanzen von
dnsmasq
jedes mit einer anderen Schnittstelle hört es auf. Sie können die--interface=X
und--bind-interfaces
Optionen für, die. Standardmäßig, es bindet auch das loopback-Gerätlo
und wird scheitern, wenn zwei Prozesse versuchen, es zu binden. Verwenden--except-interface=lo
zu vermeiden.Stellen Sie sicher, dass Ihre Konfigurations-Datei leer ist, wenn Sie testen, wie es überschreibt immer die Kommandozeile. Sie können auch
--conf-file=/dev/null
.Wie ich bereits im Kommentar, ich bin mir nicht sicher, wie dies hilft, Ihre situation, aber es hilft vielleicht jemand anderes, der versucht, zwei verschiedene Adressbereiche auf zwei verschiedene Schnittstellen.
InformationsquelleAutor der Antwort kichik
Hinzufügen der Schnittstelle am Anfang jeder parameter funktioniert gut für mich.
Beispiel (in dnsmasq.conf) :
Ich bin mit der Veröffentlichung :
InformationsquelleAutor der Antwort smillien62
Während @kichik Antwort gut funktionieren kann, ist ein eleganter Weg, um das gleiche zu erreichen ist die Verwendung der
localise-queries
Richtlinie und ein Einzelzimmerdnsmasq
server-Instanz.Ich nehme an, dass Sie bereits von der Konfiguration Ihres DHCP-Bereiche für die verschiedenen Schnittstellen und gebunden haben
dnsmasq
.Fügen Sie die (teilweise dokumentiert)
localise-queries
option, um Ihrednsmasq.conf
- Datei.Dann, stellen Sie sicher, dass eine der Dateien, die
dnsmasq
liest sich für Ihre hosts (wie/etc/hosts
) enthält Einträge mit den IP-Adressen für beide Netzwerke, wie das ist:Alternative zum ändern der
/etc/hosts
Datei-geben Sie die Adressen in Ihremdnsmasq.conf
- Datei statt:Als Ergebnis in beiden Fällen
dnsmasq
nur dazu dienen, die IP-Adresse entspricht der Schnittstelle IP und Netzmaske für Anfragen, die das Unternehmen für die jeweilige Schnittstelle.Entsprechend der Manpagebedeutet dies Folgendes:
InformationsquelleAutor der Antwort likeitlikeit
Alternativ können Sie auch erstellen mehrere Konfigurationsdateien unter
/etc/dnsmasq.d/
eine für jede Schnittstelle, die Sie wollen, um zu dienen dhcp.Zum Beispiel, wenn Sie zwei drahtlose Schnittstellen benannt
wlan0
undwlan1
wird, und Sie möchten, um zu dienen dhcp auf Sie Dank dnsmasq, können Sie zwei Dateien erstellen unter/etc/dnsmasq.d/
konfigurieren Sie jede Schnittstelle:/etc/dnsmasq.d/dnsmasq-wlan0.conf
:/etc/dnsmasq.d/dnsmasq-wlan1.conf
:Mir, dass ist eine sehr saubere Art und Weise Sie Ihr system konfigurieren, und die Konfiguration bestehen zwischen zwei Neustarts.
InformationsquelleAutor der Antwort Quentin