DR模式拓扑图:
发包流程:
客户端 发的包的源ip是cip,目的ip是vip.mac 地址,源MAC :cip的mac.目的mac地址是网关的mac.
DGW 问vip 你在哪?VIP响应;DGW 发包;源IP CIP;目的IP VIP/源MAC DGW的MAC;目的MAC是VIP的MAC地址;
LVS 通过我们手动添加ip 他才知道做负载均衡有哪些机器,然后广播相应IP的MAC地址;然后正确的ip会响应;源ip是cip,目的ip是vip;源MAC :DIP的MAC地址;目的mac地址是RIP的MAC 地址;
Realserver 包处理:最外层是目的MAC源MAC;如果没文题就收纳该包(特例是一串f,也会收纳;因为这是广播包;)在看ip---->他先查是否有VIP地址(我们在回环接口上加了vip---->这样会发现有很多lserver有VIP的地址,就是ip冲突了(解决方法:关闭arp协议;不让他广播)(注意,LVS机器知道realserver的mac地址是通过arp协议;realserver收到包后reserver处理完包之后;源IP:VIP;目的IP:CIP;源MAC:(发送包的realserver)公网ip的mac.目的MAC是dgw 的MAC 地址;
部署开始:
最开始的操作是把每个机器的dhcp 公能给关闭了.用命令 neat-tui (图形化配置)
1号机器 : 设ip;网关;清除规则;
2号机器 : 设ip;装两个网卡;打开转发,记得sysctl -p;清空防火墙规则;
3号机器 : 设ip;打开转发,记得sysctl -p;
lvs 策略添加:
Yum install ipvsadm -y
====> ipvsadm -A -t 172.100.100.30:80 -s rr
====> ipvsadm -a -t 172.100.100.30:80 -r 172.50.50.40:80 -g
====> ipvsadm -a -t 172.100.100.30:80 -r 172.50.50.50 -g
4,5号机器 : 设ip.添网关;
添加vip;ifconfig lo:1 172.100.100.30 netmask 255.255.255.255关闭arp转发:
echo 2 > /proc/sys/net/ipv4/conf/eth1/arp_announce
Echo 1 > /proc/sys/net/ipv4/conf/eth1/arp_ignore
启动服务;设置http 界面;(注意改属主;属组)
清空防火墙规则;
1号机器 : 测试:elinks -dump 172.100.100.30(观察结果;)
注意:
在此实验中注意桥的设置;
设置桥的规则:一个网段一个桥,一个桥里 包含他所指网段的所有机器的ip.增加一个桥virbr1,拷贝/etc/libvirt/qemu/networks/下的default.xml到/etc/libvirt/qemu/networks/virbr1====>编辑virbr1(改动第三行使之与default不一样;改名为virbr1.接下来的ip 是真实机器接入改桥的ip,如果有很多桥,真实机器就有很多ip因为真实机器有控制作用,所以这些桥有存在的必要;后面的ip是dhcp分发ip 地址的范围)====>将改目录下的 virbr1 连接到下一级目录 autostart/下;ln -svirbr1 ./autostart/virbr1====>重启服务:/service libvirtd restart
查看有哪些桥及哪些网卡的ip在这桥里---> brctl show.
删除桥virbr2中的vif12.0--->brctl delif virbr2 vif12.0
在桥virbr1中添加vif10.0--->brctl addif virbr1 vif10.0
阅读(2977) | 评论(0) | 转发(0) |