1 配置环境
1.1 网络拓扑
1.2 机器配置信息
A:LD Server 的配置
硬件:AMD Sempron(tm) 2600+ 1.8G,512M内存,普通PC主板
软件:Slackware 内核2.6.16.21
网络:VIA Rhine II 100M
B、C:Real Serve的配置
硬件:B: AMD Athlon(tm) 64 Processor 3000+,512M内存,普通PC主板
C: Intel(R) Pentium(R) 4 CPU 1.70GHz,512M内存,普通PC主板
软件:Fedora core 4 内核2.6.21
D:Test Client的配置
硬件:Intel(R) Pentium(R) 4 CPU 2.00GHz 512M内存,普通PC主板
软件:Fedora core 4 内核2.6.11.1
网络:Intel(R) PRO/100M
2 LVS/TUN模式的配置过程
2.1 LDServer的配置
配置LDServer 需要的步骤:
- 配置内核支持IPVS和IP Tunneling.
- 安装和配置ipvsadm
- 配置网络及系统参数
2.1.1 配置内核
LD Server所需内核中需要进行的改动较多,主要为network option; lvs;及iptables,状态机。
下面以linux内核2.6.16.21为例,配置内核支持ipvs和ip tunneling.
a networking options:(/Networking/Networking options)
进入 network packet filtering(/Networking/Networking options/Network packet filtering)
配置Core(/Networking/Networking options/Network packet filtering/Core Netfilter Configuration)
配置IP:((/Networking/Networking options/Network packet filtering/IP: Netfilter Configuration
b 配置LVS: ((/Networking/Networking options/IP: Linux Virtual Server Configuration)
2.1.1 安装和配置ipvsadm
a http://www.linuxvirtualserver.org/software/ipvs.html下载对应内核版本的ipvsadm
b 进入ipvsadm目录,并make 以及make install.注意:编译ipvsadm时/usr/src/linux必须链接到ipvs内核的源码包。
c 输入命令ipvsadm,若有如下提示则安装正确。
IP Virtual Server version 1.2.1 (size=65536)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
2.1.3 网络配置及系统参数
a 配置网络地址
#配置eth0的真实IP地址
/sbin/ifconfig eth0 192.168.1.1 up
#配置VIP地址到eth0:100(如果有两个网卡,可以将VIP地址配置到另一个网卡上)
/sbin/ifconfig eth0:100 192.168.1.100 broadcast 192.168.1.100 netmask 255.255.255.255 up
#加路由
/sbin/route add –host 192.168.1.100 dev eth0:100
b 配置网络系统参数(eth0为绑定VIP的网卡设备)
echo "0" >/proc/sys/net/ipv4/ip_forward
echo "1" >/proc/sys/net/ipv4/conf/all/send_redirects
echo "1" >/proc/sys/net/ipv4/conf/default/send_redirects
echo "1" >/proc/sys/net/ipv4/conf/eth0/send_redirects
c 配置IPVS的服务类型、VIP地址以及对应的RS信息,例如:
/sbin/ipvsadm -A –t 192.168.1.100:80 -s wlc
/sbin/ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.10 -i -w 1
/sbin/ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.20 -i -w 1
2.2 RealServer 的配置
RealServer的配置比较简单,只需要内核支持IP Tunning,在系统上有一个IP Tunning设备就可以了。
配置LDServer的步骤:(Linux系统为例)
- 配置内核支持IP Tunning
- 网络配置及系统参数
2.2.1 配置内核
RS的内核只需在现有内核的基础上开启net options中的ip tunnlig 选项即可,如下图:
同时需要关闭状态机。
2.2.2 配置网络及系统参数
a 配置网络地址
#配置eth0的地址
/sbin/ifconfig eth0 192.168.1.10 up
#配置tunl0
/sbin/ifconfig tunl0 192.168.1.100 broadcast 192.168.1.100 netmask 255.255.255.255 up
#增加路由
/sbin/route add –host 192.168.1.100 dev tunl0
b 配置系统参数
#关闭转发功能
echo "0" >/proc/sys/net/ipv4/ip_forward
c 解决arp问题
echo 1 > /proc/sys/net/ipv4/conf/tunl0/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/tunl0/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
d 解决源地址验证问题
echo 0 > /proc/sys/net/ipv4/conf/tunl0/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
3 测试配置的正确性
在B上配置http服务的首页index.htm内容为This is B在C上配置http服务的首页index.htm内容为This is C
在A上配置ipvs
/sbin/ipvsadm -A –t 192.168.1.100:80 -s wlc
/sbin/ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.10 -i -w 1
/sbin/ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.20 -i -w 1
在D上使用浏览器查看http://192.168.1.100/index.htm,每次刷新会得到不同的内容。