Nachdem meine Anwendung ein Paket mit source 100.64.0.77
und destination 192.168.1.95
in die virtuelle utun2
Schnittstelle eingefügt hat, wird das Paket wie erwartet an die Schnittstelle weitergeleitet en0
und an sein Ziel gesendet. Wenn jedoch ein Antwortpaket von source 192.168.1.95
an destination 100.64.0.77
empfangen wird, wird es an der en0
Schnittstelle empfangen.
Wie kann ich erreichen, dass dieses Antwortpaket empfangen wird, utun2
damit meine Anwendung dieses Paket lesen kann?
ifconfig für utun2:
inet 100.64.0.77 --> 100.64.0.77 netmask 0xffffff00
Routing tables
Internet:
Destination Gateway Flags Netif Expire
default 192.168.1.254 UGSc en0
default link#10 UCSI utun2
100.64.0.77 100.64.0.77 UH utun2
127 127.0.0.1 UCS lo0
127.0.0.1 127.0.0.1 UH lo0
169.254 link#7 UCS en0 !
192.168.1 link#7 UCS en0 !
192.168.1 link#10 UCSI utun2
192.168.1.92/32 link#7 UCS en0 !
192.168.1.99 8c:a9:82:2e:d6:2e UHLWI en0 986
192.168.1.254/32 link#7 UCS en0 !
192.168.1.254 70:f1:96:86:e6:a0 UHLWIir en0 1196
224.0.0/4 link#7 UmCS en0 !
224.0.0/4 link#10 UmCSI utun2
224.0.0.251 1:0:5e:0:0:fb UHmLWI en0
255.255.255.255/32 link#7 UCS en0 !
255.255.255.255/32 link#10 UCSI utun2
Antwort1
Sieht für mich ganz gut aus. Wenn Sie Source-NAT von TUN zu en0 verwenden, müssen Sie die NAT-Tabelle auch für den umgekehrten Pfad verwenden. Ohne NAT muss das Paket nur weitergeleitet werden.