Jak skonfigurować usługę Google ShortName dla mojej domeny, aby nazwa FQDN nie była potrzebna


13

W blogu „Usługa„ tinyurl ”dla Twojej domeny ” wyjaśnia, jak skonfigurować usługę ShortName dla swojej domeny za pomocą Google Apps. Na przykład jeśli Twoja domena jest example.comi korzystasz z Google Apps, możesz ją skonfigurować tak, http://go.example.comaby była osobistą usługą ShortName Twojego przedsiębiorstwa.

UWAGA: Tu nie chodzi o stworzenie usługi „tinyurl” dla świata. To jest dla przedsiębiorstwa.

Przydatne jest posiadanie usługi skróconej nazwy, z której mogą korzystać tylko użytkownicy, aby można było tworzyć linki do stron wewnętrznych. Zamiast mówić ludziom o długim, trudnym adresie URL, możesz powiedzieć: „Dzisiejsze menu na lunch znajduje się na stronie http://go.example.com/lunch ”. Wpis na blogu dokumentuje niektóre korzyści płynące z umożliwienia ludziom zakładania własnych linków. (Najważniejsze: nie muszą Ci przeszkadzać, aby założyć nowy link!)

Problem

Problem z systemem polega na tym, że adres URL jest wciąż dość długi. Ludzie wolą wpisać „go / lunch” w swojej przeglądarce i włączyć. Niestety Google Apps nie może tego obsłużyć ze względu na techniczną funkcjonalność protokołu HTTP. Nagłówek „Host:” w HTTP 1.1 zawiera domenę wpisaną przez użytkownika w przeglądarce internetowej, a nie nazwę FQDN . Innymi słowy, gdy Google Apps otrzyma żądanie HTTP „ http: // go / lunch ”, serwer internetowy otrzymuje „go” jako nazwę hosta. Ponieważ Google Apps zapewnia tę usługę dla wielu domen, nie może powiedzieć, czy chcesz, go.example.comczy go.some-other-example.com.

W rezultacie użytkownicy muszą za każdym razem wpisywać „go.example.com/lunch”, co jest znacznie dłuższe niż „go / lunch”.

Rozwiązanie

Google może rozwiązać ten problem za pomocą internetowych plików cookie lub innego programu. Żaden z nich nie jest szczególnie czysty ani łatwy. Do tego czasu możesz rozwiązać problem, konfigurując własny komputer, który akceptuje żądania jako „idź” i przekierowuje je.

Serwer akceptuje żądania HTTP dotyczące witryny o nazwie „go” i przekierowuje żądanie do go.example.com. Następnie tworzysz odpowiednie rekordy DNS, aby działało, i przekręcasz konfiguracje DHCP, aby Twoje laptopy / stacje robocze działały poprawnie.

Celem tego dokumentu o błędzie serwera jest wyjaśnienie tego procesu, a następnie podanie przykładów konfiguracji, które pomogą ci to zrobić dla swojej witryny. Ponieważ nie mam dostępu ani wiedzy o każdym systemie operacyjnym na świecie, robię z tego „wiki społeczności”, aby ludzie mogli wypełniać fragmenty konfiguracji, gdy tylko będą dla nich działać. Umieściłem „TODO” w obszarze, który szczególnie wymaga poprawy.

Szczegóły

W tym przykładzie użyjemy „example.com” jako domeny.

Krok 1. Skonfiguruj usługę Google Apps w normalny sposób.

Skonfiguruj usługę go.example.comtak, jak zwykle. Przetestuj to i upewnij się, że taki adres URL http://go.example.com/foodziała. Nie kontynuuj, jeśli nie jest to kompletne. To byłoby jak próba naprawy samochodu przed jego posiadaniem.

Krok 2: Wybierz nazwę hosta readresatora

Jeśli twoją usługą krótkich go.example.comnazw jest , najlepiej byłoby nadać nazwę swojemu readresatorowi go.example.com. Niestety fizyka uniemożliwia dwóm ciałom przebywanie w tym samym miejscu w tym samym czasie, a DNS przestrzega praw fizyki.

Sztuką jest, aby readresator miał taką samą nazwę hosta jak usługa ShortName, ale w innej domenie. Na przykład go.corp.example.com, go.ext.google.comalbo go.this-is-different.example.com.

Duże firmy zwykle mają wewnętrzną poddomenę, która nie jest narażona na świat zewnętrzny. Zwykle są to hosty wewnętrzne INSIDEHOST.corp.google.com. Tam umieszczasz readresator.

