LVS-NAT one arm

LVS-NATで、real serverをいじらないで済む一本腕な構成を考えて見ました。
CONFIG_IP_VS_NFCT = y なカーネルが必要です。
real serverでは、directorサーバからのアクセスに見えます。

  • 構成
client:         192.168.1.1
director:     172.16.1.2 (VIP: 172.16.1.1)
realserver: 10.1.1.1
  • directorで設定
  • sysctl
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/vs/conntrack
  • vipの設定
ip addr add 172.16.1.1 label eth0:1 dev eth0
arping -U -c 1 -I eth0 172.16.1.1
  • ipvsadm
ipvsadm -A -t 172.16.1.1:80 -s rr
ipvsadm -a -t 172.16.1.1:80 -r 10.1.1.1:80 -m
iptables -t nat -A POSTROUTING -m ipvs --vaddr 172.16.1.1 --vport 80 -j SNAT --to-source 172.16.1.2

これだけです。