So richten Sie den Google ShortName-Dienst für meine Domain ein, sodass der FQDN nicht benötigt wird

13

In dem Blog-Beitrag " Ein" tinyurl "-Dienst für Ihre Domain " wird erläutert, wie Sie mit Google Apps einen ShortName-Dienst für Ihre Domain einrichten. Wenn Ihre Domain beispielsweise example.comGoogle Apps ist und Sie Google Apps verwenden, können Sie sie so konfigurieren, dass http://go.example.comes sich um den persönlichen ShortName-Dienst Ihres Unternehmens handelt.

HINWEIS: Es geht nicht darum, einen "tinyurl" -Dienst für die Welt zu erstellen. Dies ist für ein Unternehmen.

Es ist nützlich, einen Kurznamendienst zu haben, den nur Ihre Benutzer verwenden können, damit Sie Links zu internen Seiten erstellen können. Anstatt den Leuten eine lange, schwierige URL zu sagen, können Sie sagen: "Das heutige Mittagsmenü finden Sie unter http://go.example.com/lunch ". Der Blogbeitrag dokumentiert einige der Vorteile, die es Menschen bietet, ihre eigenen Links einzurichten. (Das Wichtigste: Sie müssen DICH nicht stören, um einen neuen Link einzurichten!)

Das Problem

Das Problem mit dem System ist, dass die URL immer noch ziemlich lang ist. Die Leute geben lieber "go / lunch" in ihren Webbrowser ein und lassen es funktionieren. Leider kann Google Apps dies aufgrund der technischen Funktionsweise des HTTP-Protokolls nicht unterstützen. Der Header "Host:" in HTTP 1.1 listet die Domäne auf, die der Benutzer in seinem Webbrowser eingegeben hat, nicht den FQDN . Mit anderen Worten, wenn Google Apps die HTTP-Anfrage für " http: // go / lunch " erhält, erhält der Webserver "go" als Hostnamen. Da Google Apps diesen Service für viele Domains anbietet, kann es nicht sagen, ob Sie möchten go.example.comoder go.some-other-example.com.

Infolgedessen müssen Benutzer jedes Mal "go.example.com/lunch" eingeben, was viel länger ist als "go / lunch".

Die Lösung

Google könnte dies mithilfe von Web-Cookies oder einem anderen Schema lösen. Keines davon ist besonders sauber oder einfach. Bis dahin können Sie das Problem lösen, indem Sie eine eigene Maschine einrichten, die Anfragen als "go" akzeptiert und umleitet.

Der Server akzeptiert HTTP-Anforderungen für eine Site mit dem Namen "go" und leitet die Anforderung an um go.example.com. Sie erstellen dann die richtigen DNS-Einträge, damit dies funktioniert, und ändern Ihre DHCP-Konfigurationen, damit Ihre Laptops / Workstations das Richtige tun.

In diesem Dokument zu Serverfehlern wird der Vorgang erläutert, und es werden Konfigurationsbeispiele angegeben, die Ihnen dabei helfen, dies für Ihren Standort zu tun. Da ich nicht auf alle Betriebssysteme der Welt zugreifen kann und sie nicht kenne, mache ich dies zu einem "Community-Wiki", damit die Benutzer Konfigurations-Snippets ausfüllen können, wenn sie es für sie zum Laufen bringen. Ich habe "TODO" in den Bereich gebracht, der besonders verbesserungswürdig ist.

Die Details

In diesem Beispiel wird "example.com" als Domain verwendet.

Schritt 1: Richten Sie den Google Apps-Dienst wie gewohnt ein.

Konfigurieren Sie den Dienst go.example.comwie gewohnt. Testen Sie es und stellen Sie sicher, dass eine URL wie http://go.example.com/foofunktioniert. Fahren Sie nicht fort, wenn dies nicht vollständig ist. Das wäre wie der Versuch, Ihr Auto zu reparieren, bevor Sie eines besitzen.

Schritt 2: Wählen Sie Ihren Redirector-Hostnamen aus

