노후 장비 교체에 다시 만난 Proxy ARP 때문에 힘들었던 썰.
○ 발단 그리고 현상
노후 장비 교체해야 한다.
백본, 방화벽, LB 모두 교체한다.
인터넷 구간 교체로 약간 부담되지만 내부 구간에서 검증을 마친 장비들만 들어오니 잘할 수 있다.
교체 완료 후 서비스 점검 중에 특이점이 하나 발견되었다.
웹 사이트는 뜨는데 안에 연결된 특정 업무들이 안 뜬다.
하나의 IP로 서비스를 하는데 어떤 건 되고 어떤 건 안 된다.
구성도부터 뜯어보자.
외부에서는 초록색 경로로 Pub 서버를 호출한다.
안 된다는 특정 서비스는 빨간색 경로로 Pub 서버가 WAS 서버를 호출하는 구조이다.
○ Divide and Conquer
Divide and Conquer 차례다.
일단 Pub 서버 호출은 되고 WAS 서버에 올라간 서비스 전체가 안 되는 건 아니다.
작업 전 전체 서버의 ifconfig를 점검하였고 특이사항이 없었다.
이 상황에서 Proxy ARP라고 단정 짓기는 어려웠다.
백본, 방화벽, LB 모두 바뀐 상태라 뭐든 문제가 될 수 있는 상황이었다.
Pub 서버 담당자는 외부에서 호출을 받았고 빨간색 경로로 WAS 서버를 호출했다고 주장한다.
그리고 WAS 서버 담당자는 Access Log가 안 찍힌다고 한다.
시간을 더 끌 수 없어 원복을 한다.
○ NW에서 특이점
최대한 이전 환경을 맞췄는데 소소하게 바뀐 게 있다.
주요정보통신기반시설 기술적 취약점 분석ㆍ평가 방법 상세가이드를 적용시킨 것이다.
그렇다. 이번에도 Proxy ARP를 껐다.
그런데 이번에는 방화벽에서 껐다. 왜냐하면 방화벽에서 GW를 가지고 있었으니까...
○ 재현해보자
LAB 구성을 하고 테스트에 돌입한다.
초반엔 재현이 되지 않았다.
한참을 고민 후에 서버 복제 후 테스트를 하니 현상이 발생했다.
○ 서버에서의 특이점 (1/2)
ifconfig는 분명 문제없었다.
라우팅 테이블을 확인하였다.
20.20.20.x는 26bit로 나누어져 있다.
설계상 20.20.20.x는 NIC2로 통신하라는 설정으로 보인다.
이상태에서 통신을 해보면 분명히 안 된다.
혹시나 싶어 Pub 서버에서 vlan c gw(20.20.20.193/26)로 통신을 해봤는데 안 된다.
○ 패킷에서 특이점
LAB 재현 시 패킷을 떠보니...
Pub에서 vlan c gw 호출 시 broadcast를 보낸다.
아니 왜???
이상태에서 방화벽 int vlan에 proxy arp를 켜면 통신이 된다.
○ 서버에서의 특이점 (2/2)
다시 보니 오류 같다.
한참을 보다 보니 이해가 갔다. 20.20.20.x는 26bit인데 20.20.20.0/24를 모두 통신하려면 Gateway가 있어야 한다. 기존 라우팅을 지우고 route add -net 20.20.20.0 netamsk 255.255.255.0 gw 20.20.20.129라고 하니 아래처럼 라우팅이 변경되었고 통신이 잘 되었다.
참고로 잘 G 플래그가 없는 라우팅은 route add -net 20.20.20.0 netmask 255.255.255.0 dev NIC2라고 했단다.
○ 아니 그럼 지금까지 어떻게 통신한건데?
아이러니컬하게도 Proxy ARP on/off 모두 동일한 경로를 탄다.
NIC2에서 L2 통신하려고 arp를 보냈을 것이고 방화벽은 Proxy ARP 기능을 통해 자신을 통해 통신하라고 응답한다.
하여, Pub 서버에서 20.20.20.240을 찾아갈 땐 방화벽 vlan b의 mac을 통해서 통신하게 된다.
마치 gw 제대로 잡아서 통신하듯이... 이게 Proxy ARP의 기능이니까.
즉 빨간 라인을 L2 통신하고 있었는데 Proxy ARP를 끄고 Pub 서버 라우팅 테이블을 수정함으로써
빨간 라인을 L3 통신하게 되는 것이다.
○ 누구의 문제인가?
OS 측 : 서버 이렇게 운영한 지 오래됐음.
설계 측 : 물리 서버에 NIC2개를 넣는 건 정책 위반이었지만 이때는 그럴 수밖에 없었고
20은 20 끼리 10은 10 끼리 통신하면 되는 거였다.
NW 측 : ????
○ 결론
Proxy ARP를 끌 때는 고통받는다.
'Network TroubleShooting > 트러블 슈팅 썰' 카테고리의 다른 글
클라우드 서비스가 안 되요-VPN편 (0) | 2022.04.19 |
---|---|
Proxy ARP는 정상적인 NIC 설정에서도 영향을 주는가? (0) | 2022.04.14 |
어서와 Proxy ARP는 처음이지? (0) | 2022.04.12 |
포트 고갈 (Port Exhaustion) (0) | 2022.03.31 |
TCP Timestamps 꼭 써야하나? (0) | 2022.03.30 |
댓글