![무선 네트워크에서 ARP 응답 패킷이 삭제되는 원인은 무엇입니까?](https://rvso.com/image/1452882/%EB%AC%B4%EC%84%A0%20%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC%EC%97%90%EC%84%9C%20ARP%20%EC%9D%91%EB%8B%B5%20%ED%8C%A8%ED%82%B7%EC%9D%B4%20%EC%82%AD%EC%A0%9C%EB%90%98%EB%8A%94%20%EC%9B%90%EC%9D%B8%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
LAN(근거리 통신망)에 무선 액세스 포인트(AP) 네트워크가 있습니다.
네트워크의 일부 PC는 네트워크의 다른 PC/장치로부터 ping 응답을 받을 수 있지만 다른 PC/장치에서는 ping 응답을 받을 수 없습니다. 신뢰할 수 있는 패턴을 찾지 못했지만 간단히 말하면 다음과 같을 수 있습니다.
컴퓨터 Alice, Wi-Fi AP Bob, 또 다른 Wi-Fi AP/장치 Charlie가 있다고 가정해 보겠습니다.
Alice는 Bob에게 ping을 보낼 수 있고 Bob은 Charlie에게 ping을 보낼 수 있지만 Alice는 Charlie에게 ping을 보낼 수 없습니다. ("ping"은 ping 응답을 받을 수 있음을 의미) 이미 모든 방화벽을 비활성화하고 모든 ICMP 응답을 허용했습니다.
Wireshark와 tcpdump의 도움으로 Alice의 ARP 요청(opcode 1) 패킷이 의도한 대상 Charlie에 도달할 수 있었고 Charlie는 Alice에 도달하지 못한 ARP 응답(opcode 2) 패킷을 다시 보냈음을 추론했습니다.
이러한 오류를 발생시킬 수 있는 기술적인 단점은 무엇입니까?
이 상황을 어떻게 디버깅할 수 있나요?
OpenWRT를 사용하고 있기 때문에 프로그래밍 방식으로 제어할 수 있다고 가정하면 이 문제를 어떻게 해결할 수 있습니까?
재미있는 점은 Windows 8 PC의 이름을 변경했을 때 이 문제가 해결되었다는 것입니다. 이것이 사후 ergo propter hoc의 경우인지 확실하지 않습니다.
업데이트: AP/장치/PC는 브리지 모드를 사용하여 연결된 동일한 서브넷에 있습니다.
답변1
저는 OpenWRT의 고급 구성에 대해 잘 알지 못하지만(그것은 괴짜 프로젝트의 할 일 목록에 있습니다), 제가 먼저 드리고 싶은 조언은 "Bob"에서 NAT를 수행하지 않도록 하라는 것입니다. Alice가 WAP의 LAN 쪽에 있고 Charlie가 WAN 쪽에 있는 경우 Alice는 Charlie에게 ping을 보낼 수 있지만 그 반대의 경우는 불가능합니다. 이것이 NAT가 제공하는 고유의 방화벽입니다.
이를 방지하려면 모든 AP가 "브리지" 모드 또는 "액세스 포인트" 모드의 형태로 작동해야 합니다. 이는 장치가 어느 정도 패킷 전달자 역할을 한다는 것을 의미합니다. 자체적으로 라우팅이나 패킷 검사를 수행하지 않습니다. 저렴한 라우터에서 이를 달성하는 가장 쉬운 방법은 라우터에서 DHCP 서버를 비활성화한 다음 LAN 포트 중 하나를 네트워크에 연결하는 것입니다(또한 라우터의 LAN IP가 실제 게이트웨이와 충돌하지 않는지 확인하십시오). WAN 포트는 그대로 둡니다. 라우터가 불평하는 경우(대부분은 그렇지 않지만 일부는 그렇습니다) 인터넷 연결을 고정 IP로 설정하고 주소에 255.255.255.252 서브넷 마스크가 있고 게이트웨이에 223.255.255.253이 있는 223.255.255.254와 같은 IP를 사용하십시오. (퀴즈: 가능한 가장 작은 크기의 마지막 클래스 C 서브넷입니다.)
다른 가능성은 서브넷 마스크 불일치일 수 있습니다. 동일한 네트워크에 있는 모든 컴퓨터는 동일한 서브넷 마스크를 구성해야 합니다(물론 동일한 실제 네트워크에 있어야 함). 컴퓨터는 서브넷 마스크를 사용하여 IP 브로드캐스트 주소뿐만 아니라 수신된 브로드캐스트 패킷이 전송되어야 하는지 여부도 결정합니다. 네트워크 스택에 의해 처리됩니다(즉, 장치에 구성된 주소 및 서브넷 마스크 외부에 있는 IP에 대한 브로드캐스트 패킷의 경우 많은 장치가 해당 패킷을 무시합니다.)
이것이 적어도 어느 정도 도움이 되기를 바랍니다.
답변2
무선 네트워크에서 ARP 응답 패킷이 삭제되는 원인은 무엇입니까?
아무것도 아님. 적절한 패킷 삭제가 목격된 경우 해당 패킷이 우선적으로 삭제될 이유가 없습니다. 잘못된 통신 회선이 있는 경우 ARP 패킷은 UDP, TCP 등과 다르지 않습니다. 그러나 회선이 느리다고 주장하지 않으므로 실제 패킷 삭제를 의심할 실제 이유는 없습니다.
패킷이 의도한 목표에 도달하지 못하는 이유는 패킷이 잘못 라우팅되었기 때문입니다. 그러나 마술처럼 사라지는 패킷은 ARP 패킷이며, 자신이 속한 전체 서브넷을 자발적으로 채우기 때문에 적절한 라우팅이 필요하지 않다는 점을 지적하셨습니다.
따라서 PC는 두 개의 서로 다른 서브넷의 구성원일 가능성이 높습니다. ARP 패킷은 게이트웨이를 통과하지 않으며, 그 이유 중 하나는떨어졌다즉, 자신의 서브넷을 채우고 응답자를 찾지 못한 다음 두 개의 서로 다른 서브넷을 분리하는 게이트웨이를 통과하지 않고 사라진다는 것입니다.
즉, IP 주소 대신 이름을 사용하는 경우 두 개의 개별 서브넷에 속하는 것이 마스킹됩니다. 대신 IP 주소를 사용했다면 두 PC가 서로 다른 서브넷에 있다는 것을 즉시 깨달았을 것입니다. 그러므로 위의 질문입니다.
이 문제를 해결할 수 있나요? 물론 당신은 할 수. 도달할 수 없는 서브넷의 게이트웨이(G2라고 함)를 식별하고 더 큰 LAN에서 연결이 들어오는 것을 허용한 다음 전체 LAN의 게이트웨이(모뎀 바로 뒤에 있는 G1, 또는 ADSL 라우터 중 하나) 이 서브넷에 대한 경로가 G1 자체를 통하지 않고 G2를 통하는 것입니다.