Después de que mi aplicación inyecta un paquete con source 100.64.0.77
y destination 192.168.1.95
dentro de la interfaz virtual utun2
, el paquete se reenvía a la en0
interfaz y se envía a su destino como se esperaba. Sin embargo, cuando se recibe un paquete de respuesta de source 192.168.1.95
a destination 100.64.0.77
, se recibe en la en0
interfaz.
¿Cómo puedo hacer que reciba este paquete de respuesta utun2
para que mi solicitud pueda leerlo?
ifconfig para 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
Respuesta1
Me parece bien. Si está utilizando NAT de origen desde TUN a en0, también debe usar la tabla NAT para la ruta inversa. Sin NAT, sólo es necesario reenviar el paquete.