Niektóre firmy przydzielają poddomenę pełną nazw CNAME wskazujących usługi, do których dostęp powinien mieć zarówno firma, jak i firma. W ten sposób istnieje jedna subdomena, którą należy umieścić w ścieżce wyszukiwania DNS osób. (Ludzie uniksowi mogą myśleć o tym jako o /usr/local/binpodkatalogu pełnym dowiązań symbolicznych) Tradycyjnie ta subdomena jest ext.example.com. W tym subdomeny są rekordy CNAME jak mail.ext.example.com, calendar.ext.example.com, vpn.ext.example.comi tak dalej).

Ostrzeżenie: dodanie kolejnego elementu do ścieżki wyszukiwania DNS to kolejny sposób na spowolnienie działania komputerów. Wykonanie dodatkowego zapytania DNS KAŻDY CZAS jest powolny, a surfowanie po Internecie będzie zauważalnie wolniejsze. O wiele lepiej jest dodać ten readresator do subdomeny, która znajduje się już na ścieżce wyszukiwania DNS komputera, nawet jeśli oznacza to dodanie CNAME w wielu subdomenach. Na przykład, jeśli Twoje maszyny wewnętrzne i maszyny podłączone do VPN już znajdują się corp.example.comw ścieżce wyszukiwania, dodaj tam CNAME. Jeśli chcesz, aby zewnętrzne maszyny, które nie są podłączone do sieci VPN, miały dostęp do readresatora, może to być dziwne, jeśli kod jest sztywny corp.example.comw ścieżce wyszukiwania, jeśli jest to poddomena komputerów, do których nigdy nie masz dostępu z zewnątrz. W takim przypadku można dodać kolejną CNAME do zewnętrznej subdomeny (npext.example.com), aby wskazać przekierowanie. Zaktualizuj konfigurację serwera WWW, aby obsługiwała oba te elementy.

W tym przykładzie załóżmy, że wybrałeś przekierowanie go.ext.example.com. Maszynę można nazwać jak tylko zechcesz, zrobimy całą magię w DNS i konfiguracji serwera WWW.

Krok 3: Planowanie przekierowania

Serwer internetowy, który zamierzasz skonfigurować, może znajdować się na istniejącym serwerze internetowym lub nowym, zbudowanym właśnie do tego celu. Kluczem jest to, że maszyna musi być dostępna z dowolnego miejsca, w którym ma działać usługa ShortName: wewnątrz firmy, poza firmą, gdy użytkownik jest połączony przez VPN. (Możesz zrezygnować z pracy spoza firmy ze względów bezpieczeństwa. Możesz również, ze względów bezpieczeństwa, skonfigurować jedną maszynę wewnątrz i drugą na zewnątrz).

Uwaga: Nie musisz w tym celu konfigurować nowego serwera WWW. Możesz dodać to do istniejącego serwera WWW, dopóki konfiguracja nie istnieje.

Uwaga: może to być dość skomplikowane. Możesz skoncentrować się na uruchomieniu tego w najprostszym przypadku, a następnie po pracy i przetestowaniu spraw, aby działał w innych sytuacjach. W szczególności spraw, aby działał w następującej kolejności: 1. stacje robocze / laptopy wewnątrz firmy 2. NASTĘPNIE maszyny połączone przez VPN, a następnie maszyny spoza firmy (na przykład w kafejce internetowej). 3. NASTĘPNIE maszyny poza siecią, bez włączonej sieci VPN 4. NASTĘPNIE przetestuj to na innych systemach operacyjnych

W tym przykładzie założymy, że serwer WWW jest dostępny pod tym samym adresem IP, niezależnie od tego, czy jesteś w firmie, czy poza nią.

W naszym przykładzie „go. Corp .example.com” oznacza to, że „go” znajduje się w subdomenie, która jest dostępna tylko dla osób z zewnątrz i wymaga VPN do korzystania z usługi ShortName. Ponieważ Google Apps jest zwykle skonfigurowane do pracy bez VPN (ponieważ cały dostęp to HTTPS), jest to nieoptymalne.

W naszym przykładzie „go. Ext .example.com” oznacza to, że subdomena jest dostępna zarówno w firmie, jak i poza nią, a Arekord wskazuje na zewnętrzny adres IP.

Krok 4: Dodaj rekordy DNS dla swojego readresatora

Oto wymagane rekordy DNS:

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

