arp(address resolution protocol, 주소 결정 프로토콜) 라는 것은 네트워크 상에서 IP 주소를 MAC 주소로 대응시키기 위한 프로토콜이라고 할 수 있습니다.


같은 subnet 안이라면 해당 device의 MAC 주소가 될 것이고, subnet 밖이라면 게이트 웨이의 MAC 주소가 됩니다.


리눅스에서 arp 명령을 이용행 이 정보를 수정할 수 있습니다.



arp 테이블 정보를 보는 명령은 다음과 같습니다.


# arp -a

? (192.168.10.70) at e8:9a:8f:cb:03:d9 [ether] on eth0

? (192.168.10.1) at 00:08:9f:7c:56:e0 [ether] on eth0

# cat /proc/net/arp 

IP address       HW type     Flags       HW address            Mask     Device

192.168.10.70    0x1         0x6         e8:9a:8f:cb:03:d9     *        eth0

192.168.10.1     0x1         0x2         00:08:9f:7c:56:e0     *        eth0


arp 테이블에서 정보를 지우는 명령입니다.


# arp -d 192.168.10.70

# arp -a

? (192.168.10.70) at <incomplete> on eth0

? (192.168.10.1) at 00:08:9f:7c:56:e0 [ether] on eth0


arp 테이블에서 정보를 추가하는 명령입니다.


# arp -s 192.168.10.70 e8:9a:8f:cb:03:d9

# arp -a

? (192.168.10.70) at e8:9a:8f:cb:03:d9 [ether] PERM on eth0

? (192.168.10.1) at 00:08:9f:7c:56:e0 [ether] on eth0


arp 정보는 일정 시간이 지나면 자동으로 지워지게 됩니다.


하지만 네트워크에 변경이 있은 후, 갑자기 해당 device 와 통신이 안된다면 arp 정보를 변경해 필요가 있습니다.