Andreas Bergman

Icon

Lärt mig nytt om Active Directory

Igår lärde jag mig en intressant om Microsoft Active Directory, nämligen att det är väldigt beroende av DNSen för att fungera, något som jag både kan tycka är smart och ganska dumt.

Uppenbarligen så är det så att en massa pekare om vart klienten ska leta efter saker finns i en DNZ zon som heter _msdcs som Microsoft skapar i DNSen för att hantera pekare till olika tjänster, som tex Active Directory. När man lägger till en klient i domänen så letar klienten efter subdomänen _msdcs.domännamnet.tld efter de pekare som behövs, bland andra hosten _ldap som ska finnas i sub-subdomänerna dc,_tcp med andra ord så slår den upp adressen _ldap._tcp.dc._msdcs.domänen.tld för att ta reda på vilken maskin som är DC för den aktuella domänen.

TechNet finns en förteckning över alla records som behövs för att det ska fungera, vilket är bra att veta om man vill använda en extern DNS istället för Microsofts inbyggda.

Min gissning till att man valt att göra såhär är för att man dels ska kunna använda en externs DNS, men det har nog också med skalbarhet att göra, exakt hur, varken kan eller orkar jag ta upp nu.

Förhindra att resolv.conf skrivs över

För att förhindra att dhclient skriver över /etc/resolv.conf så lägger du till en fil i /etc/dhcp3/dhclient-enter-hooks.d/ i den filen skriver du:

make_resolv_conf() {
 echo "doing nothing to resolv.conf"
}

Sedan gör du dina ändringar i /etc/resolv.conf, startar du nu om dhclient eller servern så kommer ändringarna att sparas.


			

DNS-svar baserad på din position

I mitt projekt för att bygga ett Content Delivery Network så har jag klurat en del på hur jag bäst ska lösa det med trafik som kommer från utlandet, om jag har en besökare från USA så vill jag ju inte att ha ska bli tvungen att hämta materialet från en server i sverige, utan att han ska hämta det från en servern i USA. Mitt första uppslag var att använda Anycast(http://en.wikipedia.org/wiki/Anycast) där man i korthet presenterar samma ip till olika maskiner på olika siter, det verkade dock sjukt overkill! Så jag funderade på hur jag skulle kunna lösa det i DNS-recordet, men det går inte heller riktigt. Dock så kan man göra det i DNS-servern så den anpassar svaret beroendepå vartifrån man kommer, artikeln nedan beskriver en del hur man ska göra: http://blog.fupps.com/2007/04/02/location-based-geo-dns-in-a-private-network/ dock väldigt specifikt för Stanford::DNS server.  Den här PDF:en beskriver lite kort hur man tänker rent tekniskt http://www.ietf.org/proceedings/74/slides/alto-9.pdf man tänker inte placering geografiskt, utan placering på internet. Inte superanvändbart kanske, men en lärdom.

Jag kommer garanterat att komma in på det här igen, men nu har jag åtminstone en början att jobba utifrån.

Den här bloggen

skriver jag, Andreas Bergman, vilket i sig inte bör vara så förvånande. Jag driver en SMS tjänst och jobbar som tekniker/allt i allo på SEA där jag bland annat driftar en stor bloggportal och ett webbhotell. Vi håller även på att bygga ett datacenter.


Jag har några microsoft titlar, ett gäng DELL certifikat och jobbar dagligen med hårt belastade webbservrar. Utöver det jobbar jag också med virtualisering och server/storage. Någon gång ibland säljer jag även server och storagelösningar.

Maila mig gärna om något av ovan, eller annat, jag är ganska trevlig sägs det. andreas@abergman.se.