ICMP 호스트에 연결할 수 없음 메시지로 인해 화성 소스 패킷이 생성됨

ICMP 호스트에 연결할 수 없음 메시지로 인해 화성 소스 패킷이 생성됨

나는 꽤 오랫동안 라우팅/방화벽 설정의 특이한 동작을 이해하려고 노력해 왔지만 실제로 무슨 일이 일어나고 있는지 이해하지 못합니다.

우리는 2개의 외부 인터페이스와 다수의 내부 VLAN을 갖춘 방화벽/라우터 어플라이언스를 보유하고 있습니다.

게스트 WiFi 네트워크 VLAN 99의 클라이언트( f4:f5:d8:d2:f2:4c이 예에서는 MAC, IP 10.99.154.254)가 일부 인터넷 호스트 8.8.8.8에 핑 에코 요청을 보낼 때 특정 동작이 관찰됩니다. 이는 금지됩니다.

라우터는 vlan99인터페이스(MAC 00:08:a2:0d:00:70, IP 10.99.0.2)에서 클라이언트로 ICMP 호스트에 연결할 수 없는 패킷을 다시 보내고, 동시에 우리는 다음을 볼 수 있습니다.화성 패킷외부 인터페이스에서 eth-ext1:

tcpdump이것을 보여줍니다 :

$ tcpdump -i vlan99 -vvvvn 'icmp and host 10.99.154.254'
11:59:21.555564 f4:f5:d8:d2:f2:4c > 00:08:a2:0d:00:70, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 84)
    10.99.154.254 > 8.8.8.8: ICMP echo request, id 2303, seq 1, length 64
11:59:21.555651 00:08:a2:0d:00:70 > f4:f5:d8:d2:f2:4c, ethertype IPv4 (0x0800), length 126: (tos 0xc0, ttl 64, id 8585, offset 0, flags [none], proto ICMP (1), length 112)
    10.99.0.2 > 10.99.154.254: ICMP host 8.8.8.8 unreachable, length 92
    (tos 0x0, ttl 63, id 0, offset 0, flags [DF], proto ICMP (1), length 84)
    10.99.154.254 > 8.8.8.8: ICMP echo request, id 2303, seq 1, length 64

여기서는 놀라운 일이 아닙니다. 이는 클라이언트의 원본 핑과 게스트 클라이언트로 돌아가 호스트에 연결할 수 없음을 알리는 결과 ICMP 패킷입니다.

동시에 커널 로그에 다음 항목이 나타납니다.

Feb 21 11:59:21 ganymede kernel: IPv4: martian source 10.99.154.254 from 8.8.8.8, on dev eth-ext1
Feb 21 11:59:21 ganymede kernel: ll header: 00000000: 00 08 a2 0d 00 70 f4 f5 d8 d2 f2 4c 08 00        .....p.....L..

링크 레이어 정보는 이 이더넷 프레임이 왔다는 것을 보여줍니다.~에서클라이언트 장치에게라우터의vlan99인터페이스가 왜 화성의 패킷으로 나타나는지 궁금합니다.eth-ext1소스 주소는 8.8.8.8입니다.

지금까지 화성 소스가 포함된 패킷 추적을 얻는 데 실패했습니다. 이로 인해 화성 소스 로깅이 송신 인터페이스에서도 발생하는지 궁금합니다. tcpdump이를 볼 기회가 있습니까?

요청에 대한 추가 정보(라우팅 테이블 등)를 기꺼이 제공할 것이며, 여기서 무슨 일이 일어나고 있는지에 대한 조언을 주시면 감사하겠습니다.

답변1

커널은 icmp unreachable 메시지와 함께 ping 요청을 8.8.8.8로 패치하고 있으며 소스가 화성인임을 알려줍니다.

이것이 플래그를 지정하는 패킷입니다.

11:59:21.555651 00:08:a2:0d:00:70 > f4:f5:d8:d2:f2:4c, ethertype IPv4 (0x0800), length 126: (tos 0xc0, ttl 64, id 8585, offset 0, flags [none], proto ICMP (1), length 112)
    10.99.0.2 > 10.99.154.254: ICMP host 8.8.8.8 unreachable, length 92

링크 레이어를 보시면 아시겠지만... MAC 00 08 a2 0d 00 70 to f4 f5 d8 d2 f2 4c 08 00.

Feb 21 11:59:21 ganymede kernel: ll header: 00000000: 00 08 a2 0d 00 70 f4 f5 d8 d2 f2 4c 08 00 

화성 소스 - 8.8.8.8에 대한 프록시로 응답한다는 사실을 혼동하고 있다고 가정합니다. 여기서는 거기에 도달할 수 없습니다.

관련 정보