Alan adım için Google ShortName hizmetini nasıl kurarım, böylece FQDN gerekli değildir


13

"Alan adınız için bir" tinyurl "hizmeti " blog yayını , Google Apps kullanarak alan adınız için nasıl Kısa Ad hizmeti oluşturacağınızı açıklar. Örneğin, alan adınız example.comve Google Apps kullanıyorsanız, bunu şirketinizin http://go.example.comkişisel Kısa Ad hizmeti olacak şekilde yapılandırabilirsiniz .

NOT: Bu, dünyanın kullanması için bir "tinyurl" hizmeti oluşturmakla ilgili değildir. Bu bir işletme içindir.

Dahili sayfalara bağlantı oluşturabilmeniz için yalnızca kullanıcılarınızın kullanabileceği bir kısa ad hizmetine sahip olmanız yararlı olur. İnsanlara uzun bir zor URL söylemek yerine, "Bugünün öğle yemeği menüsü http://go.example.com/lunch adresinde " diyebilirsiniz . Blog yazısı, insanları kendi bağlantılarını kurmaları için güçlendirmenin bazı faydalarını belgeliyor. (En önemlisi: yeni bir bağlantı kurmak için sizi rahatsız etmek zorunda değiller!)

Sorun

Sistemdeki sorun, URL'nin hala oldukça uzun olmasıdır. İnsanlar web tarayıcılarına "git / öğle yemeği" yazmayı ve çalışmasını isterler. Ne yazık ki, Google Apps, HTTP protokolünün nasıl çalıştığı tekniklerinden dolayı bunu destekleyemiyor. HTTP 1.1'deki "Host:" başlığı, kullanıcının FQDN'yi değil, web tarayıcılarına yazdığı etki alanını listeler . Başka bir deyişle, Google Apps " http: // go / lunch " için HTTP isteğini aldığında, web sunucusu ana makine adı olarak "go" alır. Google Apps, birçok alanlar için de bu hizmeti sağlayan olduğundan isterseniz, bu söyleyemem go.example.comya go.some-other-example.com.

Sonuç olarak, kullanıcıların her seferinde "go.example.com/lunch" yazmaları gerekir, bu da "git / öğle yemeği" den çok daha uzundur.

Çözüm

Google bunu web çerezleri veya başka bir şema kullanarak çözebilir. Hiçbiri özellikle temiz veya kolay değildir. Bunu yapana kadar, istekleri "git" olarak kabul eden ve yönlendiren bir makine kurarak sorunu çözebilirsiniz.

Sunucu "go" adlı bir site için HTTP isteklerini kabul eder ve isteği adresine yönlendirir go.example.com. Daha sonra doğru DNS kayıtlarını çalıştıracak şekilde oluşturun ve DHCP yapılandırmalarınızı, dizüstü bilgisayarlarınızın / iş istasyonlarınızın doğru olanı yapmasını sağlayın.

Bu Sunucu Hatası belgesinin amacı, işlemi açıklamak ve ardından siteniz için bunu yapmanıza yardımcı olacak yapılandırma örnekleri vermektir. Dünyadaki her işletim sistemine erişimim veya bilgim olmadığı için, bunu bir "topluluk wiki" haline getiriyorum, böylece insanlar onlar için çalıştıkça yapılandırma snippet'lerini doldurabilirler. Özellikle iyileştirilmesi gereken bir alana 'TODO' koydum.

Ayrıntılar

Bu örnekte alan adı olarak "example.com" kullanacağız.

1. Adım: Google Apps hizmetini normal şekilde ayarlayın.

Hizmeti go.example.comnormal şekilde yapılandırın . Test edin ve benzer bir URL'nin http://go.example.com/fooçalıştığından emin olun . Bu tamamlanmadıysa devam etmeyin. Bu, arabanız sizinkinden önce onarılmaya çalışılır.

2. Adım: Yeniden yönlendirici ana makine adınızı seçin

Kısa go.example.comad hizmetinizse , ideal olarak yeniden yönlendiricinizin adını yaparsınız go.example.com. Ne yazık ki, fizik iki cismin aynı anda aynı yerde olmasını önler ve DNS fizik yasalarına uyar.

İşin püf noktası, yeniden yönlendiricinin ShortName hizmetiyle aynı ana bilgisayar adı, ancak farklı bir etki alanında olması. Örneğin go.corp.example.com, go.ext.google.comya da go.this-is-different.example.com.

Büyük şirketlerin genellikle dış dünyaya açık olmayan bir iç alt alanı vardır. Genellikle dahili ana bilgisayarlar vardır INSIDEHOST.corp.google.com. Yeniden yönlendiriciyi koyduğunuz yer burasıdır.