Wenn es sich bei Ihrem Kurznamendienst um einen Kurznamendienst handelt go.example.com, geben Sie im Idealfall den Namen Ihres Redirectors an go.example.com. Leider verhindert die Physik, dass zwei Körper gleichzeitig am selben Ort sind, und DNS befolgt die Gesetze der Physik.

Der Trick besteht darin, dass der Redirector denselben Hostnamen wie der ShortName-Dienst hat, sich jedoch in einer anderen Domäne befindet. Zum Beispiel go.corp.example.com, go.ext.google.comoder go.this-is-different.example.com.

Große Unternehmen haben normalerweise eine interne Unterdomäne, die nicht der Außenwelt ausgesetzt ist. Normalerweise sind interne Hosts INSIDEHOST.corp.google.com. Hier setzen Sie den Redirector ein.

Einige Unternehmen weisen eine Subdomain mit CNAMEs zu, die auf Dienste verweisen, auf die sowohl innerhalb als auch außerhalb des Unternehmens zugegriffen werden soll. Auf diese Weise muss eine Subdomain in den DNS-Suchpfad der Benutzer eingefügt werden. (Unix-Leute können sich das als /usr/local/binein Unterverzeichnis voller Symlinks vorstellen.) Traditionell ist diese Subdomain ext.example.com. In dieser Sub - Domain ist CNAMEs wie mail.ext.example.com, calendar.ext.example.com, vpn.ext.example.com, und so weiter.)

Warnung: Das Hinzufügen eines weiteren Elements zu Ihrem DNS-Suchpfad ist eine weitere Möglichkeit, Ihre Computer langsamer zu machen. Das Ausführen einer zusätzlichen DNS-Abfrage JEDES MAL ist langsam und das Surfen im Internet wird merklich langsamer. Es ist viel besser, diesen Redirector einer Unterdomäne hinzuzufügen, die sich bereits im DNS-Suchpfad Ihres Computers befindet, auch wenn dies das Hinzufügen eines CNAME in mehreren Unterdomänen bedeutet. Wenn beispielsweise Ihre internen Maschinen und Maschinen, die mit Ihrem VPN verbunden sind, corp.example.combereits über einen Suchpfad verfügen , fügen Sie dort den CNAME hinzu. Wenn Sie möchten, dass externe Computer, die nicht über ein VPN angemeldet sind, auf den Redirector zugreifen können, ist es möglicherweise seltsam, Code corp.example.comin ihren Suchpfad einzufügen, wenn dies die Unterdomäne für Computer ist, auf die von außen nie zugegriffen wird. In diesem Fall kann ein anderer CNAME zu einer externen Unterdomäne hinzugefügt werden (z. B.ext.example.com), um auf den Redirector zu zeigen. Aktualisieren Sie die Webserverkonfiguration, um beide zu unterstützen.

Angenommen, Sie haben für dieses Beispiel den Redirector ausgewählt go.ext.example.com. Die Maschine kann beliebig benannt werden, wir erledigen den ganzen Zauber in DNS und der Webserverkonfiguration.

Schritt 3: Planen Sie Ihren Redirector

Der Webserver, den Sie einrichten möchten, kann sich auf einem vorhandenen oder einem neuen Webserver befinden, der nur für diesen Zweck erstellt wurde. Der Schlüssel ist, dass der Computer von jedem Ort aus erreichbar sein muss, an dem der ShortName-Dienst funktionieren soll: innerhalb des Unternehmens, außerhalb des Unternehmens, wenn der Benutzer über VPN verbunden ist. (Sie können aus Sicherheitsgründen darauf verzichten, von außerhalb des Unternehmens zu arbeiten. Aus Sicherheitsgründen können Sie auch eine Maschine innen und eine andere außen aufstellen.)

Hinweis: Sie müssen hierfür keinen neuen Webserver einrichten. Sie können dies zu einem vorhandenen Webserver hinzufügen, solange die Konfiguration nicht vorhanden ist.

