스크립트

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

변군이글루 2014. 3. 14. 17:39
반응형

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
반응형