Bazı şirketler, hem şirket içinden hem de dışından erişilmesi gereken hizmetlere işaret eden CNAME'lerle dolu bir alt alan ayırır. Bu şekilde, insanların DNS arama yoluna konulması gereken bir alt alan vardır. (Unix kullanıcıları bunu /usr/local/binsembolik linklerle dolu bir alt dizin olarak düşünebilir ) Geleneksel olarak bu alt alan adıdır ext.example.com. Bu alt alan olarak CNAME'ler gibidir mail.ext.example.com, calendar.ext.example.com, vpn.ext.example.com, vb.)

Uyarı: DNS arama yolunuza başka bir öğe eklemek, bilgisayarlarınızın daha yavaş çalışmasını sağlamanın başka bir yoludur. HER ZAMAN ek bir DNS sorgusu yapmak yavaştır ve web'de gezinmek belirgin şekilde daha yavaş olacaktır. Birden çok alt alana CNAME eklemek anlamına gelse bile, bu yönlendiriciyi makinenizin DNS arama yolunda bulunan bir alt alana eklemek çok daha iyidir. Örneğin, dahili makineleriniz ve VPN'nize bağlı makineler corp.example.comzaten arama yollarındaysa, CNAME'yi buraya ekleyin. VPN'lenmemiş harici makinelerin yeniden yönlendiriciye erişebilmesini istiyorsanız, dışarıdan hiç erişilmeyen makineler için alt alansa corp.example.com, arama yollarına sabit kod yazmak garip gelebilir . Bu durumda, harici bir alt alana başka bir CNAME eklenebilir (ör.ext.example.com) yönlendiriciye yönlendirin. Web sunucusu yapılandırmasını her ikisini de destekleyecek şekilde güncelleyin.

Bu örnekte, yeniden yönlendiricinin olacağını seçtiğinizi varsayalım go.ext.example.com. Makine istediğiniz herhangi bir şey olarak adlandırılabilir, DNS ve web sunucusu yapılandırmasında tüm sihri yapacağız.

3. Adım: Yönlendiricinizi planlama

Ayarlayacağınız web sunucusu mevcut bir web sunucusunda veya sadece bu amaçla oluşturulmuş yeni bir web sunucusunda olabilir. Anahtar, makineye ShortName hizmetinin çalışmasını istediğiniz yerden erişilebilir olması gerektiğidir: şirket içinde, şirket dışında, kullanıcı VPN üzerinden bağlandığında. (Güvenlik nedeniyle bu çalışmayı şirket dışından almayı tercih edebilirsiniz. Güvenlik nedeniyle, içeride bir makine ve dışarıda başka bir makine kurabilirsiniz.)

Not: Bunun için yeni bir web sunucusu ayarlamanız gerekmez. Yapılandırma mevcut olmadığı sürece bunu önceden var olan bir web sunucusuna ekleyebilirsiniz.

Not: Bu oldukça karmaşık olabilir. Bunun en basit durumda çalışmasına odaklanmak isteyebilirsiniz, daha sonra çalıştıktan ve test edildikten sonra, diğer durumlar için çalışmasını sağlayın. Özellikle, şu sırayla çalışmasını sağlayın: 1. şirket içindeki iş istasyonları / dizüstü bilgisayarlar 2. VPN ile bağlı OLDUĞU makineler, daha sonra şirket dışındaki makineler (örneğin, bir İnternet kafede). 3. OLARAK ağ dışındaki makineler, VPN yukarı olmadan 4. SONRA bunu diğer işletim sistemleri için test edin

Bu örnekte, ister şirket içinde ister şirket dışında olun, aynı IP adresinden erişilebilen bir web sunucusu olduğunu varsayacağız.

"Go. Corp .example.com" örneğimizde bu, "go" nun yalnızca içeriden öğrenenler tarafından erişilebilen ve ShortName hizmetini kullanmak için bir VPN gerektiren bir alt etki alanında olduğu anlamına gelir. Google Apps genellikle bir VPN olmadan çalışacak şekilde yapılandırıldığından (tüm erişim HTTPS olduğu için), bu en düşük düzeydedir.

"Go. Ext .example.com" örneğimizde bu, alt alana hem şirketin içinden hem de dışından erişilebileceği ve Akayıtların harici bir IP adresine işaret ettiği anlamına gelir .

4. Adım: Yeniden yönlendiriciniz için DNS kayıtları ekleyin

Gerekli DNS kayıtları şunlardır:

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

