Пакеты не поступают на нужный интерфейс?

Пакеты не поступают на нужный интерфейс?

После того, как мое приложение вводит пакет с source 100.64.0.77и destination 192.168.1.95в виртуальный utun2интерфейс, пакет пересылается на en0интерфейс и отправляется по назначению, как и ожидалось. Однако, когда получен ответный пакет от source 192.168.1.95к destination 100.64.0.77, он принимается на en0интерфейсе.

Как мне сделать так, чтобы этот ответный пакет был получен, utun2чтобы мое приложение могло его прочитать?

ifconfig для 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   

решение1

Мне кажется, все в порядке. Если вы используете исходный NAT от TUN до en0, вам нужно использовать таблицу NAT и для обратного пути. Без NAT пакет просто нужно переслать.

Связанный контент