Tuntap 인터페이스의 이상한 동작

Tuntap 인터페이스의 이상한 동작

tuntap 인터페이스를 설정하기 위해 tapcfg를 사용하는 프로그램이 있는데, 인터페이스는 내가 지정한 엔드포인트 주소에 올바르게 설정된 것 같습니다 169.253.2.100. 또한 src 주소를 192.168.1.50.

ifconfig를 사용하면 다음이 표시됩니다.

tap0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether aa:b6:24:69:77:21 
    inet 169.253.2.100 netmask 0xffffff00 broadcast 169.253.2.255
    media: autoselect
    status: active
    open (pid 3738)

그러나 라우팅 항목을 확인하면 다음과 같은 결과가 나타납니다.

route get 169.253.2.100
   route to: 169.253.2.100
destination: 169.253.2.100
  interface: lo0
      flags: <UP,HOST,DONE,LLINFO,WASCLONED,LOCAL,IFSCOPE,IFREF>
 recvpipe  sendpipe  ssthresh  rtt,msec    rttvar  hopcount      mtu     expire
       0         0         0         0         0         0     16384         0 

아니요, 인터페이스는 tap0이어야 합니다.

그러나 경로를 확인한 후 다음을 169.253.2.50발견했습니다.

route get 169.253.2.50
   route to: pptform.state.gov
destination: pptform.state.gov
  interface: tap0
      flags: <UP,HOST,REJECT,DONE,LLINFO,WASCLONED,IFSCOPE,IFREF>
 recvpipe  sendpipe  ssthresh  rtt,msec    rttvar  hopcount      mtu     expire
       0         0         0         0         0         0      1500       -18 

확인된 DNS를 무시하면 pptform.state.govtap0의 인터페이스가 올바른 것을 확인할 수 있습니다.

이렇게 하면 ping 169.253.2.100의 출력에서 ​​루프백 활동이 발생합니다 route get 169.253.2.100. 핑을 하면 169.253.2.50요청 시간 초과가 발생합니다.

문제가 무엇인지 아시나요?

저 할 수 있어요

sudo route change -host 169.253.2.100 -ifscope tap0
Password:
change host 169.253.2.100

하지만 변화는 지속되지 않는 것 같습니다.

내 프로그램은 whohas 169.253.2.100src가 있는 것으로 보이는 tap0에 패킷을 성공적으로 주입했지만 169.253.2.50커널은 응답하지 않습니다.

저는 경험상 FreeBSD와 가장 유사한 네트워크 동작을 보이는 macOS Catalina를 사용하고 있습니다.

관련 정보