Pierwszy rekord DNS (go.example.com) powinien już istnieć w ramach kroku 1.

Drugi rekord DNS (go. Ext .example.com) to Arekord wskazujący na adres IP nowego konfigurowanego serwera internetowego.

Trzeci rekord DNS (go-redirector) ma pomóc w debugowaniu.

Krok 5: Skonfiguruj serwer WWW

Dodaj przekierowanie do serwera WWW. (Zakłada się, że serwer WWW jest już zainstalowany i działa).

Oto fragment konfiguracji Apache:

<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>

Jak to przetestować. http://go-redirector.example.compowinien działać w tym momencie.

Nie kontynuuj, dopóki ten test nie zadziała. Dziecięce kroki.

Krok 6: Skonfiguruj ścieżkę wyszukiwania DNS klienta

Teraz skonfigurujemy maszyny (wszystko, co działa w przeglądarce), aby ścieżka wyszukiwania DNS zawierała „ext.example.com”

Na serwerze DHCP i serwerze VPN wyślij ścieżkę wyszukiwania DNS, która jest:

corp.example.com.

(subdomena z hostem przekierowującym, a następnie „.”)

Alternatywnie możesz użyć ścieżki wyszukiwania, takiej jak:

corp.example.com example.com.

To jednak doda dodatkowe wyszukiwanie DNS dla KAŻDEJ cholernej strony internetowej, na którą się znajdujemy. Ponieważ zawiodą one w 99% przypadków, spowoduje to spowolnienie surfowania po Internecie.

Na stacjach roboczych i laptopach należy upewnić się, że subdomena znajduje się w ścieżce wyszukiwania DNS. W ten sposób, gdy użytkownik wpisze „go”, oprogramowanie znajdzie go w domenie.

Chcemy skonfigurować ścieżkę wyszukiwania komputera, tak aby zawierała tę subdomenę na każdy sposób, w jaki można ustawić ścieżkę wyszukiwania:

Pierwotnie ścieżka wyszukiwania DNS nie mogła być ustawiona przez DHCP. Jest to nowo dodana funkcja i nie wszyscy klienci DHCP ją obsługują. Nawet klienci DHCP, którzy go obsługują, wymagają modyfikacji, ponieważ gdy laptop znajduje się (na przykład) w kafejce internetowej, rozmawia z serwerem DHCP, którego nie kontrolujesz. Gdy laptop korzysta z VPN, oprogramowanie klienckie VPN tak naprawdę nie korzysta z DHCP, ale zwykle istnieje sposób, w jaki serwer VPN przesyła ustawienia, które zwykle otrzymuje się z serwera DHCP.

Dlatego chcesz ustawić ścieżkę wyszukiwania DNS we wszystkich tych miejscach:

  • Serwer DHCP powinien wysłać opcje ścieżki wyszukiwania DNS
  • Komputery skonfigurowane statycznie powinny mieć ustawioną ścieżkę wyszukiwania DNS
  • Klienci korzystający z DHCP powinni zostać skonfigurowani w taki sposób, corp.example.comaby domena była wstępnie umieszczona w ścieżce wyszukiwania, jeśli serwer DHCP jeszcze jej nie uwzględnił.

Poniżej znajdują się instrukcje, jak to zrobić na różnych serwerach DHCP i systemach operacyjnych.

Konfigurowanie serwerów DHCP w celu uwzględnienia ścieżki wyszukiwania DNS:

  1. Instrukcje Windows DHCP

DO ZROBIENIA

  1. Instrukcje ISC DHCP

Jeśli ścieżka wyszukiwania to tylko domena, w której powinien znajdować się komputer, to:

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

Jeśli klienci obsługują RFC 3397 w celu zapewnienia ścieżki wyszukiwania, możesz to zrobić, ale jest to niewygodne, ponieważ nie ma natywnej obsługi typu danych, który jest sekwencją hostów DNS, z których każdy jest zakodowany jako etykieta z prefiksem długości, jak w DNS. Nie ma sposobu na zapisanie wartości opcji zdefiniowanej jako tablica rekordów, w której rekord zawiera tablicę innego rekordu, więc sprowadzasz się do używania ciągu danych do ręcznego kodowania.

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)
    );

które powinny (nieprzetestowane) wygenerować listę wyszukiwania dwóch elementów.

  1. Instrukcje DHCP dnsmasq

DO ZROBIENIA

Konfigurowanie statycznie skonfigurowanych maszyn:

  1. Windows

