集群-负载均衡集群LVS搭建NAT、DR模式

LVS - NAT 模式集群

真实服务器
route add default gw IP地址

yum -y install httpd
service httpd start
chkconfig httpd on
网关服务器
modprobe ip_vs
cat /proc/net/ip_vs

yum -y install ipvsadm

vi /etc/sysctl.conf
	net.ipv4.ip_forward=1
sysctl -p	

iptables -t nat -A POSTROUTING -s 192.168.24.0/24(内网网段) -o eth0(外网口网卡名称) -j SNAT --to-source 10.16.16.172
iptables -t nat -L 


ipvsadm -A   -t 172.16.16.172:80   -s rr 
ipvsadm -a   -t 172.16.16.172:80   -r 192.168.7.21:80   -m 
ipvsadm -Ln
service ipvsadm save
chkconfig ipvsadm on

实验具体流程
实验准备:四台虚拟机
客户端IP:192.168.108.10 GW:192.168.108.100
负载均衡调度器两张网卡:eth0:192.168.108.100
eth1:192.168.24.100
开启路由转发
开启ipvs调度器
开启snat转换
web服务器:RS1 IP:192.168.24.10 GW:192.168.24.100
RS2 IP:192.168.24.20 GW:192.168.24.100

实验流程:主要为负载均衡调度器的配置

1.开启路由转发
vim /etc/sysctl.conf
net.ipv4.ip_forward=1
sysctl -p #刷新

2.安装软件
yum -y install ipvsadm
ipvsadm -Ln #-L:列出当前的调度规则
-n:以常见端口信息展现
创建集群:ipvsadm -A -t 192.168.108.100:80 -s rr
ipvsadm -Ln

指定真实服务器:
ipvsadm -a -t 192.168.108.100:80 -r 192.168.24.10:80 -m
ipvsadm -a -t 192.168.108.100:80 -r 192.168.24.20:80 -m
-m代表NAT模式
service ipvsadm save #保存,如果不保存重载会失效{因为临时在内存里}
chkconfig ipvsadm on #开机自启

3.指定防火墙规则
route -n查询网关

service iptables start # 启动防火墙
iptables -L # 查看防火墙规则
iptables -F # 清空防火墙规则
iptables -t nat -A POSTROUTING -s 192.168.24.0/24 -o eth0 -j SNAT --to-source 192.168.108.100 # 添加 SNAT 转换
-t nat表专门做路由转发
-A POSTROUTING:代表路由后做snat转换,路由前是dnat
-s:指源地址{内网地址}
-o:指出口网卡
-source:公网网卡地址
iptables -t nat -L # 查看 nat 表规则
service iptables save # 保存规则至持久化文件

4.查询信息
ipvsadm -Ln --stats
Conns:连接数
InPkts:入站数据包数量
OutPkts:出站数据包数量
InBytes:入站字节数量
OutBytes:出站字节数量

5.由于NAT工作方式支持端口映射
修改apache端口
ipvsadm -d -t 192.168.108.100:80 -r 192.168.24.10:80 #删除规则
ipvsadm -a -t 192.168.108.100:80 -r 192.168.24.10:8080 -m #继续添加规则
ipvsadm -Ln #查看规则
修改apache端口信息

清除24.20:80端口规则信息
添加24.20:8080端口规则信息
继续测试

LVS - DR 模式集群

真实服务器
service NetworkManager stop
#图形化需要关闭此服务
cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0
    DEVICE=lo:0
    IPADDR=虚拟IP
    NETMASK=255.255.255.255
    #四个255,代表广播地址,进一步告诉自己当访问虚拟ip时我可以接受到
    
vim /etc/sysctl.conf
#lvs -dr lo arp
    net.ipv4.conf.all.arp_ignore = 1
    net.ipv4.conf.all.arp_announce = 2
    net.ipv4.conf.default.arp_ignore = 1
    net.ipv4.conf.default.arp_announce = 2
    net.ipv4.conf.lo.arp_ignore = 1
    net.ipv4.conf.lo.arp_announce = 2
    #关闭arp响应级别,就可以把网卡隐藏起来了
sysctl -p

ifup lo:0

route add -host 虚拟IP dev lo:0
#添加路由规则
echo "/sbin/route add -host 虚拟IP dev lo:0" >> /etc/rc.local
#永久添加
service httpd start
负载调度器
service NetworkManager stop

cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-eth0:0
vim ifcfg-eth0:0
    DEVICE=eth0:0
    IPADDR=虚拟IP
    NETMASK=255.255.255.0
    #漂移IP
ifup eth0:0 启动虚拟网卡

vim /etc/sysctl.conf
    net.ipv4.conf.eth0.send_redirects = 0
    net.ipv4.conf.all.send_redirects = 0
    net.ipv4.conf.default.send_redirects = 0
    #关闭网卡重定向{重定向功能:例如,访问的是80,定向到8080},DR模式下不需要使用{因为不支持端口映射},也可以不做{相当于不优化}。
sysctl -p

modprobe ip_vs
cat /proc/net/ip_vs
yum -y install ipvsadm

ipvsadm -v
ipvsadm -A -t 虚拟IP:80 -s rr
ipvsadm -a -t 虚拟IP:80 -r 网站1:80 -g
ipvsadm -a -t 虚拟IP:80 -r 网站2:80 -g
ipvsadm -Ln
service ipvsadm save
chkconfig ipvsadm on
#查看发现:出站数据包为0,代表真实服务器和客户端直接相连,所以并发能力比NAT高,因为出站数据都由真实服务器完成,压力都分担到了真实服务器上。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值