Har du nogensinde prøvet at koble en Zyxel Zywall 5 op til Azure med Site to Site VPN?
Jo, det er faktisk muligt med denne aldrende (og tilsvarede Zyxel Zywalls som fx Zyxel Zywall 10, Zyxel Zywall 25 eller Zyxel Zywall 50).
Der er dog en væsentlig begrænsning – du kan kun bruge en Azure Static Routing Gateway, og det betyde at du kun kan forbinde et enkelt site til dit Azure Virtual Network – ikke noget med at forbinde flere afdelingskontorer, forbinde flere Azure Virtual Networks samtidigt eller at kombinere det med Point 2 Site VPN forbindelser – desværre.
Denne begrænsning skyldes ganske simpelt at Azure anvender protokollen IKEv1 (IKE står for Internet Key Exchange – Wikipedia om IKE) til Site2Site med Static Routing Gateway, mens IKEv2 anvendes lige så snart du brugeren Dynamics Routing Gateway.
Hvordan gør man så?
Som udgangspunkt følger du Zyxels vejledning til Zywall/USG som du finder Zywall/USG site-to-site Azure vpn. Bemærk dog følgende:
Din Zywall 5 m.fl. understøtter ikke Pre Shared Keys (PSKs) på mere end 31 tegn. Azure genererer som standard PSK på 32 tegn.Det kan du løse på flere måder – fx ved manuelt at angive en key med Azure Powershell (klik evt. Installer Azure Powershell for hjælp med at installere Azure Powershell) med kommandoen
Set-AzureVNetGatewayKey [-VNetName] <String> [-LocalNetworkSiteName] <String> [-SharedKey] <String>
…eller ved at hente og bruge dette lille program: Generate31CharPsk
Programmet er i øvrigt ikke lavet af mig, men er fundet Azure Virtual Networks and Netgear VPN (or other unsupported VPN). Bemærk dog at programmet i det indlæg laver 49 tegns PSK’er – så jeg har måtte patch programmet til kun at lave 31 tegns PSK’ere.
Programmet kræver også Azure Powershell for at finde de nødvendige informationer, så i virkeligheden kan du lige så godt selv angive en PSK med ovenstående Powershell kommando.
På Zywall 5’eren er relevante billeder til opsætningen disse:
- Opsæt IP på hhv. din WAN-forbindelse og Azures gateway. Local ID skal også stå til disse to IP-numre
- NB: Associated Network Policies kommer automatisk på når næste billede er oprettet
- Gateway Policy er den du har oprettet ovenfor. De to Ranges og Subnets er hhv. dit lokale LAN range og Azures Virtuelle Netværk (inkl. de subnets du måtte have der – dvs. det er hele netværket inkl. det netværk Gateways mv. ligger i).
Vigtigt: Det er vigtigt at dit lokale LAN er opsat som et Range – for Azure pinger altid første adresse – og det dur jo ikke at den pinger x.x.x.0 hvilket den vil gøre hvis du opsætter et subnet! Sørg for at noget svarer på den første adresse – ellers vil Azure tro at forbindelsen er død og re-connecte (hvilket kan tage nogle sekunder). Azure pinger i øvrigt fra sin x.x.x.0-adresse – hvilket er lidt buggy! Men når bare man ved det… - Vigtigt: Det er ikke vist nedenfor, men du bør opsætte Zywall’en til “Check IPSec Tunnel Connectivity”, hvor du pinger Azures x.x.x.0-adresse (som den faktisk varer på!) eller alternativt en af de Virtuelle Maskiner du opsætter i Azurer. Det sikrer at Azure ikke lukker VPN’en ned når du ikke bruger den – og da det tager lidt tid at koble op igen er det et krav for at tingene fungerer stabilt!
Skal du have en Azure server til at svare på ping, så skal du i øvrigt lige tillade det i firewall’en. Det gør du lettest ved at starte en kommandoprompt som administrator og køre kommandoennetsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" dir=in action=allow enable=yes protocol=icmpv4:8,any
- MSS skal jf. PDF’en opsættes til 1350 for at forbindelsen fungerer stabilt. Det kan man på disse Zywalls desværre ikke gøre på hver enkelt VPN-forbindelse, men kun gøre globalt. Det er det eneste jeg har sat i dette billede:
Bemærk i øvrigt at de nævnte Zywalls har meget begrænset båndbredde på VPN, så alt efter hastigheden på dit Internet bør du overveje at anskaffe en Zywall med højere kapacitet på VPN (større båndbredde). Og samtidigt bør du naturligvis gå efter en der kan IKEv2. Det kunne fx være en “ZyWall 110 HP VPN Firewall no UTM”, der har IKEv2 og 400Mbit/s VPN (AES) båndbredde).
27.09.2015: Opdateret omkring at der skal defineres et address range til det lokale LAN – ellers ping’er Azure x.x.x.0 på dit netværk – og den svarer jo ikke på ping. Dermed vil Azure før eller siden tro at forbindelsen er død og re-connected. Og det kan afbryde forbindelsen nogle sekunder. Præciser også at Azure kan pinges på sin x.x.x.0-adresse (det er faktisk også den der pinges fra). Det er lidt buggy at det er lavet sådan, men når bare man ved det…