LVS–NAT模式集群搭建
配置RS
所有的RS配置相同
1.修改默认网关
echo "GETEWAY=DIP" >> /etc/sysconfig/network-scripts/ifcfg-eth0 #修改RS的默认网关为DIP
ifdown eth0 && ifup eth0 #重启eth0
2.安装服务
这里安装的是apache
yum install -y httpd #安装服务
service httpd start #启动服务
echo "192.168.4.111" > /var/www.html/index.html #不同的RS配置不同,为了演示效果
配置DS
1.加载ipvs模块
modprobe ip_vs #加载ipvs模块
cat /proc/net/ip_vs #查看是否加载成功
IP Virtual Server version 1.2.1 (size=4096) #表示ipvs模块加载成功
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
2.安装ipvsadm管理工具
yum install -y ipvsadm #ipvsadm是管理LVS的工具
3.开启路由转发
DS有两块网卡,一块连接内网,一块连接外网,开启内部路由转发功能
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf #开启路由转发
sysctl -p #刷新内核参数
4.添加集群
1)向LVS中添加集群
ipvsadm -A -t 10.0.0.112:80 -s rr #向调度器添加集群(VIP)
ipvsadm -D -t 10.0.0.112:80 #删除集群10.0.0.112:80
-A #添加集群
-D #删除集群
-t #指定的是TCP集群,接IP+PORT(VIP)
-s #指定调度算法
2)向集群中添加真实服务器
ipvsadm -a -t 10.0.0.112:80 -r 192.168.4.113:80 -m #向调度器的集群中添加真实服务器,有几台真实服务器就添加几个
ipvsadm -d -t 10.0.0.112:80 -r 192.168.4.113:80 #删除集群10.0.0.112:80中的真实服务器192.168.4.113服务器
-a #向指定集群添加真实服务器
-d #向指定集群删除真实服务器
-t #指定添加真实服务器的集群
-r #向集群添加的真实服务器IP+PORT
-m #指定模式,m表示NAT模式
3)查看集群状态
ipvsadm -Ln #查看集群中的真实服务器
-L #展现列
-n #以端口形式显示
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.0.0.55:80 rr
-> 192.138.4.112:80 Masq 1 0 0
-> 192.138.4.113:80 Masq 1 0 0
4)保存集群的规则列表
这里的规则是放在内存中的,如果关机,规则会消失,需要保存到文件中,文件:/etc/sysconfig/ipvsadm
service ipvsadm save #保存LVS规则表
ipvsadm: Saving IPVS table to /etc/sysconfig/ipvsadm:
cat /etc/sysconfig/ipvsadm #查看这个规则列表
-A -t 10.0.0.55:80 -s rr
-a -t 10.0.0.55:80 -r 192.138.4.112:80 -m -w 1
-a -t 10.0.0.55:80 -r 192.138.4.113:80 -m -w 1
5.LVS开机自启
chkconfig ipvsadm on #设置开启自启
6.修改防火墙规则
iptables -t nat -A POSTROUTING -s 192.168.4.0/24(内网网段) -o eth1(外网口网卡名称) -j SNAT --to-source 10.0.0.112 #设置防火墙规则,真实服务器返回数据后,在LVS中进程源地址和目标地址的转换
iptables -t nat -L #查看设置的规则
7.保存防火墙规则
如果不保存的话,重启会失效,保存文件/etc/sysconfig/iptables
service iptables save #保存规则
iptables:将防火墙规则保存到 /etc/sysconfig/iptables:
8.查看数据包的数量
ipvsadm -Ln --stats #查看LVS的访问数据包的数量