핵심 인사이트 (3줄 요약)
- 본질: 프록시 ARP(Proxy ARP)는 목적지 PC가 나랑 다른 네트워크(서브넷)에 있음에도 불구하고, 내 PC가 멍청해서 "같은 동네인 줄 알고" 동네방네 ARP 방송을 때렸을 때, 중간에 있는 라우터가 "아유 답답해! 걔 다른 동네에 있는데 내가 대신 내 MAC 주소로 대답(대행)해 줄게!"라며 뻥을 치는 통신 기법이다.
- 발생 상황: 주로 서브넷 마스크 설정이 잘못되어 내 PC가 큰 망(A 클래스 전체)인 줄 착각하고 있거나, 낡은 장비라서 라우팅 테이블(기본 게이트웨이) 설정 기능이 아예 없을 때 구원 투수 역할을 한다.
- 부작용 (보안 및 트래픽): 라우터가 시도 때도 없이 남의 일에 참견해서 "내 MAC으로 보내!"라고 대답하므로, 내 PC의 ARP 테이블은 온갖 IP가 전부 라우터의 MAC으로 도배되는 기현상이 벌어지며 해커의 ARP Spoofing(스푸핑) 공격에 악용되기도 쉽다.
Ⅰ. 개요 및 필요성 (Context & Necessity)
-
개념: 라우터가 원래 자신의 IP가 아닌 다른 호스트의 IP에 대한 ARP 요청을 가로채서, 자신의 MAC 주소로 대신(Proxy) 응답해 주는 라우터의 ARP 동작 모드 (RFC 1027).
-
필요성: 정상적인 PC는 다른 동네(네트워크)로 갈 때 조용히 기본 게이트웨이(라우터)의 MAC을 물어보고 거기로 패킷을 던진다. 그런데 PC 설정 오류로 서브넷 마스크를
/16으로 너무 크게 잡았다고 치자. 목적지(192.168.2.10)가 옆 동네인데도 같은 동네인 줄 착각하고 무식하게 "192.168.2.10 MAC 누구야!"라고 ARP 방송을 뿌린다. 라우터는 브로드캐스트를 차단하므로 옆 동네까지 이 방송이 안 넘어간다. 통신이 영원히 단절될 위기에서, 라우터가 불쌍히 여겨 **"걔 내가 아는 애니까 일단 내 MAC(라우터)으로 데이터 넘겨. 내가 전해줄게"**라고 중간에서 가로채 주는(Proxy) 기능이다. -
💡 비유: 프록시 ARP는 아파트 동대표(라우터)의 **"오지랖 대리 수령"**입니다. 우체부(내 PC)가 단지 내에서 "105동 302호 계세요!"라고 소리칩니다. 원래 105동은 옆 단지라서 안 들립니다. 이때 오지랖 넓은 동대표가 튀어나와 **"나 105동 302호 아니지만, 내(라우터 MAC)가 그 사람 아니까 나한테 편지 줘! 내가 대신 전해줄게!"**라며 거짓말을 하고 편지를 받아다 줍니다.
📢 섹션 요약 비유: 프록시 ARP는 멍청한 직원이 타 부서(다른 서브넷) 팀장 연락처를 같은 층 사내 방송(브로드캐스트)으로 찾을 때, 옆 부서 사정까지 꿰뚫고 있는 비서실장(라우터)이 "그 사람 서류 나한테 줘, 내가 전달해 줄게"라며 비서실장 명함(라우터 MAC)을 건네는 완벽한 대행 서비스입니다.
Ⅱ. 프록시 ARP의 동작 과정과 딜레마 (Deep Dive)
1. 동작 시나리오 (오지랖의 순간)
- PC A (192.168.1.10/16): 마스크 세팅 오류로 192.168.x.x 전체가 우리 동네인 줄 착각.
- PC B (192.168.2.20/24): 사실 라우터 건너편 옆 동네에 있음.
- 라우터: 중간에서 양쪽 망을 연결.
- PC A가 PC B와 통신하려 한다. "같은 동네네? 브로드캐스트로 MAC 물어보자!" ──▶
ARP Req (Who has 192.168.2.20?) - 라우터가 이 멍청한 방송을 듣는다. 라우터의 속마음: "어휴, 쟤는 마스크 설정 잘못했네. 192.168.2.0 망은 내 뒤쪽 포트에 있는데... 내가 대답 안 해주면 쟤 평생 통신 못 하겠지?"
- 라우터가 대답한다 ──▶
ARP Reply (192.168.2.20 is at [라우터의 MAC 주소]) - PC A는 아무 의심 없이 라우터 MAC 주소를 목적지로 적어 패킷을 쏘고, 라우터는 이를 받아 PC B로 정상 포워딩해 준다.
┌─────────────────────────────────────────────────────────────┐
│ 프록시 ARP가 켜져 있을 때 PC의 ARP 테이블 │
├─────────────────────────────────────────────────────────────┤
│ │
│ C:\Users\Admin> arp -a │
│ │
│ 인터넷 주소 물리적 주소 유형 │
│ 192.168.1.1 AA-BB-CC-00-00-01 (라우터 MAC) │
│ 192.168.2.20 AA-BB-CC-00-00-01 (어? 라우터 MAC이네?) │
│ 192.168.3.50 AA-BB-CC-00-00-01 (어? 또 라우터 MAC?) │
│ │
│ ▶ 결과: 밖으로 나가는 모든 IP들의 목적지 MAC이 라우터 MAC으로 │
│ 도배(도용)되어 버리는 현상이 발생한다! │
└─────────────────────────────────────────────────────────────┘
2. 프록시 ARP의 부작용 (끄는 것이 권장됨)
시스코 라우터는 역사적인 이유로 각 포트마다 이 기능이 기본적으로 켜져(Enable) 있다. 하지만 현대망에서는 득보다 실이 많다.
- ARP 캐시 폭발: 외부망으로 가는 수백만 개의 IP마다 라우터가 대답해 주므로, PC의 ARP 캐시 테이블이 수십만 줄로 폭발해 PC가 뻗을 수 있다.
- 보안의 위협: 해커가 이 원리를 살짝 비틀어, 자기가 라우터도 아니면서 중간에 끼어들어 "내가 게이트웨이야 나한테 줘!"라고 뻥을 치는 공격이 바로 그 유명한 ARP Spoofing(스푸핑) 공격이다.
- 해결책: 요새 컴퓨터들은 전부 게이트웨이 세팅을 알아서 잘하므로 라우터에서 이 오지랖을 강제로 꺼버린다. (
no ip proxy-arp)
📢 섹션 요약 비유: 프록시 ARP는 설정 꼬인 구형 기기들을 살려주는 고마운 기술이지만, 너무 과도한 오지랖 탓에 수첩(테이블)을 쓸데없는 거짓 정보(라우터 MAC)로 가득 채워버려, **"착하지만 보안 구멍을 만드는 골칫덩어리 이웃"**이 되어버렸습니다.