Monthly archives: juni, 2016

Sammanställning av How-to guider för NetScaler

Citrix har publicerat en KB-artikel för hur man gör ett stort antal olika saker i NetScaler, vilken skall fyllas på framöver i och med att de publicerar mer.

Citrix Support Knowledge Center – NetScaler: How Do I?

De har i skrivande stund redan publicerat ett större antal guider kring SSL, load balancing och NetScaler Gateway (samt mycket annat).



Sätt statisk DNS för ett VM i Azure med ASM

Med Azure Service Management går det endast att byta DNS-inställningar för VM genom att ändra det på virtual network, vilket kanske inte är önskvärt (exempelvis om det finns flera VM som behöver ha dessa DNS-inställningar för att fungera).

Lösningen är då att skapa VM:et med DNS-inställningarna från början. Har du redan skapat ditt VM och behöver göra det så behöver du tyvärr ta bort ditt VM (inte diskarna!) och sedan skapa det på nytt med rätt DNS-inställningar. Detta är löst med Azure Resource Manager / ARM, så självklart rekommenderat att köra det med har du ett befintligt virtual network i ASM och vill fortsätta använda det ett tag så kan du göra enligt nedan.

Jag utgår från min föregående post Flytta Hyper-V VM till Azure för nedan rader:

 



Flytta Hyper-V VM till Azure

Det finns många sätt att flytta Hyper-V VM till Azure, i detta fallet beskriver jag hur det kan göras till ett befintligt virtual network (classic / Azure Service Management – ASM).

Kortfattat är det följande som behöver hanteras: (denna guide utgår från att VM:et kört sysprep innan det importeras)

Innan ett VM flyttas från Hyper-V till Azure behöver det bekräftas att Remote Desktop är aktiverat samt att det är tillåtet i brandväggen för Domain, Public och Private networks.

Mer info om hur powershell för Azure installeras och används finn här: How to install and configure Azure PowerShell

Kortfattat, vad som behöver göras för att koppla upp sig innan ovan kan utföras:

När väl den virtuella maskinen är igång finns det några saker som är rekommenderade att utföra (enligt Windows IT Pro: Use a Non-SYSPREP VHD in Azure):

KMS Client Keys finns här: Technet – Appendix A: KMS Client Setup Keys

Jag valde även att installera Azure Windows VM agent, vilket även kräver .NET 4.5 om det inte redan är installerat. Mer information om detta finns här: About the virtual machine agent and extensions

Jag valde även att ta bort så kallade ”Ghost NICs” från den virtuella maskinen, då jag sett att det ibland kan ställa till problem:

Har du något mer du gör när du flyttar VM till Azure? Lämna gärna en kommentar!



Publicera RDP Proxy-länk via StoreFront

Sedan ett tag tillbaka har NetScaler Gateway inte bara möjlighet att agera ICA Proxy för XenApp och XenDesktop, utan kan även agera RDP Proxy åt Remote Desktop Session Hosts.

För att dra nytta av detta har man antingen behövt publicera länken via Clientless-portalen som finns i NetScaler Gateway alternativt länka till den på något annat sätt. Jag hittade ett enkelt sätt att få in denna länk tillgänglig via StoreFront, så användarna kan starta sitt Remote Desktop via RDP Proxy på samma ställe de har sina publicerade skrivbord och applikationer från XenApp/XenDesktop. Värt att notera är att jag bara fått det att fungera via webläsaren och inte via Citrix Receiver, samt att detta inte är något som är supporterat från Citrix så finns möjlighet att det ställer till problem (men enkelt att inaktivera). Jag har testat det med StoreFront 3.0 och 3.5, men mycket möjligt att det kan behöva göras om för äldre/nyare versioner.

Utan att gå in något djupare på hur allt fungerar så skickar StoreFront en lista till webläsaren med alla tillgängliga applikationer. Det vi gör är att vi skriver om denna lista med hjälp av NetScalerns rewrite-funktion och infogar en ytterligare applikation på ungefär samma sätt som ”content” kunde bli publicerat i XenApp 6.5.

Först behöver vi inaktivera encoding så vi kan skriva om innehållet, jag gjorde det på följande sätt och applicerade det till den virtuella servern jag har för lastdelning av StoreFront:

Beskrivning av ovan:

  1. Skapa en rewrite action för att ta bort headern ”Accept-Encoding” från requesten som kommer från webläsaren till StoreFront-servern
  2. Skapa en rewrite policy som applicerar vår action när headern X-Citrix-Via är ”nsgw.xenit.se” (alltså endast när trafiken kommer via NetScaler Gateway, byt ut nsgw.xenit.se till ditt FQDN), när path är ”Citrix/StoreWeb/Resources/List” (byt ut StoreWeb till din StoreFront stores namn) samt när trafiken inte kommer från Citrix Receiver
  3. Bind policyn mot den virtuella servern för StoreFront

Nästa steg, utför själva omskrivningen av svaret från StoreFront till webläsaren:

Beskrivning av ovan:

  1. Skapa en rewrite action som infogar det nya innehållet (i JSON-format) efter ”resources”:[. Se till att byta ut FQDN för NetScaler Gateway samt RDPProxy-länken (i mitt fall 10.20.30.40) samt peka om URL till ikonen, samt välj ett namn och ID som passar.
  2. På samma sätt som innan, skapa en rewrite policy
  3. På samma sätt som innan, bind policyn mot den virtuella servern för StoreFront

Detta går att använda för fler typer av länkar, säg siter som är skyddade av AAA eller länk till någon hjälpsida. När jag testade mig fram till detta med hjälp av XenApp 6.5 och publicering av content fanns det en del andra parametrar som publicerades förutom dem jag infogar, men vad jag sett har det fungerat utan – men kan vara så att de behövs vid något speciellt scenario.

Hoppas detta kan vara till hjälp för någon som bygger en Unified Gateway med vill använda StoreFront som den enda portal att komma åt alla resurser. Förhoppningsvis kommer något liknande detta vara inbyggt i framtiden, så vi inte behöver göra det manuellt.