Ce document décrit l'exception Troubleshoot ICMP source address selection causée par l'interaction entre no ip classless et la route par défaut.
Cisco vous recommande de prendre connaissance des rubriques suivantes :
Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Remarque : Cisco recommande de maintenir la configuration ip classless par défaut pour éviter les impacts inattendus sur la recherche de route et la sélection d'adresse source de trafic local provoqués par no ip classless.
Sur le routeur C8500L, la route par défaut est apprise via BGP, et le tronçon suivant de la route par défaut pointe vers la sortie du réseau public.
Lorsque la commande est exécutée directement :
C8500L# ping 8.8.8.8
Le périphérique ne sélectionne pas l'adresse d'interface de sortie du réseau public comme adresse source pour l'écho ICMP, mais sélectionne plutôt l'adresse d'interface interne (telle que 192.168.72.208). Comme cette adresse interne ne peut pas être renvoyée correctement via le réseau public, la requête ping échoue.
Cependant, pour une autre adresse publique qui dépend également de la route par défaut, telle que :
C8500L# ping 10.10.10.10
Le périphérique peut sélectionner correctement l'adresse de l'interface de sortie du réseau public comme adresse source, et la requête ping aboutit.

Configuration du C8500L :
interface TenGigabitEthernet0/1/0
no ip address
!
interface TenGigabitEthernet0/1/0.490
encapsulation dot1Q 490
ip address 172.16.119.30 255.255.255.252
!
interface TenGigabitEthernet0/1/0.2190
encapsulation dot1Q 2190
ip address 172.16.0.58 255.255.255.252
ip nat outside
!
interface TenGigabitEthernet0/1/1
no ip address
!
interface TenGigabitEthernet0/1/1.5
encapsulation dot1Q 5
ip address 192.168.72.208 255.255.255.192
!
interface TenGigabitEthernet0/1/1.1011
encapsulation dot1Q 1011
ip address 192.168.197.184 255.255.255.0
no ip proxy-arp
ip nat inside
ip tcp adjust-mss 1300
!
!
no ip classless
ip forward-protocol nd
!
router bgp 65001
bgp log-neighbor-changes
neighbor 10.1.1.2 remote-as 65002
C8500L#show ip route bgp
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, m - OMP
n - NAT, Ni - NAT inside, No - NAT outside, Nd - NAT DIA
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
H - NHRP, G - NHRP registered, g - NHRP registration summary
o - ODR, P - periodic downloaded static route, l - LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR
& - replicated local route overrides by connected
Gateway of last resort is 172.28.0.57 to network 0.0.0.0
B* 0.0.0.0/0 [20/0] via 172.28.0.57, 6d22h
8.0.0.0/8 is variably subnetted, 5 subnets, 3 masks
B 8.x.203.0/24 [20/0] via 10.1.1.2, 3d17h
B 8.x.0.0/16 [20/0] via 10.1.1.2, 6d22h
B 8.x.0.0/17 [20/0] via 10.1.1.2, 6d22h
B 8.x.0.0/17 [20/0] via 10.1.1.2, 6d22h
B 8.x.0.0/16 [20/0] via 10.1.1.2, 6d22h
C8500L#show ip route 8.8.8.8
% Subnet not in table
C8500L#show ip route 10.10.10.10
% Network not in table
C8500L#show ip cef 0.0.0.0/0 detail
0.0.0.0/0, epoch 2, flags [rib only nolabel, rib defined all labels, default route]
recursive via 172.16.0.57
attached to TenGigabitEthernet0/1/0.2190
C8500L#show ip cef 8.8.8.8 detail
0.0.0.0/0, epoch 2, flags [rib only nolabel, rib defined all labels, default route]
recursive via 172.16.0.57
attached to TenGigabitEthernet0/1/0.2190
C8500L#show ip cef 10.10.10.10 detail
0.0.0.0/0, epoch 2, flags [rib only nolabel, rib defined all labels, default route]
recursive via 172.16.0.57
attached to TenGigabitEthernet0/1/0.2190
C8500L#show ip cef exact-route 172.16.0.54 8.8.8.8
172.28.0.54 -> 8.8.8.8 =>IP adj out of TenGigabitEthernet0/1/0.2190, addr 172.16.0.57
C8500L#show ip cef exact-route 172.16.0.54 10.10.10.10
172.28.0.54 -> 10.10.10.10 =>IP adj out of TenGigabitEthernet0/1/0.2190, addr 172.16.0.57
C8500L#show ip cef exact-route 192.168.72.208 8.8.8.8
10.0.72.208 -> 8.8.8.8 =>IP adj out of TenGigabitEthernet0/1/0.2190, addr 172.16.0.57
C8500L#show ip cef exact-route 192.168.72.208 10.10.10.10
10.0.72.208 -> 10.10.10.10 =>IP adj out of TenGigabitEthernet0/1/0.2190, addr 172.16.0.57
Exemple :
C8500L# ping 8.8.8.8
Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds: ..... Success rate is 0 percent (0/5)
debug ip packet output:
IP: s=192.168.72.208 (local), d=8.8.8.8 (WAN-interface)
Comportement normal attendu :
Comportement réel :
Exemple :
C8500L# ping 10.10.10.10
Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.10.10.10, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 62/62/63 ms
debug ip packet output:
IP: s=172.16.0.58 (local), d=10.10.10.10 (WAN-interface)
Performances normales :
Pour 8.8.8.8, comme il existe des informations réseau majeures de 8.0.0.0/8 dans le RIB, après avoir activé no ip classless, le routeur effectue d’abord une recherche par classe :
Dans le scénario no ip classless, bien que le routeur puisse identifier la route par défaut, la vérification ultérieure de la recherche du premier saut RIB ne peut normalement pas renvoyer les informations d'interface associées au chemin de transfert. Le processus de recherche interne renvoie finalement un résultat vide (NULL).
Lorsque le trafic généré localement ne peut pas obtenir les informations d'association d'interface sortante correctes à partir de la recherche du premier saut RIB, la logique de sélection d'adresse source revient au mécanisme de sélection d'interface par défaut.
Ce mécanisme de secours ne garantit pas que l'adresse sélectionnée est cohérente avec l'interface de sortie FIB réelle. Par conséquent, il peut choisir n'importe quelle adresse d'interface locale disponible, telle qu'une adresse d'interface LAN interne.
En conséquence, le résultat apparemment contradictoire se produit :
Il s’agit de la cause directe de l’échec de la commande ping.
C8500L#show ip route 8.0.0.0 255.0.0.0 longer-prefixes
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, m - OMP
n - NAT, Ni - NAT inside, No - NAT outside, Nd - NAT DIA
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
H - NHRP, G - NHRP registered, g - NHRP registration summary
o - ODR, P - periodic downloaded static route, l - LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR
& - replicated local route overrides by connected
Gateway of last resort is 172.16.0.57 to network 0.0.0.08.0.0.0/8 is variably subnetted, 5 subnets, 3 masks
B 8.x.203.0/24 [20/0] via 10.1.1.2, 3d17h
B 8.x.0.0/16 [20/0] via 10.1.1.2, 6d22h
B 8.x.0.0/17 [20/0] via 10.1.1.2, 6d22h
B 8.x.0.0/17 [20/0] via 10.1.1.2, 6d22h
B 8.x.0.0/16 [20/0] via 10.1.1.2, 6d22h
C8500L#show ip route 10.0.0.0 255.0.0.0 longer-prefixes
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, m - OMP
n - NAT, Ni - NAT inside, No - NAT outside, Nd - NAT DIA
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
H - NHRP, G - NHRP registered, g - NHRP registration summary
o - ODR, P - periodic downloaded static route, l - LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR
& - replicated local route overrides by connected
Gateway of last resort is 172.16.0.57 to network 0.0.0.0
Par conséquent, l'occurrence du problème n'est pas aléatoire. Elle dépend plutôt de l’existence ou non du réseau principal par classe correspondant à l’adresse de destination dans la table de routage et de l’existence d’une route de sous-réseau plus spécifique correspondante.
Supprimez no ip classless et restaurez la recherche de route sans classe :
C8500L#configure terminal
C8500L(config)#ip classless
C8500L(config)#end
Remarque : Sur Cisco IOS XE, ip classless est généralement le comportement par défaut. Si aucun ip classless n'est explicitement présent dans la configuration en cours, l'exécution de ip classless peut restaurer le comportement de la recommandation.
S'il n'est pas possible de modifier immédiatement no ip classless, vous pouvez spécifier explicitement l'interface source pour une application locale spécifique, par exemple :
C8500L(config)#ip domain lookup source-interface <interface>
C8500L(config)#ip http client source-interface <interface>
Pour les tests Ping, l'adresse source peut être spécifiée manuellement :
C8500L#ping 8.8.8.8 source <wan-interface-or-wan-ip>
La configuration de routes statiques pour des adresses spécifiques représente une solution de contournement temporaire/directif pour une adresse de destination spécifique.
C8500L(config)#ip route 8.8.8.8 255.255.255.255 TenGigabitEthernet0/1/0.2190 172.16.0.57
Ces méthodes résolvent uniquement le problème d'adresse source pour des applications spécifiques ou des tests uniques et ne peuvent pas remplacer la suppression de no ip classless.
show tech-support routing detail
L'impact principal est sur le trafic généré localement qui ne spécifie pas explicitement l'adresse source, par exemple :
N'affecte généralement pas directement :
Cependant, l'impact exact dépend toujours du chemin de liaison réseau, des politiques NAT, des listes de contrôle d'accès et des politiques de sécurité. Par conséquent, il est recommandé de vérifier entièrement les communications du plan de gestion et du plan de contrôle critiques dans le réseau de production.
Dans un réseau avec des routes par défaut et plusieurs adresses d'interface, la commande no ip classless peut empêcher la récupération correcte des informations d'interface associées au chemin de transfert réel pour le routage par classe d'adresses de destination spécifiques.
Dans ce cas, la sélection d'adresse source pour le trafic généré localement sur le périphérique peut revenir à la logique de sélection d'interface non dépendante du chemin, ce qui entraîne un trafic local tel que Ping utilisant des adresses IP source incorrectes. Si l'adresse IP source n'est pas accessible au public ou ne dispose pas d'un chemin de liaison correct, la communication peut échouer.
| Révision | Date de publication | Commentaires |
|---|---|---|
1.0 |
04-Sep-2026
|
Première publication |