Hinweis: Dies kann ziemlich kompliziert sein. Möglicherweise möchten Sie sich darauf konzentrieren, dass dies im einfachsten Fall funktioniert. Wenn Sie es dann einmal getestet haben, können Sie es auch für andere Situationen verwenden. Führen Sie die folgenden Schritte aus: 1. Arbeitsstationen / Laptops innerhalb des Unternehmens 2. DANN Maschinen, die über VPN verbunden sind, dann Maschinen außerhalb des Unternehmens (z. B. in einem Internetcafé). 3. DANN Rechner außerhalb des Netzwerks, ohne das VPN aufzubauen. 4. DANN dies für andere Betriebssysteme testen

In diesem Beispiel wird davon ausgegangen, dass ein Webserver unter derselben IP-Adresse verfügbar ist, unabhängig davon, ob Sie sich innerhalb oder außerhalb des Unternehmens befinden.

In unserem Beispiel "go. Corp .example.com" bedeutet dies, dass sich das "go" in einer Unterdomäne befindet, auf die nur Insider zugreifen können. Zur Verwendung des ShortName-Dienstes ist ein VPN erforderlich. Da Google Apps normalerweise so konfiguriert ist, dass es ohne VPN funktioniert (da der gesamte Zugriff über HTTPS erfolgt), ist dies nicht optimal.

In unserem „gehen. Ext .example.com“ Beispiel bedeutet dies , ist die Sub - Domain von innen zugänglich und außerhalb des Unternehmens und den ADatensatz verweist auf eine externe IP - Adresse.

Schritt 4: Fügen Sie DNS-Einträge für Ihren Redirector hinzu

Hier sind die erforderlichen DNS-Einträge:

go.example.com.                IN CNAME ghs.google.com.
go.ext.example.com.            IN A 64.32.179.5
go-redirector.example.com  IN A 64.32.179.5

Der erste DNS-Eintrag (go.example.com) sollte bereits als Teil von Schritt 1 vorhanden sein.

Der zweite DNS-Eintrag (go. Ext .example.com) ist ein AEintrag, der auf die IP-Adresse des neuen Webservers verweist, den Sie konfigurieren.

Der dritte DNS-Eintrag (go-redirector) soll Ihnen beim Debuggen helfen.

Schritt 5: Konfigurieren Sie den Webserver

Fügen Sie die Umleitung zum Webserver hinzu. (Dies setzt voraus, dass der Webserver bereits installiert ist und ausgeführt wird).

Hier ist das Apache-Konfigurations-Snippet:

<VirtualHost *:80>
        ServerName go-redirector.example.com
        ServerAlias go, go.ext, go.ext.example
        RewriteEngine on
        RewriteRule ^(.*)$ http://go.example.com$1 [R=permanent]
</VirtualHost>

Wie man das testet. http://go-redirector.example.comsollte an dieser Stelle funktionieren.

Fahren Sie nicht fort, bis dieser Test funktioniert. Kleine Schritte.

Schritt 6: Konfigurieren Sie den DNS-Suchpfad des Clients

Jetzt konfigurieren wir Computer (alle, auf denen ein Webbrowser ausgeführt wird) so, dass der DNS-Suchpfad "ext.example.com" enthält.

Senden Sie auf Ihrem DHCP-Server und VPN-Server einen DNS-Suchpfad, der wie folgt lautet:

corp.example.com.

(Die Subdomain mit dem Redirect-Host, gefolgt von ".")

Alternativ können Sie einen Suchpfad wie folgt verwenden:

corp.example.com example.com.

Damit wird jedoch eine zusätzliche DNS-Suche für JEDE verdammte Webseite hinzugefügt, die wir besuchen. Da sie in 99% der Fälle versagen, wird das Surfen im Internet nur langsam.

Auf Arbeitsstationen und Laptops müssen Sie sicherstellen, dass die Unterdomäne in ihrem DNS-Suchpfad enthalten ist. Wenn der Benutzer "go" eingibt, findet die Software dies in der Domäne.