İlk DNS kaydı (go.example.com), 1. Adımın bir parçası olarak zaten mevcut olmalıdır.

İkinci DNS kaydı (devam. Ext .example.com), Ayapılandırmakta olduğunuz yeni web sunucusunun IP adresini gösteren bir kayıttır.

Üçüncü DNS kaydı (go-redirector) hata ayıklama sırasında size yardımcı olmaktır.

5. Adım: Web sunucusunu yapılandırın

Yönlendirmeyi web sunucusuna ekleyin. (Bu, web sunucusunun zaten kurulu ve çalışıyor olduğunu varsayar).

Apache yapılandırma snippet'i şöyledir:

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

Bu nasıl test edilir. http://go-redirector.example.combu noktada çalışmalı.

Bu test çalışana kadar devam etmeyin. Bebek adımları.

6. Adım: İstemcinin DNS arama yolunu yapılandırın

Şimdi makineleri (web tarayıcısı çalıştıran herhangi bir şey) DNS arama yolunun "ext.example.com" içereceği şekilde yapılandıracağız

DHCP sunucunuzda ve VPN sunucunuzda bir DNS arama yolu gönderin:

corp.example.com.

(yönlendirme ana makinesine sahip alt alan adı ve ardından ".")

Alternatif olarak aşağıdaki gibi bir arama yolu kullanabilirsiniz:

corp.example.com example.com.

Ancak bu, gittiğimiz HER darn web sayfası için ek bir DNS araması ekleyecektir. Zamanın% 99'unda başarısız olacağından, bu sadece web gezintisini yavaşlatacaktır.

İş istasyonlarında ve dizüstü bilgisayarlarda, alt alan adının DNS arama yolunda bulunduğundan emin olmanız gerekir. Bu şekilde kullanıcı "git" yazdığında, yazılım bunu etki alanında bulur.

Makinenin arama yolunu, arama yolunun ayarlanabileceği her şekilde bu alt etki alanını içerecek şekilde yapılandırmak istiyoruz:

Başlangıçta, DNS arama yolu DHCP üzerinden ayarlanamadı. Bu yeni eklenen bir özelliktir ve tüm DHCP istemcileri bunu desteklemez. Destekleyen DHCP istemcileri bile değiştirilmelidir çünkü bir dizüstü bilgisayar bir İnternet kafede olduğunda, kontrol etmeyen bir DHCP sunucusuyla konuşur. Dizüstü bilgisayar bir VPN kullandığında, VPN istemci yazılımı aslında DHCP kullanmaz, ancak VPN sunucusunun genellikle DHCP sunucusundan alacağı ayarları aktarmasının bir yolu vardır.

Bu nedenle, tüm bu yerlerde DNS arama yolunu ayarlamak istiyorsunuz:

  • DHCP sunucusu DNS arama yolu seçeneklerini göndermelidir
  • Statik olarak yapılandırılmış makinelerde DNS arama yolu ayarlanmalıdır
  • corp.example.comDHCP sunucusu zaten istemiyorsa, DHCP kullanan istemciler etki alanını arama yollarına önceden ekleyecek şekilde yapılandırılmalıdır .

Aşağıda çeşitli DHCP sunucularında ve işletim sistemlerinde bunun nasıl yapılacağı ile ilgili talimatlar verilmiştir.

DHCP sunucularını bir DNS Arama Yolu içerecek şekilde yapılandırma:

  1. Windows DHCP talimatları

YAPMAK

  1. ISC DHCP talimatları

Arama yolu yalnızca makinenin olması gereken etki alanı ise, o zaman:

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

İstemciler bir arama yolu sağlamak için RFC 3397'yi destekliyorsa, bunu yapabilirsiniz, ancak her biri DNS'de olduğu gibi uzunluk ön ekli etiketler olarak kodlanan bir DNS ana bilgisayar dizisi olan bir veri türü için yerel destek olmadığından gariptir. Kayıt dizisi olarak tanımlanan bir seçeneğin değerlerini yazmanın bir yolu yoktur; burada kayıt başka bir kaydın dizisini içerir, bu nedenle işleri manuel olarak kodlamak için bir veri dizesi kullanmak üzeresiniz.

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

(denenmemiş) iki öğe arama listesi oluşturmalıdır.

  1. dnsmasq DHCP talimatları

YAPMAK

Statik olarak yapılandırılmış makineleri yapılandırma:

  1. pencereler

YAPMAK

  1. Linux / Unix

