네트워크

원암(One-Arm) DSR 설정 시 서버에 VIP 설정이 필요한 이유

GEELL 2025. 6. 13. 13:34
728x90
반응형
SMALL

원암(One-Arm) DSR 설정 시 서버에 VIP 설정이 필요한 이유

네트워크 구조 중 원암(One-Arm) 방식은 L4 스위치에 과부하가 걸리는 것을 방지하기 위해 라우팅 방식을 DSR(Direct Server Return)로 설정하는 경우가 많습니다.


DSR 방식에서는 서버가 클라이언트의 요청에 대해 L4 스위치를 거치지 않고 직접 응답을 보냅니다.

이를 위해 서버에도 L4 스위치에서 사용하는 VIP(Virtual IP)를 설정해주어야 합니다.
하지만 VIP는 원래 서버가 가지고 있는 IP가 아니기 때문에, 서버가 해당 VIP에 대해 ARP 요청에 응답하지 않도록 설정하는 것이 중요합니다.

이러한 이유로 서버에서는 VIP를 lo(루프백) 인터페이스에 설정하게 됩니다.

 

루프백 인터페이스는 자기 자신과 통신할 때 사용하는 가상의 인터페이스로, 네트워크 상에서는 보이지 않으며 해당 서버 내부에서만 인식됩니다.

루프백 인터페이스들


즉, 루프백에 설정된 IP는 외부에서는 존재하지 않는 것처럼 보이지만, 서버 내부에서는 정상적인 IP처럼 동작합니다.

 

따라서 루프백 인터페이스에 VIP를 설정하면, 클라이언트 → L4 → 서버로 들어온 요청 패킷의 목적지 IP가 VIP인 경우,
서버는 해당 VIP를 자신이 가진 IP로 인식하고 이를 처리할 수 있습니다.

 

이후 응답 패킷을 만들 때도 VIP를 출발지 IP로 설정하여 직접 클라이언트에게 전달하게 됩니다.

이렇게 되면 클라이언트는 자신이 요청한 VIP로부터 응답을 받았다고 판단하게 되어 통신이 정상적으로 이루어지게 됩니다.

 

DSR설정 시 필수 조건

서버는ADC의Service IP(VIP)가 추가로 설정되어 있어야 함

서버에설정된Service IP는 ARP 요청에 대한 응답을하지않도록설정해야함

 

예시) 위 구성도에서 서버 설정

서버는 리눅스 centos7이다.

lo:1라는 루프백 인터페이스에 VIP 15.15.15.200을 넣어준다.

 

루프백에 넣어줘도 ARP응답은 안하지만 완전히 보장되지는 않는다. 따라서 아래와 같은 조건을 넣어주는것이 좋다.

sudo sysctl -w net.ipv4.conf.all.arp_ignore=1
sudo sysctl -w net.ipv4.conf.all.arp_announce=2

 

각각의 뜻은

arp_ignore=1 : 서버가 자신의 IP가 아닌 요청에는 ARP 응답 안함
서버가 받은 ARP 요청에 대해 요청된 IP가 서버의 어떤 인터페이스에 있든
그 인터페이스가 요청이 들어온 네트워크 인터페이스와 같은 네트워크(같은 서브넷)에서만 ARP 응답을 한다는 뜻이에요.
arp_announce=2 : 서버가 ARP 요청 보낼 때 자신의 IP를 확실히 알리도록 함

 

이상이다.

 

 

https://geell.tistory.com/26

 

네트워크 원암(One Arm) , 투암(Two Arm)/인라인(Inline) 이란?

네트워크 공부 중 원암(One Arm) , 투암(Two Arm) 이란걸 계속 들었는데 원암은 검색하면 다양한 정보가 나오지만투암은 그렇게 다양한 정보가 나오지 않고 오히려 인라인(Inline)이 나온다. 이게 어떻

geell.tistory.com

 

728x90
반응형
LIST