Wir möchten den Suchpfad des Computers so konfigurieren, dass er diese Unterdomäne auf jede Art und Weise enthält, wie der Suchpfad festgelegt werden kann:

Ursprünglich konnte der DNS-Suchpfad nicht über DHCP festgelegt werden. Dies ist eine neu hinzugefügte Funktion, die nicht von allen DHCP-Clients unterstützt wird. Sogar DHCP-Clients, die dies unterstützen, müssen geändert werden, da ein Laptop, der sich beispielsweise in einem Internetcafé befindet, mit einem DHCP-Server kommuniziert, den Sie nicht steuern können. Wenn ein Laptop ein VPN verwendet, verwendet die VPN-Client-Software nicht DHCP. In der Regel überträgt der VPN-Server jedoch die Einstellungen, die normalerweise von einem DHCP-Server abgerufen werden.

Daher möchten Sie den DNS-Suchpfad an allen folgenden Stellen festlegen:

  • Der DHCP-Server sollte die DNS-Suchpfadoptionen senden
  • Bei statisch konfigurierten Computern sollte der DNS-Suchpfad festgelegt sein
  • Clients, die DHCP verwenden, sollten so konfiguriert werden, dass die corp.example.comDomäne vor dem Suchpfad angezeigt wird, sofern der DHCP-Server dies nicht bereits getan hat.

Im Folgenden finden Sie Anweisungen dazu, wie dies auf verschiedenen DHCP-Servern und Betriebssystemen durchgeführt wird.

Konfigurieren von DHCP-Servern, um einen DNS-Suchpfad einzuschließen:

  1. Windows DHCP-Anweisungen

MACHEN

  1. ISC DHCP-Anweisungen

Wenn der Suchpfad nur die Domäne ist, in der sich der Computer befinden soll, gilt Folgendes:

option domain-name "corp.example.com";

Wenn die Clients RFC 3397 zur Angabe eines Suchpfads unterstützen, können Sie dies tun, dies ist jedoch umständlich, da kein systemeigener Datentyp unterstützt wird, der eine Folge von DNS-Hosts ist, die jeweils wie in DNS als längenpräfixierte Bezeichnungen codiert sind. Es gibt keine Möglichkeit, die Werte einer Option zu schreiben, die als Array von Datensätzen definiert ist, wobei der Datensatz ein Array eines anderen Datensatzes enthält. Sie müssen also eine Datenzeichenfolge verwenden, um Dinge manuell zu codieren.

option dns-search-domains code 119 = string;
option dns-search-domains concat(
    encode-int(4,1), "corp", encode-int(7,1), "example", encode-int(3,1), "com", encode-int(0,1),
    encode-int(7,1), "example", encode-int(3,1), "com", encode-int(0,1)
    );

Das sollte (ungetestet) eine Suchliste mit zwei Einträgen erzeugen.

  1. dnsmasq DHCP-Anweisungen

MACHEN

Statisch konfigurierte Maschinen konfigurieren:

  1. Windows

MACHEN

  1. Linux / Unix

Bearbeiten Sie /etc/resolv.confund stellen Sie sicher, dass (1) die "domain corp.example.com" die erste Zeile ist, (2) fügen Sie die "search" -Zeile hinzu / bearbeiten Sie sie, um die corp.example.comDomain einzuschließen, (3) fügen Sie eine "options ndotes: 2" -Zeile hinzu Reduzieren Sie die Belastung Ihrer DNS-Server.

domain corp.example.com
search corp.example.com exmaple.com
options ndots:2

Konfigurieren von DHCP-Clients für andere DHCP-Server

TODO ausfüllen für Windows, Linux usw.

Schritt 7: Testen, testen, testen!

Jetzt sollten Benutzer Folgendes angeben können:

http: // go / foo http: //go.example/foo http://go.example.com/foo

Als Konfidenztest sollten Sie diese URLs in allen Situationen testen:

( each OS you support ) * ( internal LAN / at an Internet cafe / while on the VPN )

Schritt 8: Andere Ratschläge