Düzen /etc/resolv.confve emin (1) "domain corp.example.com" ilk satırı, (2) eklenti / düzenle "arama" çizgi dahil etmek yapmak corp.example.combir ekleme alanı, (3) "seçenekleri ndotes: 2" çizgi için DNS sunucularınızdaki yükü azaltın.

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

DHCP istemcilerini diğer DHCP sunucularında çalışacak şekilde yapılandırma

Windows, Linux vb. İçin YAPILACAKLAR

7. Adım: Test edin, test edin, test edin!

Artık kullanıcılar şunları belirleyebilmelidir:

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

Aslında, bir güven testi olarak, bu URL'leri her durumda test etmek istersiniz:

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

Adım 8: Diğer tavsiyeler

Ve son olarak, bir tavsiye: Bunun mükemmel bir işini yapmış olsanız bile http://go/foo, bir kişi DNS aramasını zorlamak için yapılandırmamış olduğunuz bir bilgisayara yazmaya çalıştığında hala bir bağlantının çalışma riskiyle karşı karşıyasınız. alanınızı eklemek için bir yol. Bu nedenle, bağlantıları tam URL'yi kullanarak yayınlamalısınız http://go.example.com/foo:; ve şirketinizin PR departmanını ve diğerlerini her zaman bu şekilde belirtmeleri için eğitmek için zaman ayırın.

Veya en azından bunları HTML'de kodlayın, böylece bağlantı metninde "git" görünür, ancak gerçek HREF FQDN'ye gider:

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

Halkla ilişkiler departmanındaki kişilere bunu yapmayı öğretmek zor olabilir. Onlara sadece uzun versiyonunu ( go.example.com) yazdıkları herhangi bir şeyde kullanmak zorunda olduklarını söylemek isteyebilirsiniz, çünkü kısa “git / öğle yemeği” sadece kazara çalışır.

Adım 8: HTTPS

YAPILACAKLAR: HTTPS ile nasıl çalışacağınızı öğrenin (sertifikaların doğru olması imkansız olmasa bile çok zor olacaktır).


2
istemcilerin belirli arama yolunuzu etkinleştirmesini gerektiriyorsa, asla uçmayacaktır. Bunu gerçekten yapmak istiyorsanız, kendi kısa TLD'nizi satın alın - sadece 280 bin dolardan bir snip
Alnitak

1
Bunun kamu hizmeti için değil, kurumsal kullanıcılar için olduğunu açıklamalıyım.
TomOnTime

6
Merhaba Tom, normalde sorunuz için önerdiğimiz, bir soru sormak ve ardından çözümünüzü yanıt olarak yayınlamaktır. Bu şekilde onaylanabilir ve kabul edilmiş olarak işaretlenebilir: serverfault.com/faq (`` Kendi sorunuzu sormak ve cevaplamak da gayet iyi, ancak Tehlikede olduğunuzu varsayın: bunu bir soru şeklinde ifade edin. ')
Mark Henderson

1
Ve ... Tom şimdi "bu bir soru değil, serverfault meme'ye ait değil" ile tanıştırıldı. Su soğutucusuna hoş geldiniz. Müthiş gönderi Tom. +1.
Joseph Kern

2
@TomOnTime belki bir soru ve cevap "sorun" ve "çözüm" bölebilirsiniz. Bu herkesi mutlu eder! Teşekkür ederim!
Splattne

Yanıtlar:


3

Bu soru şu ya da bu şekilde "yanıtlandı" olarak işaretlenmelidir. Bu şekilde, /server//unanswered URL doğru kalacaktır. Lütfen bu soruya "cevap" yazıp gönderin. Teşekkürler!

Benim "cevabım", bir bağlantı kısaltma hizmetini oluşturmak (veya kurmak) son derece kolaydır ve yukarıdaki tüm çemberlerden atlamak yerine, "go" yanıtını veren bir web sunucusunda yerel bir bağlantı kısaltıcı kurmak olacaktır. example.com "olarak adlandırın ve DNS'inizin example.com aramasını yanıtladığını doğrulayın. Bu şekilde, dahili URL'leri dünyaya sızdırmazsınız. (Muhtemelen bu noktayı kaçırıyorum.)

Alternatifler:

  • Çok küçük bir şirket veya çalışma grubu için herkese favori yer işaretlerini sorun ve intranet ön sayfasına koymak için biraz yer bulun.

  • Alternatif olarak, küçük şirketiniz veya grubunuz için İntranet'i wiki olarak dağıtın ve insanların gitmek istedikleri yere ulaşmalarına yardımcı olacak kullanışlı paylaşılan bağlantıların bir listesi.

Şerefe

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.