ASA VPN-klienter får adresser från fel DHCP-pool
Läs ASA:ns dhcp-server och dhcp-network-scope som två olika fält, sätt scope till en routingbar adress utanför poolen och verifiera sedan rutten.
AnyConnect-klienter dyker upp på fel subnät, eller DHCP-servern vägrar dela ut något alls, medan grupprincipen ser korrekt ut vid första anblicken. På en ASA finns två fält på två ställen som båda låter som ”varifrån adresserna kommer”, och att sätta det felaktiga ger exakt detta. Anslutningsprofilen namnger DHCP-servern; grupprincipen namnger ett subnät som servern ska välja från. Ingen av dem skapar en pool.
Tre objekt, tre frågor
Separera först tilldelningsmodellen från poolen, eftersom de två modellerna inte delar konfiguration. Om ASA:n delar ut adresserna själv definierar du en lokal pool och pekar grupprincipen mot den. Om en extern DHCP-server delar ut dem namnger anslutningsprofilen den servern och grupprincipen ger en scope-ledtråd. Att blanda de två är det vanliga skälet till att en adress aldrig dyker upp.
| Intent | Objects involved |
|---|---|
| ASA allocates from its own pool | ip local pool plus the group policy's address-pool |
| External DHCP allocates | dhcp-server on the tunnel group, dhcp-network-scope on the group policy |
Läs de gällande värdena innan du ändrar ett
En utelämnad rad är inte samma sak som en explicit none. Den körande konfigurationen visar vad du skrev; show run all group-policy visar vad policyn faktiskt löser upp sig till, inklusive ärvda standardvärden. Kontrollera båda innan du avgör att scope är fel, eftersom en grupprincip som ärver från en standardprincip kan ge ett värde som aldrig visas i den korta listan.
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 ?
? -utdata är värt att läsa på din installerade version, eftersom accepterade värden och deras hjälptext skiljer sig mellan versioner. Cisco ASA 9.24 referens för grupprincip dokumenterar attributet som en routingbar adress på önskat subnät, utanför tilldelningspoolen, med en gränssnittsadress föredragen. Det är inte poolens intervall och det är inte nätverksnumret.
Sätt scope till en adress, inte ett intervall
Anta att poolen du vill att servern ska använda är 10.50.30.50 till 10.50.30.200 på ett /24, och att ASA:ns gränssnitt på det segmentet är 10.50.30.1. Scope-värdet är 10.50.30.1. Att skriva 10.50.30.0 misslyckas eftersom det är nätverksnumret, och att skriva intervallet misslyckas eftersom attributet tar en enda adress. Om adressen du väljer inte är en gränssnittsadress behöver den en statisk rutt så att DHCP-serverns svar kan nå den.
group-policy RemoteStaff attributes
dhcp-network-scope 10.50.30.1
Det här fragmentet gör bara en sak. Det konfigurerar inte DHCP-servern, skapar ingen pool där och gör inte en ofullständig fjärråtkomstprofil fungerande. Beteendet som dokumenteras här är endast IPv4; förvänta dig inte att det styr DHCPv6 eller prefixdelegering.
Ändra det med en återställningspunkt
Ta först en ögonblicksbild, så att återställningen blir ett kommando och inte en återuppbyggnad. Spara den relevanta konfigurationen i en fil innan du redigerar, och vet vad no återställer på din version: det sätter attributet tillbaka till dess standard- eller ärvda värde, vilket kan vara none i stället för policyn ovanför.
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
Att ta bort attributet är också ett diagnostiskt steg. Utan en definierad scope söker DHCP-servern i sina egna pooler efter en otilldelad adress, så klienten kan hamna på ett oväntat ställe men ansluter åtminstone. Det resultatet säger att begärans väg fungerar och att det är poolvalet som misslyckas.
Verifiera adressen, rutten och behörigheterna
Läs tilldelningen från sessionstabellen i stället för från klientens dialog, bekräfta sedan att adressen är routingbar tillbaka till tunneln och att grupprincipens filter tillåter trafiken du förväntar dig. Ett tilldelningsbeslut är inte ett routingbeslut, och en klient som får en adress från rätt pool kan fortfarande misslyckas med varje begäran.
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
Om sessionen visar den avsedda adressen men trafiken dör är scope färdigt som misstänkt. Titta på returrutten, på split-tunnel- eller filterinställningar i grupprincipen och på om DHCP-scope ligger i ett segment som ASA:n faktiskt routar till.