Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

3.2.2. 직접 라우팅 및 iptables

iptables 방화벽 규칙을 생성하여 직접 라우팅 방식을 사용하여 ARP 문제를 해결할 수 있습니다. iptables를 사용하여 직접 라우팅을 설정하려면 투명 프록시 (transparent proxy)를 생성하는 규칙을 추가하여 시스템에 VIP 주소가 없더라도 실제 서버가 VIP 주소로 보내는 패킷을 서비스하게 됩니다.
iptables 방식은 설정에 있어서 arptables_jf 방식과 비슷합니다. 이 방식으로 가상 IP 주소가 활성 LVS director에만 있게 되므로 LVS ARP 문제가 발생하지 않게 할 수 있습니다.
하지만, iptables 방식의 사용에서 arptables_jf와 비교해 볼 때 모든 패킷을 포워딩/마스커레이딩하는데 있어서 오버헤드로 인해 성능면에서 문제가 발생합니다.
iptables 방식을 사용하여 포트를 재사용할 수 없습니다. 예를 들어, 포트 80으로 바인드된 두개의 분리된 Apache HTTP Server 서비스를 실행할 수 없습니다. 왜냐하면 이러한 서비스는 가상 IP 주소 대신 INADDR_ANY로 바인드되어야 하기 때문입니다.
iptables 방식을 사용하여 직접 라우팅을 설정하려면 다음과 같은 절차를 실행합니다:
  1. 각각의 실제 서버에서 사용하고자 하는 모든 VIP, 포트, 프로토콜 (TCP or UDP) 조합에 대해 다음과 같은 명령을 실행합니다:
    iptables -t nat -A PREROUTING -p <tcp|udp> -d <vip> --dport <port> -j REDIRECT
    이 명령으로 실제 서버는 VIP로 목적지가 지정된 패킷을 처리하여 주어진 곳으로 포트하게 합니다.
  2. 실제 서버에 설정 사항 저장:
    # service iptables save
    # chkconfig --level 2345 iptables on
    위의 명령은 부팅시 — 네트워크가 시작되기 전 시스템이 iptables 설정을 다시 읽어오게 합니다.