Einleitung
In diesem Dokument wird das unerwartete Verhalten der dynamischen Network Address Translation (NAT) bei nicht pattfähigem Datenverkehr auf IOS®-Geräten beschrieben.
Problem
Bei nicht pattfähigem Datenverkehr werden bei dynamischer NAT halbe Einträge in der NAT-Übersetzungstabelle erstellt. Diese Einträge stellen ein Sicherheitsrisiko dar, da sie für Datenverkehr von außen nach innen funktionieren.
NAT-Konfiguration:
ip nat pool ATT_FIBER 10.10.10.1 10.10.10.6 netmask 255.255.255.248
ip nat inside source list GUEST_SUBNET pool ATT_FIBER overload
ip nat inside source list OFFICE_SUBNETS pool ATT_FIBER overload
ip access-list extended OFFICE_SUBNETS
deny ip 172.16.26.0 0.0.0.127 any
permit ip 172.16.8.0 0.0.1.255 any
ip access-list extended GUEST_SUBNET
permit ip 172.16.26.0 0.0.0.127 any
udp 10.10.10.1:49370 172.16.9.9:49370 192.168.1.1:53 192.168.1.1:53
udp 10.10.10.1:49535 172.16.9.9:49535 192.168.2.2:53 192.168.2.2:53
tcp 10.10.10.1:53133 172.16.9.9:53133 192.168.3.3:80 192.168.3.3:80
tcp 10.10.10.1:56311 172.16.9.9:56311 192.168.4.4:5816 192.168.4.4:5816
--- 10.10.10.1 172.16.9.9 --- ---
Halbierte Einträge werden in bestimmten Fällen erstellt, wenn eine Zuordnung von inside -> outside vorliegt oder wenn Paket von inside -> outside initiiert wird.
Wenn der Router für NAT-Überlastung (Port Address Translation, PAT) konfiguriert ist und nicht pattfähiger Datenverkehr den Router erreicht, werden für diesen Datenverkehr nicht pattfähige Bindungseinträge erstellt. Dies führt zu dieser Art von Eintrag in der NAT-Tabelle:
--- 10.10.10.1 172.16.9.9 --- ---
Dieser Bindungseintrag verbraucht eine gesamte Adresse aus dem Pool. In diesem Beispiel ist 10.10.10.1 eine Adresse aus einem überlasteten Pool.
Das bedeutet, dass eine interne lokale IP-Adresse an die externe globale IP gebunden wird, was der statischen NAT ähnelt. Aus diesem Grund können neue interne lokale IP-Adressen diese globale IP-Adresse nicht verwenden, bis das Zeitlimit für den aktuellen Eintrag erreicht ist. Alle für diese Bindung erstellten Übersetzungen sind 1:1-Übersetzungen anstatt Überlastung.
Lösung
Um dieses Problem zu beheben, können Sie route-maps mit dynamischer NAT verwenden. Bei Routing-Maps erstellt NAT keine halben Einträge und nutzt keine Schnittstellenüberlastung, sondern eine Pool-Überlastung. Nicht patchtabile Bindungen werden im Fall einer Schnittstellenüberlastung nicht erstellt.