IP端口转发是集群配置中最为关键的一步,用户要根据自己的情况进行灵活处理。这里分为配置内容和配置过程两部分来讲解。
配置内容
这里将模拟从客户端访问私网中主机的Web服务和FTP服务,验证是否能访问不同的机器。IPVS的使用规则见表1。
表1显示了IPVS所要做的工作。虚拟服务器本身并没有安装服务器软件,无法提供相应的服务内容,但是它可以把所有访问10.44.110.209的、基于TCP协议的Web请求(80端口)转发给192.168.0.2和192.168.0.3两台真实服务器去处理。等执行完后,它再把结果返回给客户端。同理,它把来自21端口的FTP服务请求转发给192.168.0.3,由IP地址为192.168.0.3的真实服务器处理,并把结果返回。
配置过程
首先配置负载均衡服务器的IP地址、网关等,命令如下:
#ifconfig eth0 10.44.110.209 netmask 255.255.255.0 broadcast 10.44.110.255
接着根据以下的规则创建/etc/rc.d/rc.firewall文件:
/sbin/depmod -a
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_portfw.o
echo "1"
/proc/sys/net/ipv4/ip_forward
#先打开IP Forwarding
iptables -A forward -j MASQ -s 192.168.0.0/24 -d 0.0.0.0/0
#进行IP伪装
#port forward the packet of interface 10.44.110.209
to 192.168.0.2 (真实服务器1)
#TCP:port 80
/usr/sbin/ipmasqadm portfw -a -P tcp
-L 10.44.110.209 80 -R 192.168.0.2 80 -p 1
#port forward the packet of interface
10.44.110.209 to 192.168.0.3 (真实服务器2)
#FTP:port 21
/usr/sbin/ipmasqadm portfw -a -P
tcp -L 10.44.110.209 21 -R 192.168.0.3 21 -p 1
/usr/sbin/ipmasqadm portfw -a -P
tcp -L 10.44.110.209 80 -R 192.168.0.3 80 -p 2
/usr/sbin/ipmasqadm -A -t 10.44.110.209:80
-s wlc #Weighted Least-Connection scheduling调度方式
/usr/sbin/ipmasqadm -A -t 10.44.110.209:21
-s wrr #Weighted Round Robing scheduling调度方式
编辑完该文件后,运行下面的命令增加文件的可执行权限:
#chmod 700 /etc/rc.d/rc.firewall
再在/etc/rc.d/rc.local文件中加入下面的一行,这样每次重新启动机器后,都会激活IP伪装模块:
/etc/rc.d/rc.firewall
到此为止,完成了虚拟服务器上的基本设置。接着来看在私网的真实服务器上怎么进行配置。