• centos部署LVS负载均衡直接路由DR模式


    环境:
    在vm里开三个虚拟机
    负载调度器:10.0.3.102
    真实服务器1:10.0.3.103
    真实服务器2:10.0.3.104

    虚拟ip: 10.0.3.99 (用来飘移)

    负载调度器上
    ifconfig eth0:0 10.0.3.99 netmask 255.255.255.0 #增加虚拟ip
    route add -host 10.0.3.99 dev eth0:0 #添加路由?这个不是很清楚
    yum install ipvsadm* -y #安装ipvsamd*
    ipvsadm -C #清空虚拟服务器列表 ,执行过一次后,后面这三条命令都要重新执行
    ipvsadm -At 10.0.3.99:80 -s rr #增加一台虚拟服务器,调度算法为rr轮询
    ipvsadm -at 10.0.3.99:80 -r 10.0.3.103:80 -g #在虚拟服务器里增加一台真实服务器
    ipvsadm -at 10.0.3.99:80 -r 10.0.3.104:80 -g
    ipvsadm -L  #查看
    service iptables stop #关闭防火墙
    vi /etc/selinux/config #关闭selinux
    setenforce 0
    watch ipvsadm

    curl 10.0.3.99 

    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
    -> RemoteAddress:Port Forward Weight ActiveConn InActConn
    TCP 10.0.3.99:http rr
    -> 10.0.3.103:http Route 1 0 0
    -> 10.0.3.104:http Route 1 0 0

    真实服务器A
    ifconfig eth0:0 10.0.3.99 netmask 255.255.255.255
    route add -host 10.0.3.99 dev eth0:0
    echo “1” > /proc/sys/net/ipv4/conf/eth0/arp_ignore #后面有解释
    echo “1” > /proc/sys/net/ipv4/conf/all/arp_ignore
    echo “2” > /proc/sys/net/ipv4/conf/eth0/arp_announce
    echo “2” > /proc/sys/net/ipv4/conf/all/arp_announce
    yum install httpd -y
    service httpd start
    vi /var/www/html/index.html
    curl localhost
    curl 10.0.3.100
    curl 10.0.3.99
    service firewalld stop
    service iptables stop
    curl 10.0.3.99
    curl 10.0.3.99

    真实服务器B
    ifconfig eth0:0 10.0.3.99 netmask 255.255.255.255
    route add -host 10.0.3.99 dev eth0:0
    echo “1” > /proc/sys/net/ipv4/conf/eth0/arp_ignore
    echo “1” > /proc/sys/net/ipv4/conf/all/arp_ignore
    service iptables stop
    setenforce 0
    echo “2” > /proc/sys/net/ipv4/conf/eth0/arp_announce
    echo “2” > /proc/sys/net/ipv4/conf/all/arp_announce
    service iptables status
    yum install httpd -y
    service httpd start
    vi /var/www/html/index.html

    效果
    [root@localhost ~]# curl 10.0.3.99
    this is 103
    [root@localhost ~]# curl 10.0.3.99
    this is 104
    [root@localhost ~]# curl 10.0.3.99
    this is 104
    [root@localhost ~]# curl 10.0.3.99
    this is 103
    注意,这个用浏览器访问时,可能需要多刷新几次,或另开一个窗口,亦或另开一个浏览器,才会出现ip飘移到另一台服务器ip的情况,显示另一个服务器对应的web页面

    arp_ignore:定义对目标地址为本地IP的ARP询问不同的应答模式0
    0 - (默认值): 回应任何网络接口上对任何本地IP地址的arp查询请求
    1 - 只回答目标IP地址是来访网络接口本地地址的ARP查询请求
    2 -只回答目标IP地址是来访网络接口本地地址的ARP查询请求,且来访IP必须在该网络接口的子网段内

    arp_announce:对网络接口上,本地IP地址的发出的,ARP回应,作出相应级别的限制: 确定不同程度的限制,宣布对来自本地源IP地址发出Arp请求的接口
    0 - (默认) 在任意网络接口(eth0,eth1,lo)上的任何本地地址
    1 -尽量避免不在该网络接口子网段的本地地址做出arp回应. 当发起ARP请求的源IP地址是被设置应该经由路由达到此网络接口的时候很有用.此时会检查来访IP是否为所有接口上的子网段内ip之一.如果改来访IP不属于各个网络接口上的子网段内,那么将采用级别2的方式来进行处理.
    2 - 对查询目标使用最适当的本地地址.在此模式下将忽略这个IP数据包的源地址并尝试选择与能与该地址通信的本地地址.首要是选择所有的网络接口的子网中外出访问子网中包含该目标IP地址的本地地址. 如果没有合适的地址被发现,将选择当前的发送网络接口或其他的有可能接受到该ARP回应的网络接口来进行发送.

  • 相关阅读:
    初识 visJs (基于html5 canvas开发的可视化框架)
    VueJs
    VueJS 使用i18n做国际化切换中英文
    vue-cli项目接口地址可配置化(多环境部署)一处修改多处适用
    vue + element-ui 制作下拉菜单(可配置路由、可根据路由高亮list、可刷新自动展开定位路由)
    vue-cli -- > 项目基本构建的方法
    javascript代码工具库
    HTML5新功能之六 《Web通信、WebSockets和跨文档消息传输》
    《响应式Web设计:HTML5和CSS3实战》 读书笔记
    HTML5新功能之二 《Geolocation获取地理位置》
  • 原文地址:https://www.cnblogs.com/duanlinxiao/p/10921492.html
Copyright © 2020-2023  润新知