PowerEdge: Website onbereikbaar in een Windows-omgeving met identieke interne en externe domeinnamen
摘要: Dit artikel bevat informatie over drie problemen die zich kunnen voordoen in een omgeving waarin de Active Directory- en internetdomeinnamen identiek zijn.
症状
In alle onderstaande voorbeelden hebben het AD-domein en het geregistreerde domein beide de naam domain.com en is er een bedrijfswebsite met de naam www.domain.com. De identieke domeinnamen creëren een gesplitste (of split-brain) DNS-omgeving . In deze situatie hebben de interne en externe DNS-naamruimten dezelfde naam, maar zijn ze gescheiden.
Probleem 1: Een extern gehoste bedrijfswebsite is niet toegankelijk vanuit het kantoor.
Dit is het meest voorkomende probleem in een gesplitste DNS-omgeving. De website van het bedrijf, of een andere met internet verbonden bron die eigendom is van het bedrijf, kan niet vanuit het kantoor worden bereikt door klanten die lid zijn van het domein. Machines buiten het kantoor hebben geen problemen om de website te bereiken.
Onderwerp 2: Een intern gehoste openbare website is niet toegankelijk vanuit het kantoor.
Dit is een variatie op nummer 1 hierboven. Het verschil is dat de website intern wordt gehost, hetzij achter een firewall op het interne netwerk van het bedrijf, hetzij in een DMZ. Het zou toegankelijk moeten zijn voor zowel interne als externe gebruikers, maar interne gebruikers kunnen er niet bij. Externe gebruikers melden geen problemen.
Probleem 3: De website laadt onvolledig of laadt niet nadat probleem 1 of 2 is opgelost.
Het is mogelijk dat de site helemaal niet of onvolledig wordt geladen voor interne gebruikers. Delen van de site worden mogelijk niet weergegeven en links binnen de site werken mogelijk niet. Externe gebruikers hebben zonder problemen toegang tot de website.
原因
Onderwerp 1: Een extern gehoste bedrijfswebsite is niet toegankelijk vanuit het kantoor.
De reden waarom dit gebeurt, kan worden aangetoond door te onderzoeken wat er gebeurt wanneer een interne gebruiker probeert door de website van het bedrijf te bladeren:
- De computer van de gebruiker vraagt de DNS-server van het domein, meestal een domeincontroller (DC), om het IP-adres van
www.domain.com. - De DC host een forward lookup zone met de naam
domain.com, dus er wordt in die zone gezocht naar een hostrecord met de naamwww. - De DC vindt geen hostrecord met de naam
www, en aangezien het gezaghebbend is voor dedomain.comzone, wordt de query niet doorgestuurd. - De DC antwoordt op de computer van de gebruiker dat er geen adres kan worden gevonden voor
www.domain.com. - De browser op de computer van de gebruiker geeft "Pagina kan niet worden weergegeven" of een soortgelijke fout weer.
Het probleem doet zich voor omdat een autoritatieve DNS-server geen query's voor namen in zijn zones naar andere DNS-servers verzendt. Het retourneert een "niet gevonden"-antwoord als er geen record is die overeenkomt met een bepaalde query. In dit voorbeeld zijn er andere DNS-servers met de juiste record: de DNS-servers die de public hosten domain.com zone. Dit blijkt uit het feit dat machines buiten het kantoor de website kunnen bereiken. Query's van interne machines worden echter niet naar die server verzonden.
Probleem 2: Een intern gehoste openbare website is niet toegankelijk vanuit het kantoor.
De reden voor het probleem is vergelijkbaar met die in nummer 1. Interne gebruikers kunnen in dit geval de naam van de website correct omzetten in het openbare IP-adres. Ze kunnen de website echter nog steeds niet bereiken vanwege de manier waarop de firewall is geconfigureerd. Het verwacht dat gebruikers op het interne netwerk toegang krijgen tot de website via het privéadres in plaats van het openbare adres.
Probleem 3: De website laadt onvolledig of laadt niet nadat probleem 1 of 2 is opgelost.
Dit kan gebeuren als de websitecode browsers omleidt van www.domain.com Aan domain.com. Interne links kunnen ook naar de site verwijzen als domain.com in plaats van www.domain.com. Dezelfde symptomen worden waargenomen op interne machines, ongeacht of de site intern of extern wordt gehost.
De kwestie is in dit geval iets complexer. Om ervoor te zorgen dat machines domain.com naar een IP-adres, moet er een lege hostrecord zijn in de domain.com zone in DNS. De naam van deze record wordt weergegeven als (zelfde als bovenliggende map) in de Windows DNS-console. AD gebruikt echter lege hostrecords in de domain.com zone om DC's te vertegenwoordigen voor de domain.com domein. Als er extra lege hostrecords zijn in het domain.com zone, vertragingen of authenticatieproblemen kunnen het gevolg zijn.
Om de bovenstaande redenen kan dit probleem niet worden opgelost met alleen DNS. Het maken van een lege hostrecord met het IP-adres van de website lost het probleem met websitetoegang voor interne gebruikers slechts af en toe op. De bestaande lege hostrecords die verwijzen naar DC's verstoren dit vanwege de round robin DNS-functionaliteit. Aangezien deze records automatisch door de DC's worden geregistreerd, verschijnen ze regelmatig als ze uit de DNS-zone worden verwijderd.
解决方案
Onderwerp 1: Een extern gehoste bedrijfswebsite is niet toegankelijk vanuit het kantoor.
De oplossing voor dit probleem is eenvoudig. Maak een host (A)-record met de naam www in de domain.com-zone op de DC en geef die record het IP-adres van de website. Machines die die DNS-server opvragen, krijgen dan het juiste antwoord en kunnen door de website bladeren.
Probleem 2: Een intern gehoste openbare website is niet toegankelijk vanuit het kantoor.
Ook hier is een eenvoudige oplossing voor. Maak een hostrecord met de naam www in de domain.com-zone op de DC, maar geef de record het privé-IP-adres van de website. Interne machines zetten de naam van de website om naar dat privéadres, terwijl externe machines de naam blijven omzetten naar het openbare adres van de website.
Probleem 3: De website laadt onvolledig of laadt niet nadat probleem 1 of 2 is opgelost.
De eenvoudigste manier om dit probleem op te lossen, is door de code van de website aan te passen om de omleiding te verwijderen. Ook moeten interne links naar de site verwijzen als www.domain.com in plaats van domain.com. Als het wijzigen van de code niet mogelijk is, is de enige andere optie om het probleem op te lossen het wijzigen van de naam van het AD-domein. Dit kan een complexe taak zijn, afhankelijk van de grootte en complexiteit van de omgeving.
Notitie: De website moet worden bezocht onder de naam www.domain.com in al deze voorbeelden. Toegang tot de site met behulp van de naam domain.com werkt niet of slechts met tussenpozen.
其他信息
Best practices voor het ontwerpen van een Active Directory (AD)-domein raden af om een geregistreerde domeinnaam te gebruiken als de naam van een AD-domein. Hiervoor worden twee alternatieven voorgesteld:
- Gebruik een niet-openbaar DNS-achtervoegsel (
.localof.lan, bijvoorbeeld) in de AD-domeinnaam. - Maak van het AD-domein een subdomein van het geregistreerde domein (
corp.domain.com, bijvoorbeeld).
Dit is alleen mogelijk als het AD-domein nog niet is gemaakt of als er een naamswijziging wordt uitgevoerd.