ARP 요청의 보낸 사람 주소와 대상 주소가 다른 브로드캐스트 도메인에서 왔습니다.

ARP 요청의 보낸 사람 주소와 대상 주소가 다른 브로드캐스트 도메인에서 왔습니다.

다음과 같은 간단한 네트워크 토폴로지가 있습니다.

서버 네트워크 토폴로지

이 서버에서 보낸 사람 주소(192.168.1.15) 및 대상(10.10.10.252):

server:~ # tcpdump -nei eth0 host 10.10.10.252
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
16:56:36.152174 00:16:3e:1a:61:b4 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Request who-has 10.10.10.252 tell 192.168.1.15, length 28
16:56:37.150442 00:16:3e:1a:61:b4 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Request who-has 10.10.10.252 tell 192.168.1.15, length 28
16:56:38.150449 00:16:3e:1a:61:b4 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Request who-has 10.10.10.252 tell 192.168.1.15, length 28
16:56:39.159566 00:16:3e:1a:61:b4 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Request who-has 10.10.10.252 tell 192.168.1.15, length 28
^C
4 packets captured
5 packets received by filter
0 packets dropped by kernel
server:~ #

느슨한 기본값(0)arp_공지설정?

답변1

커널이 이러한 ARP를 수락/실행하는 이유에 대한 귀하의 가정은 정확하지만 설명하겠습니다.그런 일이 일어나고 있습니다.

요점은 실제로 두 개의 네트워크 블록이 있는 브로드캐스트 도메인이 있다는 것입니다.

정의에 따르면 일반적으로 서브넷과 통신할 때 해당 서브넷에 연결된 인터페이스에 속한 네트워크와 통신합니다. 반면 Linux에서는 일반적으로 인터페이스의 기본 IP와 통신합니다.

따라서 r1과 통신할 때 Linux 시스템은 인터페이스(또는 테스트해야 하는 첫 번째 인터페이스의 기본 IP arp_announce)를 소스로 사용하므로 이러한 ARP도 마찬가지입니다.

이를 수락한 이유에 대한 가정으로 돌아가서 올바르게 지적하셨습니다.

arp_announce - INTEGER 인터페이스에서 전송된 ARP 요청의 IP 패킷에 로컬 소스 IP 주소를 알리기 위한 다양한 제한 수준을 정의합니다. 0 - (기본값) 모든 인터페이스에 구성된 로컬 주소 사용

답장을 보내는 데에도 사용할 수 있습니다.

arp_filter - 0 - (기본값) 커널은 다른 인터페이스의 주소를 사용하여 arp 요청에 응답할 수 있습니다. 이는 잘못된 것처럼 보일 수도 있지만 성공적인 의사소통 가능성을 높이기 때문에 종종 의미가 있습니다. IP 주소는 특정 인터페이스가 아닌 Linux의 전체 호스트가 소유합니다. 이 동작은 로드 밸런싱과 같은 보다 복잡한 설정에서만 문제를 발생시킵니다.

게다가:

arp_ignore - INTEGER 로컬 대상 IP 주소를 확인하는 수신된 ARP 요청에 대한 응답으로 응답을 보내는 다양한 모드를 정의합니다. 0 - (기본값): 모든 인터페이스에 구성된 모든 로컬 대상 IP 주소에 응답합니다.

따라서 우리는 Linux 서버가 서버 수준에서 매우 쉬운 방법으로 ARP를 처리한다는 결론을 내릴 수 있습니다.기본적으로.

이는 그림의 라우터 r1의 경우가 아니며 운영 체제/펌웨어의 로컬 기본값과 구성에 따라 달라집니다.

관련 정보