資料包沒有發送到正確的介面?

資料包沒有發送到正確的介面?

在我的應用程式將資料包注入虛擬介面後source 100.64.0.77destination 192.168.1.95utun2資料包將被轉發到該en0介面並按預期發送到其目的地。然而,當收到來自source 192.168.1.95to 的回應資料包時,它是在介面上接收的。destination 100.64.0.77en0

如何才能讓我的應用程式接收此回應資料包,utun2以便我的應用程式能夠讀取此資料包?

utun2 的 ifconfig: 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

對我來說看起來還不錯。如果您使用從 TUN 到 en0 的來源 NAT,則也需要使用反向路徑的 NAT 表。如果沒有NAT,封包只需要轉送即可。

相關內容