Inhoud

Inleiding

Hoe DNS-cache werkt

Problemen oplossen

Inleiding

Dit document beschrijft het Domain Name System (DNS)-cachemechanisme in Session Management Functie (SMF) en de manier waarop u een oplossing kunt vinden.

Hoe DNS-cache werkt

Wanneer een DNS-query bij SMF plaatsvindt, wordt het antwoord van de DNS-server in de interne database opgeslagen. Het Full Qualified Domain Name (FQDN) voor Proxy Call Session Control Functie (P-CSCF)-adres is één voorbeeld wanneer P-CSCF Extended Protocol Configuration Optie (PCO) door de abonnee wordt gevraagd en als SMF P-CSCF FQDN-configuratie heeft, wordt DNS-query verzonden en het antwoord in het cache wordt opgeslagen.

Een voorbeeldprofiel van P-CSCF en de configuratie van dns-volmacht zijn:

profile pcscf pcscf1

fqdn pcscf6.test.local

v6-list

precedence 1

primary fe80::1

exit

exit

exit

profile dns-proxy

query-type ipv6

timeout 2000

round-robin-answers

servers serv1

ip 192.168.20.11

port 53

protocol udp

priority 1

exit

exit

Met de configuratie probeert SMF eerst de FQDN pcscf6.test.local op te lossen met DNS server en slaat het antwoord in het cache op. Het statische P-CSCF-adres (fec0:1) wordt alleen gebruikt wanneer DNS-resolutie niet werkt. Volgende keer dat SMF in het cache controleert en als de naam van de host wordt gevonden, wordt deze gebruikt en gebeurt de DNS-query niet. De cache-ingang is verlopen op basis van de Time to Live (TTL) die is ingesteld door SMF-configuratie of -waarde van de DNS-server.

Problemen oplossen

Het cache moet worden onderzocht wanneer er een probleem is met DNS-resolutie, bijvoorbeeld wanneer SMF een onverwacht IP-adres voor P-CSCF retourneert, blijft er mogelijk een oude inloop in het cache, vanwege een verkeerde TTL-waarde of omdat het TTL-verloopmechanisme niet op een of andere manier werkt.

De cached items kunnen worden gezien met show dns-cache CLI.

[unknown] smf# show dns-cache ipv6

dns-cache-details

{

"cacheResponse": [

{

"hostname": "pcscfv6.test.local",

"hostdata": [

{

"podInstance": "0",

"cachedType": "ipv6",

"cachedTime": "Wed Jan 26 03:32:01 UTC 2022",

"currentTime": "Wed Jan 26 03:32:03 UTC 2022",

"cachedData": [

{

"ip": "fec0:0:1:2:3:4:fe8b:5d43",

"ttl": 180

}

],

"dnsServer": "192.168.20.11:53 udp"

}

]

}

]

}

DNS-resolutie kan met test dns-query CLI worden getest.

[unknown] smf# test dns-query fqdn pcscfv6.test.local

dns-summary

Hostname : pcscfv6.test.local,

IPv4Addr : [],

IPv6Addr : [fe80:0:1:2:3:4:fe8b:5d43]

De CLI wordt geïmplementeerd via Cisco bug ID CSCvz13118. Als een oude SMF-opbouw wordt gebruikt en de CLI niet beschikbaar is, kunnen de cache-items met etcdctl-opdracht op etcd-pod worden gedumpt.

[root@master1 ~]# kubectl get pod -n smf-data | grep etcd

etcd-smf-data-etcd-cluster-0 2/2 Running 2 23h

[root@master1 ~]# kubectl exec -it etcd-smf-data-etcd-cluster-0 -n smf-data bash

Defaulting container name to member.

Use 'kubectl describe pod/etcd-smf-data-etcd-cluster-0 -n smf-data' to see all of the containers in this pod.

groups: cannot find name for group ID 303

I have no name!@etcd-smf-data-etcd-cluster-0:/usr/local/bin$

I have no name!@etcd-smf-data-etcd-cluster-0:/usr/local/bin$ etcdctl get --prefix C.RadiusDNS

C.RadiusDNS/DNS/CacheV6.pcscfv6.test.local

fe80:0:1:2:3:4:fe8b:5d43

180

C.RadiusDNS/DNS/Common.algorithm

round-robin

C.RadiusDNS/DNS/Common.queryType

ipv6