내 애플리케이션이 가상 인터페이스에 패킷을 주입한 후 source 100.64.0.77
패킷 은 인터페이스로 전달되어 예상대로 대상으로 전송됩니다. 그러나 에서 까지 의 응답 패킷이 수신되면 인터페이스에서 수신됩니다 .destination 192.168.1.95
utun2
en0
source 192.168.1.95
destination 100.64.0.77
en0
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가 없으면 패킷을 전달하기만 하면 됩니다.