AnyConnect-clients komen op het verkeerde subnet op, of de DHCP-server weigert helemaal iets uit te geven, terwijl het groepsbeleid op het eerste gezicht klopt. Op een ASA staan twee velden op twee plaatsen die allebei klinken als „waar de adressen vandaan komen”, en het verkeerde instellen levert precies dit op. Het verbindingsprofiel noemt de DHCP-server; het groepsbeleid noemt een subnet waaruit die server moet kiezen. Geen van beide maakt een pool.

Drie objecten, drie vragen

Scheid eerst het toewijzingsmodel van de pool, want de twee modellen delen geen configuratie. Als de ASA zelf adressen uitgeeft, definieert u een lokale pool en richt u het groepsbeleid daarop. Als een externe DHCP-server ze uitgeeft, noemt het verbindingsprofiel die server en levert het groepsbeleid een scope-hint. De twee door elkaar halen is de gebruikelijke reden dat een adres nooit verschijnt.

IntentObjects involved
ASA allocates from its own poolip local pool plus the group policy's address-pool
External DHCP allocatesdhcp-server on the tunnel group, dhcp-network-scope on the group policy

Lees de effectieve waarden voordat u er een wijzigt

Een weggelaten regel is niet hetzelfde als een expliciete none. De actieve configuratie toont wat u hebt getypt; show run all group-policy toont waarop het beleid werkelijk uitkomt, inclusief geërfde standaardwaarden. Controleer beide voordat u besluit dat de scope fout is, want een groepsbeleid dat van een standaardbeleid erft, kan een waarde leveren die nooit in de korte lijst verschijnt.

show running-config group-policy RemoteStaff
show run all group-policy RemoteStaff
show running-config tunnel-group RemoteStaff
group-policy RemoteStaff attributes
 dhcp-network-scope ?

? is de moeite waard op uw geïnstalleerde release, omdat geaccepteerde waarden en hun helptekst per versie verschillen. De Cisco ASA 9.24 referentiegids voor groepsbeleid documenteert het attribuut als een routeerbaar adres op het gewenste subnet, buiten de toewijzingspool, met voorkeur voor een interfaceadres. Het is niet het poolbereik en het is niet het netwerknummer.

Zet de scope op een adres, niet op een bereik

Stel dat de pool die u de server wilt laten gebruiken 10.50.30.50 tot 10.50.30.200 is op een /24, en dat de ASA-interface op dat segment 10.50.30.1 is. De scope-waarde is 10.50.30.1. 10.50.30.0 schrijven mislukt omdat dat het netwerknummer is, en het bereik schrijven mislukt omdat het attribuut één adres accepteert. Als het adres dat u kiest geen interfaceadres is, heeft het een statische route nodig zodat het antwoord van de DHCP-server het kan bereiken.

group-policy RemoteStaff attributes
 dhcp-network-scope 10.50.30.1

Dit fragment doet maar één ding. Het configureert de DHCP-server niet, maakt daar geen pool aan en maakt van een gedeeltelijk profiel voor externe toegang geen werkend profiel. Het hier gedocumenteerde gedrag is alleen IPv4; verwacht niet dat het DHCPv6 of prefixdelegatie aanstuurt.

Wijzig het met een terugkeerpunt

Maak eerst een snapshot, zodat het terugdraaien een commando is en geen herbouw. Sla de relevante configuratie op in een bestand voordat u bewerkt, en weet wat no op uw release herstelt: het zet het attribuut terug naar zijn standaard- of geërfde waarde, die none kan zijn in plaats van het beleid erboven.

copy running-config flash:pre-dhcp-scope.cfg
conf t
 group-policy RemoteStaff attributes
  no dhcp-network-scope
  dhcp-network-scope 10.50.30.1
 end
write memory

Het attribuut verwijderen is ook een diagnostische stap. Zonder gedefinieerde scope zoekt de DHCP-server in zijn eigen pools naar een niet-toegewezen adres, dus de client kan op een onverwachte plek belanden maar maakt ten minste verbinding. Dat resultaat zegt dat het pad van de aanvraag werkt en dat de poolkeuze is wat faalt.

Verifieer het adres, de route en de rechten

Lees de toewijzing uit de sessietabel en niet uit het dialoogvenster van de client, bevestig dan dat het adres terug naar de tunnel routeerbaar is en dat de filters van het groepsbeleid het verkeer toestaan dat u verwacht. Een toewijzingsbeslissing is geen routeringsbeslissing, en een client die een adres uit de juiste pool krijgt, kan alsnog bij elk verzoek falen.

show vpn-sessiondb detail anyconnect filter name testuser
show ip local pool
show route | include 10.50.30
ping 10.50.30.61 source inside

Als de sessie het bedoelde adres toont maar het verkeer sterft, is de scope als verdachte afgedaan. Kijk naar de retourroute, naar split-tunnel- of filterinstellingen op het groepsbeleid, en of de DHCP-scope op een segment staat waar de ASA werkelijk naartoe routeert.

Gerelateerde artikelen