Wo siehst du eine "Hölle"?
NAT (und die verbreitete Variante "Masquerading") zerstört Kontext. NAT ersetzt die Quell-/"SRC"-Adresse durch eine andere. Oft, aber nicht immer, durch die des Routers. Ich administriere ein paar (wenige) Router, die jeweils ein Dutzend Netze versorgen. Teilweise mit SRC-Nat, teilweise mit DST-Nat, teilweise mit ausgehender Maskerade. Es ist ätzend. "Alles" kommt von
derselben Adresse. Wie soll man da Filterregeln bauen können - oder auch überhaupt nur Verbindungen wiedererkennen können?
Damit überhaupt eine bidirektionale Kommunikation zustande kommt, braucht es zwingend komplizierte (aber "abgehangene" und gut funktionierende) Software: "connection tracking". Dieser eine Aspekt alleine ist schon anstrengend: jegliche Fehlersuche wird drastisch dadurch erschwert, dass man diese Tabelle beobachten und jeweils auswerten muss. Viele der klassischen Dienste wie SIP/VOIP/H.323/usw., die mit mehr als einer einzigen Verbindung arbeiten, brauchten zusätzlich ein aktives Stück Software auf dem Router, damit das ganze Konstrukt
überhaupt funktioniert. Heutzutage ist das allerdings entschärft: es geht fast immer alles "gemultiplexed" durch
eine http/2/3-Verbindung; und wer betreibt heute noch eine (Voip-) Telefonanlage? (Die Fritz!Box zählt nicht, die sitzt für Voip "außen" am Router.)
Ganze Familien von externen STUN/TURN-Servern existieren
nur damit einiges, was NAT kaputt macht, dennoch funktionieren kann.
Es
ist die Hölle - oder stammt zumindest von dort... ;-)
/RANT
Nachtrag: 1) NAT ist KEIN Sicherheitsmechanismus und 2) IPv6 eliminiert die übliche Ausrede "es gibt zuwenig Adressen" vollständig.