Today Keys : 로드밸런서, L4, L7, 부하분산, Load Balancer, Load Balancing, 동작 모드, DSR, 루프백, 리눅스
본 포스팅은 'IT 엔지니어를 위한 네트워크 입문' [길벗] 서적에 포함된 '12. 로드밸런서'의 내용 중 소개 및 12.6장의 내용입니다.
리눅스 서버에서 루프백 인터페이스 설정
로드 밸런서의 서비스용 가상 IP 주소(VIP)를 서버의 루프백 인터페이스에 설정해 DSR 모드를 구성합니다. 사용자가 요청한 서비스 IP 주소를 서버에서도 동일하게 갖고 있으므로 서비스 IP 주 소를 목적지로 한 요청을 수신받고 응답도 서버의 실제 서버 IP가 아닌 요청받았던 서비스 IP 주 소(루프백에 설정된)를 출발지 IP 주소로 설정해 사용자에게 응답할 수 있습니다. 사용자는 응답 받은 패킷이 자신이 요청한 목적지로부터 온 것으로 판단해 해당 패킷을 수신하게 됩니다. 루프백 인터페이스를 설정하는 방법은 다음과 같습니다.
루프백 인터페이스 설정: RHEL(CentOS) 계열 |
DEVICE=lo:0 IPADDR=서비스용 가상 IP(VIP) NETMASK=255.255.255.255 ONBOOT=yes NAME=lo0 |
루프백 인터페이스 설정: 데비안(우분투) 계열 |
auto lo lo:0 iface lo inet loopback iface lo:0 inet static address 서비스 가상 IP(VIP) netmask 255.255.255.255 |
루프백 인터페이스를 설정한 후에는 해당 IP가 로드 밸런서에 설정된 IP와 동일하므로 ARP를 통 한 테이블이 갱신되지 않도록 해당 서버의 리눅스 커널 파라미터를 수정해야 합니다.
즉, 해당 인 터페이스가 GARP(Gratuitous ARP)를 보내거나 ARP 응답을 하지 않도록 설정합니다. 리눅스 커널 파라미터의 변경 방법은 다음과 같습니다.
커널 파라미터 추가(/etc/sysctl.conf) |
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 |
네트워크 재시작 |
systemctl network restart 또는 service network restart # RHEL(CentOS) service networking restart 또는 service networking restart # 데비안(우분투) |