OpenVPN-Namensauflösung für einzelnen Host

Herakles

Profifragensteller
Moin!

Ich habe einen Server, der im lokalen Netz unter einer eindeutigen IP erreichbar ist. Um das zu erreichen, habe ich meinen OpenBSD-Router so konfiguriert, dass er den dhcpd laufen lässt und mittels

Code:
host testserver {
            hardware ethernet aa:bb:cc:dd:ee:ff;
            fixed-address 192.168.123.199;
}

dem testserver eine feste IP zuordnet. Funktioniert.

Nun habe ich auf diesem testserver einen OpenVPN-Serverdienst laufen, der dem testserver in diesem VPN die IP 10.10.10.1 zuweist (hier der entsprechende Teil der openvpn.conf):

Code:
server 10.10.10.0 255.255.255.0

Jemand, der sich über VPN auf dem testserver einwählt, soll nur diesen testserver erreichen können. Es wird also kein Zugang zum LAN gewährt und bekommt auch keine Informationen über den Router im LAN. Sprich: Man verbindet sich per VPN und kann so nur auf den testserver zugreifen. Mehr nicht.

Klappt alles wunderbar. Nun ist also der testserver unter zwei Adressen erreichbar:

a) unter der 192.168.123.199 im lokalen Netz
b) unter der 10.10.10.1 im VPN

Jetzt trägt der testserver noch einen Apache in sich und hat dort eine winzige index.html, die eigentlich nur auf lokale Unterseiten verweisen soll. Für das LAN könnte das so aussehen:

Code:
<html>
<head>
<title>testserver Startseite</title>
</head>
<body>
<a href="http://testserver/trac"><img src="trac.png" border=0></a><br>
<a href="http://testserver/mediawiki"><img src="wiki.png" border=0></a><br>
<a href="http://testserver/kanboard"><img src="kanboard.png" border=0></a><br>
</body>
</html>

Bei einer folgenden Zuweisung in der /etc/hosts auf dem Router des LAN funktioniert das auch - allerdings nur im LAN:

Code:
192.168.123.199 testserver.herakles.lan  testserver

Wenn man sich nun per VPN verbindet, dann löst der Name testserver zu gar nichts auf, denn im VPN hat man ja nur den Zugriff auf die 10.10.10.1 - sonst nichts. Von einem Router der möglicherweise den Namen testserver kennen könnte, weiß der VPN-Clientrechner ja gar nichts.

Wie also löse ich die Aufgabe, dass derselbe Rechner im LAN unter der 192.168.123.199 und im VPN unter der 10.10.10.1 jeweils erreichbar ist, ohne dass ich in der obigen index.html doppelte Einträge vornehmen müsste (einen für's LAN und einen für's VPN)?

Das ist sicher eine OpenVPN-Einstellung - bloß welche? Was ich hier glaube ich brauche, ist eine ge-push-te DNS-Namensauflösung für einen einzelnen Host - oder bin ich komplett auf dem falschen Dampfer?

Ich bin für jeden Tipp dankbar - wie immer.

Es grüßt Euer nimmermüder Fragensteller
Herakles
 
Ergänzung:
du musst zwangsläufig entweder einen für den Client erreichbaren DNS Server pushen, oder dem Client einen lokalen Hosts Eintrag verpassen. Du kannst doch auch auch prüfen ob du eine weitere Route zu einem DNS Server per push verteilst, oder aber deinen DNS auch auf dem tun/tap Interface lauschen lässt. Denn die IP ist für den Client ja auch erreichbar
 
Ich habe bei mir was ähnliches laufen.
Im VPN (also bei dir auf testserver) läuft dnsmasq, welcher Rechner, die er eingetragen hat, eben mit 10.10.10.x auflöst und Unbekannte beim konfigurierten DNS nachfragt. Der Client kriegt dann natürlich diesen dnsmasq über VPN als sein dns-server.

Alternativ kannst du einen http-Proxy einsetzen, musst diesen dann am Client auch einstellen.
 
Zurück
Oben