DO ZROBIENIA

  1. Linux / Unix

Edytuj /etc/resolv.confi upewnij się, że (1) „domena corp.example.com” jest pierwszym wierszem, (2) dodaj / edytuj wiersz „search”, aby uwzględnić corp.example.comdomenę, (3) dodaj wiersz „opcje ndotes: 2” do zmniejsz obciążenie serwerów DNS.

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

Konfigurowanie klientów DHCP do pracy na innych serwerach DHCP

Wypełnij TODO dla Windows, Linux itp.

Krok 7: Testuj, testuj, testuj!

Teraz użytkownicy powinni mieć możliwość określenia:

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

W rzeczywistości jako test zaufania chcesz przetestować te adresy URL we wszystkich sytuacjach:

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

Krok 8: Inne porady

I na koniec jedna rada: nawet jeśli wykonałeś perfekcyjną robotę, nadal istnieje ryzyko, że http://go/foolink nie będzie działał, gdy osoba spróbuje wpisać go na komputerze, którego nie skonfigurowałeś, aby wymusić wyszukiwanie DNS ścieżka do włączenia Twojej domeny. Dlatego należy publikować linki przy użyciu pełnego adresu URL http://go.example.com/foo:; i poświęć czas na edukację działu PR firmy i innych, aby zawsze tak to określać.

Lub przynajmniej zakoduj je w HTML, aby „go” było widoczne w tekście łącza, ale rzeczywisty HREF przechodzi do nazwy FQDN:

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

Nauczenie ludzi z działu PR może być trudne. Możesz po prostu powiedzieć im, że muszą używać długiej wersji ( go.example.com) we wszystkim, co piszą, ponieważ krótkie „idź / lunch” działa tylko przypadkowo.

Krok 8: HTTPS

DO ZROBIENIA: Dowiedz się, jak postępować z HTTPS (uzyskanie prawidłowych certyfikatów będzie bardzo trudne, jeśli nie niemożliwe).


2
jeśli wymaga, aby klienci mieli włączoną określoną ścieżkę wyszukiwania, to nigdy nie poleci. Jeśli naprawdę chcesz to zrobić, kup własną krótką TLD - wycięcie za jedyne 280 tys. Dolarów
Alnitak

1
Powinienem wyjaśnić, że dotyczy to użytkowników korporacyjnych, a nie usług publicznych.
TomOnTime

6
Cześć Tom, zwykle sugerujemy, aby zadać pytanie, a następnie opublikować swoje rozwiązanie jako odpowiedź. W ten sposób można go ocenić i oznaczyć jako zaakceptowany: serverfault.com/faq (`` Można również zadawać własne pytania i odpowiadać na nie, ale udawać, że jesteś w Jeopardy: sformułuj je w formie pytania. ')
Mark Henderson

1
I ... Tom jest teraz wprowadzony do „to nie jest pytanie, nie należy do memu błędu serwera”. Witamy w chłodnicy wodnej. Niesamowity post Tom. +1.
Joseph Kern

2
@TomOnTime może możesz podzielić „problem” i „rozwiązanie” na pytanie i odpowiedź. Uszczęśliwiłoby to wszystkich! Dziękuję Ci!
splattne

Odpowiedzi:


3

To pytanie należy oznaczyć jako „udzielone” w taki czy inny sposób. W ten sposób adres URL /server//unans Odpowiedzi pozostanie poprawny. Proszę (wysłać i) zaakceptować „odpowiedź” na to pytanie. Dzięki!

Moja „odpowiedź” byłaby taka, że ​​zbudowanie (lub zainstalowanie) usługi skracania linków jest niezwykle łatwe i zamiast przeskakiwać wszystkie powyższe obręcze, po prostu skonfiguruj lokalny skracacz linków na serwerze internetowym, który odpowiada na „go. przyklad.com ”i upewnij się, że Twój DNS odpowiada wyszukiwarce przyklad.com. W ten sposób nie ujawniasz wewnętrznych adresów URL światu. (Być może brakuje mi sensu.)

Alternatywy:

  • W przypadku bardzo małej firmy lub grupy roboczej poproś wszystkich o ulubione zakładki i znajdź miejsce na pierwszą stronę intranetu.

  • Możesz też wdrożyć intranet dla swojej małej firmy lub grupy jako wiki z poręczną listą udostępnionych hot-linków, które pomogą ludziom dotrzeć tam, gdzie prawdopodobnie będą chcieli.

Pozdrawiam, Danny

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.