본문 바로가기

스크립트

DSR 루프백 설정하는 방법(dsr loopback 설정)

반응형

DSR(Direct Server Return) 루프백(Loopback) 설정하는 방법(dsr loopback 설정)

DSR Mode는 로드 밸런서가 클라이언트의 요청을 서버로 전송한 후, 서버의 응답을 클라이언트에게 직접 전달하는 방식입니다.

L3 DSR 구성에서의 패킷 흐름

출처-http://tech.kakao.com/files/l3dsr-packet-flow.png

dsrloopbacksetup.sh 스크립트 작성

vim dsrloopbacksetup.sh
#!/bin/bash

echo -n "DSR kernel parameter를 적용하시겠습니까? (y/n): "
read apply_dsr
if [ "$apply_dsr" = "y" ]; then
  cat <<EOF >> /etc/sysctl.conf
# DSR
# Packet Forwarding 기능 (0: disable, 1: enable)
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
EOF
  /sbin/sysctl -p
  echo "DSR kernel parameter가 적용되었습니다."
else
  echo "DSR kernel parameter 적용을 취소했습니다."
fi

echo "======================================================"
ifconfig | grep lo
echo "======================================================"
echo -e "\n"

echo -n "DSR Loop Num을 입력하세요: "
read dsr_loop_num
echo -n "IP 주소를 입력하세요: "
read dsr_ip_address

cat <<EOF >> /etc/sysconfig/network-scripts/ifcfg-lo:$dsr_loop_num
DEVICE=lo:$dsr_loop_num
IPADDR=$dsr_ip_address
NETMASK=255.255.255.255
ONBOOT=yes
EOF

ifup lo:$dsr_loop_num

echo -e "\n"
echo "======================================================"
ifconfig | grep -C 1 lo
echo "======================================================"
chmod +x dsrloopbacksetup.sh
bash dsrloopbacksetup.sh

 

dsrloopbacksetup.sh
다운로드

 

참고URL

- Kakao Tech : kakao의 L3DSR 구성 사례

 

728x90
반응형