본문 바로가기
IT/리눅스

리눅스 DSR (Direct Server Return) 설정 방법

by JGSHIN 2025. 2. 15.
SMALL

📌 DSR (Direct Server Return) 개요

  • SLB(Server Load Balancer) 방식
    → 클라이언트 → L3 스위치 → L4 로드 밸런서 → 서버 → L4 로드 밸런서 → L3 스위치 → 클라이언트
  • DSR(Direct Server Return) 방식
    → 클라이언트 → L3 스위치 → L4 로드 밸런서 → 서버 → L3 스위치 → 클라이언트
    → 응답 패킷이 L4를 거치지 않고 직접 클라이언트로 전달됨

📌 CentOS에서 DSR 설정

1️⃣ loopback 인터페이스 설정

📌 lo:0 인터페이스에 가상 IP 설정 (netmask는 반드시 255.255.255.255)

 
# vi /etc/sysconfig/network-scripts/ifcfg-lo:0

📌 설정 파일 내용

TYPE=Ethernet
DEVICE=lo:0
BOOTPROTO=none
ONBOOT=yes
IPADDR=Virtual_IP
NETMASK=255.255.255.255

2️⃣ ARP 설정 (브로드캐스트 방지)

📌 sysctl.conf에서 ARP 응답 및 공지 제한

 
# vim /etc/sysctl.conf

📌 추가할 내용 

net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2

3️⃣ 설정 적용

 
# sysctl -p # 변경 사항 적용
# ifup lo:0 # lo:0 인터페이스 활성화

📌 Ubuntu에서 DSR 설정

1️⃣ 패키지 설치 및 인터페이스 설정

 
# sudo apt update
# sudo apt install ifupdown

📌 lo:0 인터페이스 설정

 
# vi /etc/network/interfaces

📌 설정 파일 내용

auto lo:0 
iface lo:0 inet static 
address Virtual_IP
netmask 255.255.255.255

2️⃣ ARP 설정

 
# vi /etc/sysctl.conf

📌 추가할 내용

 
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2

3️⃣ 설정 적용

 
# sysctl -p
# ifup lo:0

📌 Ubuntu에서 Netplan을 이용한 DSR 설정

1️⃣ Netplan YAML 설정 파일 생성

 
# vi /etc/netplan/01-dsr.yaml

📌 설정 파일 내용

 
network:
  version: 2
  ethernets:
    lo:
      addresses:
        - Virtual_IP/32
      dhcp4: false
      routes:
        - to: 0.0.0.0/0
          via: 127.0.0.1
          scope: link
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4  # 필요한 경우 DNS 추가 가능
  • Virtual_IP 부분은 사용할 가상 IP로 변경

2️⃣ Netplan 적용

 
# sudo netplan apply

설정이 완료되면 Netplan을 이용해 DSR 구성이 적용됩니다.
🚨 Ubuntu 버전에 따라 Netplan 설정이 다를 수 있으므로 주의! 🚨


📌 결론

  • CentOS에서는 ifcfg-lo:0 설정 방식 사용
  • Ubuntu에서는 /etc/network/interfaces 방식 사용
  • 최신 Ubuntu에서는 Netplan을 이용한 설정을 추천
  • DSR 설정을 위해 ARP 제한을 꼭 설정해야 함
  • 설정 적용 후 lo:0 인터페이스 활성화 필요

🚀 위 설정을 적용하면, 서버는 클라이언트 요청을 받고 응답을 직접 전달하는 DSR 방식으로 동작하게 됩니다. 🚀

LIST
📧 이메일 문의
by @ 2025 JGSHIN