4.14.7 커널을 실행하는 Linux 장치가 있습니다. 내 장치 A는 1Gig 포트를 통해 타사 장치(장치 B)에 직접 연결됩니다. UDHCPD 서버는 dev-A에서 실행되며 항상 DHCP 구성을 기반으로 단일 IP 주소를 할당합니다.
Dev-A는 마스크가 255.255.0.0인 172.16.xx에 있습니다.
Dev-B에는 Dev-A에서 실행되는 UDHCPD의 172.16.100.1 및 255.255.255.0이 할당됩니다.
가끔 Dev-B의 "arp" 테이블에 "불완전"이 표시되고 통신이 실패하는 것을 볼 수 있습니다. 이 시점에서 Dev-B가 UDHCPD 서버로부터 유효한 임대를 획득한 것을 볼 수 있습니다.
$arp
? (172.16.100.1) at <incomplete> on br0
핑은 Dev-B에 대한 연결을 복원합니다. "ping"을 실행하지 않고 이 문제를 어떻게 해결할 수 있습니까?
미리 감사드립니다.
답변1
"불완전" 항목은 시스템이 특정 IP 주소와 연관된 MAC 주소를 인식하지 못한 경우 발생합니다.
장치가 자체 IP 주소로 ARP 요청을 보내 해당 IP 주소가 이미 사용 중인지 확인하는 ARP 프로브를 사용할 수 있습니다. 이는 ARP 캐시가 올바른 MAC 주소로 업데이트되도록 하는 데 도움이 됩니다.
Linux에서 ARP 프로브를 활성화하려면 다음 명령을 사용할 수 있습니다(네트워크 인터페이스 이름(eth0)으로 대체).
ip neigh flush dev <interface> nud permanent
이 명령은 ARP 캐시를 플러시하고 ARP 프로브를 보내 항목을 새로 고칩니다.