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
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
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
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 추가 가능
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
'IT > 리눅스' 카테고리의 다른 글
리눅스 PCS(Pacemaker) H/A 구축 가이드 - 2 (0) | 2025.02.17 |
---|---|
리눅스 PCS(Pacemaker) H/A 구축 가이드 - 1 (0) | 2025.02.17 |
CentOS 7 / RedHat 7 rc.local 활성화 및 설정 방법 (0) | 2025.02.15 |
리눅스 tcpdump 효율적인 사용법 및 추가 설명 (0) | 2025.02.15 |
리눅스 반복 명령어 실행 (while true 반복문) (0) | 2025.02.15 |