Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5286704
  • 博文数量: 1144
  • 博客积分: 11974
  • 博客等级: 上将
  • 技术积分: 12312
  • 用 户 组: 普通用户
  • 注册时间: 2005-04-13 20:06
文章存档

2017年(2)

2016年(14)

2015年(10)

2014年(28)

2013年(23)

2012年(29)

2011年(53)

2010年(86)

2009年(83)

2008年(43)

2007年(153)

2006年(575)

2005年(45)

分类: LINUX

2007-11-04 22:15:54

2007年09月28日

Linux Virtual Server (LVS) 實作筆記

關於 LVS

環境:

  • Load Balancer:
    • kernel 2.6.x 已內建 LVS 模組
    • kernel 2.4.x 需打
    • Fedora Core 3 預設安裝即可使用 LVS 模組, 另以 yum 安裝 ipvsadm 套件
      如無法以 yum 安裝 ipvsadm, 可從下載
       
  • Real Server:
    • VS/NAT 可使用任何平台的網路伺服器當 Real Server
    • VS/TUN 需支援 IP Tunneling
    • VS/DR 需支援 Non-ARP 網路設備

為簡化測試環境, 本篇 Load Balancer 與 Real Server 皆為 Fedora Core 3

Virtual Server via NAT (VS/NAT)

Load Balancer:

eth1 (對外): 10.2.0.1
eth0 (對內): 192.168.1.254

vi /etc/sysctl.conf

net.ipv4.ip_forward = 1

sysctl -p

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE

ipvsadm -C

ipvsadm -A -t 10.2.0.1:80 -s rr

ipvsadm -a -t 10.2.0.1:80 -r 192.168.1.1:80 -m

ipvsadm -a -t 10.2.0.1:80 -r 192.168.1.2:80 -m

Real Server:

Default Gateway 指向 Director 的 LAN IP

Virtual Server via IP Tunneling (VS/TUN)

Load Balancer:

eth0: 10.2.0.1
eth0:0: 10.2.0.2

vi /etc/sysctl.conf

net.ipv4.ip_forward = 1

sysctl -p

ifconfig eth0:0 10.2.0.2 netmask 255.255.255.255 up

ipvsadm -C

ipvsadm -A -t 10.2.0.2:80 -s rr

ipvsadm -a -t 10.2.0.2:80 -r 10.2.0.11:80 -i

ipvsadm -a -t 10.2.0.2:80 -r 10.2.0.12:80 -i

Real Server:

vi /etc/sysctl.conf

net.ipv4.ip_forward = 1
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2

sysctl -p

ifconfig tunl0 10.2.0.2 netmask 255.255.255.255 up

route add -host 10.2.0.2 dev tunl0

ps. 以上是 Real Server 與 Director 在同一個 LAN 的 IP Tunneling, 跨 WAN 的 IP Tunneling 還搞不清楚... Orz

Virtual Server via Direct Routing (VS/DR)

Load Balancer:

eth0: 10.2.0.1
eth0:0: 10.2.0.2

vi /etc/sysctl.conf

net.ipv4.ip_forward = 1

sysctl -p

ifconfig eth0:0 10.2.0.2 netmask 255.255.255.255 up

ipvsadm -C

ipvsadm -A -t 10.2.0.2:80 -s rr

ipvsadm -a -t 10.2.0.2:80 -r 10.2.0.11:80 -g

ipvsadm -a -t 10.2.0.2:80 -r 10.2.0.12:80 -g

Real Server:

vi /etc/sysctl.conf

net.ipv4.ip_forward = 1
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

sysctl -p

ifconfig lo:0 10.2.0.2 netmask 255.255.255.255 up

route add -host 10.2.0.2 dev lo:0


相關網頁

Posted by Jamyy at 2007年09月28日 10:56

Trackback Pings

TrackBack URL for this entry:

阅读(2935) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~