Am Montag, 1. November 2021, 17:35:21 CET schrieb ro...@seffner.de:
> Hier habe ich eine Lösung gefunden. Das sieht aus wie eine Map kombiniert
> mit einem Set, läuft aber als Map.
> https://wiki.nftables.org/wiki-nftables/index.php/Multiple_NATs_using_nftabl
> es_maps#Multiple_NAT_mapping_with_address_and_port
> 
> Nur kann ich die Regel (aus obigem Beispiel) nun nicht mehr recht lesen.
> 
> % nft add map nat foo { type inet_service : ipv4_addr . inet_service ; }
> % nft add element nat foo { \
>     1100 : 192.168.1.2 . 5061, \
>     1101 : 192.168.1.3 . 5061, \
>     1400 : 192.168.1.4 . 5061 \
> }
> % nft add rule nat pre ip protocol udp dnat ip addr . port to udp dport map
> @foo
> 
> Funktion ist hier, dass Pakete an die eigenen Ports 1100, 1101 usw. auf
> Hosts mit den Adressen 192.168.1.x und andere Ports dort umgeschrieben
> werden (DNAT).
> Jetzt zerlegen wir mal die Regel:
> "nft add rule nat pre ..." - füge eine Regel in die Tabelle nat und Chain
> pre hinzu
> "...ip protocol udp..." - matcht für Pakete vom Typ UDPv4 ...
> Und jetzt meine Unklarheiten
> "...dport map @foo" - ... an den EIGENEN Port "dport", der in der Map "foo"
> zu suchen ist?
> "...dnat ip addr . port to udp..." - und mache DNAT auf das "ip addr .
> port"-Paar aus der entsprechenden Zeile in der Map; das "to udp" am Ende
> irritiert an dieser Position
> 
> 
> Mit freundlichen Grüßen / Kind regards
>      Ronny Seffner

Danke, dass Du uns die Lösung mitteilst. Ich war schon sehr neugierig ...

Bernhard




Antwort per Email an