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.gov
tap0의 인터페이스가 올바른 것을 확인할 수 있습니다.
이렇게 하면 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.100
src가 있는 것으로 보이는 tap0에 패킷을 성공적으로 주입했지만 169.253.2.50
커널은 응답하지 않습니다.
저는 경험상 FreeBSD와 가장 유사한 네트워크 동작을 보이는 macOS Catalina를 사용하고 있습니다.