Und zum Schluss noch ein Tipp: Auch wenn Sie dies perfekt gemacht haben, besteht das Risiko, dass eine http://go/fooVerknüpfung nicht funktioniert, wenn eine Person versucht, sie auf einem Computer einzugeben, den Sie nicht für die Erzwingung der DNS-Suche konfiguriert haben Pfad zum Einbinden Ihrer Domain. Sie sollten daher veröffentlichen Links die vollständige URL verwenden: http://go.example.com/foo; Nehmen Sie sich die Zeit, um die PR-Abteilung Ihres Unternehmens und andere zu schulen und immer so zu spezifizieren.

Oder codieren Sie sie zumindest in HTML, sodass "go" im Linktext angezeigt wird, die tatsächliche HREF jedoch an den FQDN:

<a href="http://go.example.com/lunch">go/lunch</a>

Es kann schwierig sein, die Leute in der PR-Abteilung dazu zu bringen. Vielleicht möchten Sie ihnen nur sagen, dass sie die long-Version ( go.example.com) für alles verwenden müssen, was sie schreiben, da das kurze "go / lunch" nur zufällig funktioniert.

Schritt 8: HTTPS

TODO: Machen Sie sich ein Bild vom Umgang mit HTTPS (die Zertifizierung wird sehr schwierig, wenn nicht sogar unmöglich sein).

TomOnTime
quelle
2
Wenn Clients Ihren spezifischen Suchpfad aktivieren müssen, wird er niemals fliegen. Wenn Sie dies wirklich tun möchten, kaufen Sie Ihre eigene kurze TLD - ein Snip für nur 280.000 US-Dollar
Alnitak
1
Ich sollte erklären, dass dies für Unternehmensbenutzer ist, kein öffentlicher Dienst.
TomOnTime
6
Hallo Tom, normalerweise schlagen wir für deine Frage vor, eine Frage zu stellen und dann deine Lösung als Antwort zu posten. Auf diese Weise kann es hochgestuft und als akzeptiert markiert werden: serverfault.com/faq (`Es ist auch in Ordnung, Ihre eigene Frage zu stellen und zu beantworten, aber tun Sie so, als wären Sie in Gefahr : Formulieren Sie sie in Form einer Frage .` )
Mark Henderson
1
Und ... Tom wird nun in das Thema "Es ist keine Frage, es gehört nicht zu Serverfault Meme" eingeführt. Willkommen beim Wasserkühler. Ehrfürchtiger Beitrag Tom. +1.
Joseph Kern
2
@TomOnTime Vielleicht könnten Sie "Problem" und "Lösung" in eine Frage und eine Antwort aufteilen. Das würde alle glücklich machen! Vielen Dank!
Splattne

Antworten:

3

Diese Frage sollte auf die eine oder andere Weise als "beantwortet" markiert werden. Auf diese Weise bleibt die URL /server//unanswered korrekt. Bitte (posten und) akzeptieren Sie eine "Antwort" auf diese Frage. Vielen Dank!

Meine "Antwort" wäre, dass das Erstellen (oder Installieren) eines Linkverkürzungsdienstes kinderleicht ist, und anstatt durch alle oben genannten Bereiche zu springen, richten Sie einfach einen lokalen Linkverkürzer auf einem Webserver ein, der auf "go" antwortet. "example.com" und stellen Sie sicher, dass Ihr DNS auf example.com antwortet. Auf diese Weise geben Sie keine internen URLs an die Welt weiter. (Möglicherweise verpasse ich den Punkt.)

Alternativen:

  • Fragen Sie für ein sehr kleines Unternehmen oder eine Arbeitsgruppe alle nach ihren Lieblingslesezeichen und finden Sie Platz, um diese auf der Intranet-Startseite zu platzieren.

  • Alternativ können Sie das Intranet für Ihr kleines Unternehmen oder Ihre kleine Gruppe als Wiki mit einer praktischen Liste freigegebener Hotlinks bereitstellen, damit die Benutzer dort ankommen, wo sie sich wahrscheinlich aufhalten möchten.

Prost, -danny

dannyman
quelle