ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

LVS负载均衡(3)-- DR模型搭建实例

2021-07-14 11:31:50  阅读:203  来源: 互联网

标签:LVS -- DR xuzhichao 192.168 443 ff root 50.100



目录


1. LVS DR模型搭建

1.1 DR模型网络规划

image

规划要点:

  • 在生产环境中,客户端与企业互联网出口设备不会时同一网段地址,此处我们规划为同一网段地址,但是没有在客户端上配置网关,因此我们需要在企业出口设备上把LVS的VIP地址192.168.50.100做地址映射或端口映射,映射到企业出口防火墙的外网地址192.168.20.31。
  • LVS设备在LAN网络中设置了两个IP,其中192.168.50.31为实际地址DIP,192.168.50.100为虚IP,为后面的高可用规划地址。
  • 后端nginx服务器RS设备与LVS在同一网段,网关无需指向LVS设备,指向出口路由器即可。
  • 由于CIP请求的是VIP,而响应是通过RIP响应给CIP,所以数据报文一定会被丢弃。那么就需要在所有的RS的接口上配置VIP的地址。由RS上的VIP响应给CIP即可。
  • 所有的客户端都是与后端的RS主机进行TCP三次握手,而不是LVS设备。
  • DR模型下LVS设备无需打开ip_forward功能。

1.2 RS设备的VIP冲突解决方式

RS设备上配置VIP会引起地址冲突,同时路由器有可能会直接把请求发给RS设备,而不是LVS,解决方法有以下几种:

  • 在前端路由器做arp静态绑定,绑定VIP和Director的MAC地址。

  • 在RS上使用arptables工具:

    arptables -A IN -d $VIP -j DROP

    arptables -A OUT -s $VIP -j mangle --mangle-ip-s $RIP

  • 在RS上修改内核参数以限制arp通告及应答级别(lo和all都要修改),保存配置需要修改配置文件/etc/sysctl.conf。

    • 1.不回应广播

      arp_ignore=1,找到设定目录find /proc -name "*arp_ignore",修改lo和all目录下的项

      0:默认值,表示可使用本地任意接口上配置的任意地址进行响应

      1:仅在请求的目标IP配置在本地主机接收到请求报文的接口上时,才给予响应

    • 2.启动时不发免费ARP

      arp_announce=2,找到设定目录find /proc -name "*arp_announce",修改lo和all目录下的项

      0:默认值,把本机所有接口的所有信息向每个接口的网络进行通告

      1:尽量避免将接口信息向非直接连接网络进行通告

      2:必须避免将接口信息向非本网络进行通告

    • 然后把VIP地址设置在RS设备的lo0:0接口上。

1.3 DR模型访问流程

image

DR模型的访问流程如下:

  • 1、当用户请求到达 DS节点 ,此时请求的数据报文会先到内核空间的PREROUTING 链。 此时报文的 源IP为CIP , 目标IP为VIP 。
  • 2、 PREROUTING 检查发现数据包的 目标IP 是本机,将数据包送至 INPUT 链。
  • 3、 IPVS 比对数据包请求的服务是否为集群服务,是则将请求报文中的 源MAC 修改为 DMAC ,将 目标MAC 修改 RMAC ,然后将数据包通过 POSTROUTING 链发出。此时的 源IP 和 目的IP 均未修改,仅将 源MAC 修改为 DMAC , 目标MAC 修改为 RMAC
  • 4、由于 DS 和 RS 在同一个网络中,所以是通过二层来传输。 POSTROUTING 链检查 目标MAC 为 RIP的MAC 地址,那么此时数据包将通过 DIP 发送 RS 节点
  • 5、 RS 拆解数据报文发现请求的 IP 地址是本机,则会接收该数据报文,而后构建响应报文向外发出,此时的 源IP 是 VIP , 目标IP 是 CIP
  • 6、响应报文最终送达至客户端

1.4 DR模型配置

1.4.1 ROUTER设备配置

  • ROUTER设备的IP地址和路由信息如下:

    [root@router ~]# ip add
    3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:4f:a9:ca brd ff:ff:ff:ff:ff:ff
        inet 192.168.20.50/24 brd 192.168.20.255 scope global noprefixroute eth1
           valid_lft forever preferred_lft forever
    4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:4f:a9:d4 brd ff:ff:ff:ff:ff:ff
        inet 192.168.50.50/24 brd 192.168.50.255 scope global noprefixroute eth2
           valid_lft forever preferred_lft forever
    
    #此场景中无需配置路由
    [root@router ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    192.168.20.0    0.0.0.0         255.255.255.0   U     101    0        0 eth1
    192.168.50.0    0.0.0.0         255.255.255.0   U     104    0        0 eth2
    
  • 打开router设备的ip_forward功能:

    [root@router ~]# echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
    [root@router ~]# sysctl -p
    net.ipv4.ip_forward = 1
    
  • 把LVS的虚IP地址的80和443端口映射到路由器外网地址的80和443端口,也可以使用地址映射:

    #端口映射:
    [root@router ~]# iptables -t nat -A PREROUTING -d 192.168.20.50 -p tcp --dport 80 -j DNAT --to 192.168.50.100:80
    [root@router ~]# iptables -t nat -A PREROUTING -d 192.168.20.50 -p tcp --dport 443 -j DNAT --to 192.168.50.100:443
    
    #地址映射:
    [root@router ~]# iptables -t nat -A PREROUTING -d 192.168.20.50 -j DNAT --to 192.168.50.100
    
    #源NAT,让内部主机上网使用
    [root@router ~]# iptables -t nat -A POSTROUTING -s 192.168.50.0/24 -j SNAT --to 192.168.20.50
    
    #查看NAT配置:
    [root@router ~]# iptables -t nat -vnL
    Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination         
        0     0 DNAT       tcp  --  *      *       0.0.0.0/0            192.168.20.50        tcp dpt:80 to:192.168.50.100:80
        0     0 DNAT       tcp  --  *      *       0.0.0.0/0            192.168.20.50        tcp dpt:443 to:192.168.50.100:443
    
    Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination         
    
    Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination         
    
    Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination         
        0     0 SNAT       all  --  *      *       192.168.50.0/24      0.0.0.0/0            to:192.168.20.50
    

1.4.2 后端nginx服务器配置

  • nginx02主机的网络配置如下:

    #1.在lo接口配置VIP地址:
    [root@nginx02 ~]# cat /etc/sysconfig/network-scripts/ifcfg-lo:0
    DEVICE=lo:0
    BOOTPROTO=none
    IPADDR=192.168.50.100
    NETMASK=255.255.255.255   <==注意:此处的掩码不能与RIP的掩码配置的一样,否则其他主机无法学习到RIP的ARP信息,会影响RIP的直连路由,而且设置的掩码不能过大,让VIP和CIP计算成同一网段,建议设置为32位掩码。
    ONBOOT=yes
    NAME=loopback
    
    #2.重启网卡生效:
    [root@nginx02 ~]# ifdown lo:0 && ifup lo:0
    [root@nginx02 ~]# ifconfig lo:0
    lo:0: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 192.168.50.100  netmask 255.255.255.255
            loop  txqueuelen 1000  (Local Loopback)
    
    #3.eth2接口地址如下:
    [root@nginx02 ~]# ip add
    4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:d9:f9:7d brd ff:ff:ff:ff:ff:ff
        inet 192.168.50.22/24 brd 192.168.50.255 scope global noprefixroute eth2
           valid_lft forever preferred_lft forever
    
    #4.路由配置:网关指向路由器192.168.50.50
    [root@nginx02 ~]# ip route add default via 192.168.50.50 dev eth2   <==默认路由必须指定下一跳地址和出接口,否则有可能会从lo:0接口出去,导致不通。
    
    [root@nginx02 ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.50.50   0.0.0.0         UG    0      0        0 eth2
    192.168.50.0    0.0.0.0         255.255.255.0   U     103    0        0 eth2
    
  • 配置 arp ,不对外宣告本机 VIP 地址,也不响应其他节点发起 ARP 请求 本机的VIP

    [root@nginx02 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
    [root@nginx02 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
    [root@nginx02 ~]# echo 1 > /proc/sys/net/ipv4/conf/default/arp_ignore
     
    [root@nginx02 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
    [root@nginx02 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
    [root@nginx02 ~]# echo 2 > /proc/sys/net/ipv4/conf/default/arp_announce
    
  • nginx03主机的网络配置如下:

    #1.在lo接口配置VIP地址:
    [root@nginx03 ~]# cat /etc/sysconfig/network-scripts/ifcfg-lo:0
    DEVICE=lo:0
    BOOTPROTO=none
    IPADDR=192.168.50.100
    NETMASK=255.255.255.255    <==注意:此处的掩码不能与RIP的掩码配置的一样,否则其他主机无法学习到RIP的ARP信息,会影响RIP的直连路由,而且设置的掩码不能过大,让VIP和CIP计算成同一网段,建议设置为32位掩码。
    ONBOOT=yes
    NAME=loopback
    
    #2.重启网卡生效:
    [root@nginx03 ~]# ifdown lo:0 && ifup lo:0
    [root@nginx03 ~]# ifconfig lo:0
    lo:0: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 192.168.50.100  netmask 255.255.255.255
            loop  txqueuelen 1000  (Local Loopback)
    
    #3.eth2接口地址如下:
    [root@nginx03 ~]# ip add show eth2
    4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:0a:bf:63 brd ff:ff:ff:ff:ff:ff
        inet 192.168.50.23/24 brd 192.168.50.255 scope global noprefixroute eth2
           valid_lft forever preferred_lft forever
    
    
    #4.路由配置:网关指向路由器192.168.50.50
    [root@nginx03 ~]# ip route add default via 192.168.50.50 dev eth2  <==默认路由必须指定下一跳地址和出接口,否则有可能会从lo:0接口出去,导致不通。
    
    [root@nginx03 ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.50.50   0.0.0.0         UG    0      0        0 eth2
    192.168.50.0    0.0.0.0         255.255.255.0   U     103    0        0 eth2
    
  • 配置 arp ,不对外宣告本机 VIP 地址,也不响应其他节点发起 ARP 请求 本机的VIP

    [root@nginx03 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
    [root@nginx03 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
    [root@nginx03 ~]# echo 1 > /proc/sys/net/ipv4/conf/default/arp_ignore
    
    [root@nginx03 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
    [root@nginx03 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
    [root@nginx03 ~]# echo 2 > /proc/sys/net/ipv4/conf/default/arp_announce
    
  • nginx配置文件两台WEB服务器保持一致:

    [root@nginx03 ~]# cat /etc/nginx/conf.d/xuzhichao.conf
    server {
    	listen 80 default_server;
    	listen 443 ssl;
    	server_name www.xuzhichao.com;
    	access_log /var/log/nginx/access_xuzhichao.log access_json;
    	charset utf-8,gbk;	
    	
    	#SSL配置
    	ssl_certificate_key /apps/nginx/certs/www.xuzhichao.com.key;
    	ssl_certificate /apps/nginx/certs/www.xuzhichao.com.crt;
    	ssl_session_cache shared:ssl_cache:20m;
    	ssl_session_timeout 10m;
    	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    	keepalive_timeout 65;
    	
    	#防盗链
    	valid_referers none blocked server_names *.b.com  b.*  ~\.baidu\.  ~\.google\.;
    	
    	if ( $invalid_referer ) {
    		return 403;	
    	}
    
    	client_max_body_size 10m;
    
    	#浏览器图标
    	location = /favicon.ico {
    		root /data/nginx/xuzhichao;
    	}
    
    	location / {
    		root /data/nginx/xuzhichao;
    		index index.html index.php;
    		
    		#http自动跳转https
    		if ($scheme = http) {
    			rewrite ^/(.*)$ https://www.xuzhichao.com/$1;
    		}
    	}
    }
    
    #重启nginx服务:
    [root@nginx03 ~]# nginx -t
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    [root@nginx03 ~]# systemctl reload nginx.service 
    
  • nginx02主机的主页文件如下:

    [root@nginx02 certs]# cat /data/nginx/xuzhichao/index.html
    node1.xuzhichao.com page
    
  • nginx03主机的主页文件如下:

    [root@nginx03 ~]# cat /data/nginx/xuzhichao/index.html 
    node2.xuzhichao.com page
    
  • 测试访问:

    [root@lvs-01 ~]# curl -Hhost:www.xuzhichao.com  -k https://192.168.50.23
    node2.xuzhichao.com page
    [root@lvs-01 ~]# curl -Hhost:www.xuzhichao.com  -k https://192.168.50.22
    node1.xuzhichao.com page
    

1.4.3 LVS设备配置

  • LVS设备的网络配置如下:

    #1.配置虚地址192.168.50.100
    #临时配置:
    [root@lvs-01 ~]# ifconfig eth2:1 192.168.50.100/24 up
    
    #永久配置,使用配置文件:
    [root@lvs-01 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth2:1
    TYPE=Ethernet
    BOOTPROTO=none
    IPADDR=192.168.50.100
    PREFIX=24
    DEVICE=eth2:1
    NAME=eth2:1
    DEFROUTE=yes
    ONBOOT=yes
    
    #重启网卡:
    [root@lvs-01 ~]# ifdown eth2 && ifup eth2 
    [root@lvs-01 ~]# ifdown eth2:1 && ifup eth2:1
    
    #2.LVS地址配置:
    [root@lvs-01 ~]# ip add
    4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:21:84:9d brd ff:ff:ff:ff:ff:ff
        inet 192.168.50.31/24 brd 192.168.50.255 scope global noprefixroute eth2
           valid_lft forever preferred_lft forever
        inet 192.168.50.100/24 brd 192.168.50.255 scope global secondary eth2:1
           valid_lft forever preferred_lft forever
    
    #3.LVS配置默认路由指向出口路由器192.168.50.50
    [root@lvs-01 ~]# ip route add default via 192.168.50.50
    
    #本实验场景中存在ETH1口地址为192.168.20.0/24网段,因此需要配置指向客户端的主机路由,生产中不需要
    [root@lvs-01 ~]# ip route add 192.168.20.17/32 via 192.168.50.50
    
    [root@lvs-01 ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.50.50   0.0.0.0         UG    0      0        0 eth2
    192.168.20.0    0.0.0.0         255.255.255.0   U     101    0        0 eth1
    192.168.20.17   192.168.50.50   255.255.255.255 UGH   0      0        0 eth2
    192.168.50.0    0.0.0.0         255.255.255.0   U     102    0        0 eth2
    
  • 配置IPVS的规则:

    #创建80和443两个集群,并添加后端主机:
    [root@lvs-01 ~]# ipvsadm -A -t 192.168.50.100:80 -s rr
    [root@lvs-01 ~]# ipvsadm -A -t 192.168.50.100:443 -s rr
    [root@lvs-01 ~]# ipvsadm -a -t 192.168.50.100:80 -r 192.168.50.22:80 -g
    [root@lvs-01 ~]# ipvsadm -a -t 192.168.50.100:80 -r 192.168.50.23:80 -g
    [root@lvs-01 ~]# ipvsadm -a -t 192.168.50.100:443 -r 192.168.50.22:443 -g
    [root@lvs-01 ~]# ipvsadm -a -t 192.168.50.100:443 -r 192.168.50.23:443 -g
    
    [root@lvs-01 ~]# ipvsadm -Ln
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
      -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
    TCP  192.168.50.100:80 rr
      -> 192.168.50.22:80             Route   1      0          0         
      -> 192.168.50.23:80             Route   1      0          0         
    TCP  192.168.50.100:443 rr
      -> 192.168.50.22:443            Route   1      0          0         
      -> 192.168.50.23:443            Route   1      0          0 
    

1.4.4 客户端访问测试

  • 客户端网络配置如下:

    [root@xuzhichao ~]# ip add
    3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:2f:d0:da brd ff:ff:ff:ff:ff:ff
        inet 192.168.20.17/24 brd 192.168.20.255 scope global noprefixroute eth1
           valid_lft forever preferred_lft forever
    
    [root@xuzhichao ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    192.168.20.0    0.0.0.0         255.255.255.0   U     101    0        0 eth1
    
  • 测试访问:

    #1.测试使用http方式访问,重定向到https
    [root@xuzhichao ~]# for i in {1..10} ;do curl -k -L -Hhost:www,xuzhichao.com http://192.168.20.50; done
    node2.xuzhichao.com page
    node1.xuzhichao.com page
    node2.xuzhichao.com page
    node1.xuzhichao.com page
    node2.xuzhichao.com page
    node1.xuzhichao.com page
    node2.xuzhichao.com page
    node1.xuzhichao.com page
    node2.xuzhichao.com page
    node1.xuzhichao.com page
    
    #2.测试直接使用https方式访问
    [root@xuzhichao ~]# for i in {1..10} ;do curl -k -Hhost:www,xuzhichao.com https://192.168.20.50; done
    node2.xuzhichao.com page
    node1.xuzhichao.com page
    node2.xuzhichao.com page
    node1.xuzhichao.com page
    node2.xuzhichao.com page
    node1.xuzhichao.com page
    node2.xuzhichao.com page
    node1.xuzhichao.com page
    node2.xuzhichao.com page
    node1.xuzhichao.com page
    
  • 查看LVS的状态信息:

    [root@lvs-01 ~]# ipvsadm -Lnc
    IPVS connection entries
    pro expire state       source             virtual            destination
    TCP 01:46  FIN_WAIT    192.168.20.17:43444 192.168.50.100:443 192.168.50.22:443
    TCP 01:47  FIN_WAIT    192.168.20.17:43448 192.168.50.100:443 192.168.50.22:443
    TCP 01:49  FIN_WAIT    192.168.20.17:43454 192.168.50.100:443 192.168.50.23:443
    TCP 01:47  FIN_WAIT    192.168.20.17:43446 192.168.50.100:443 192.168.50.23:443
    TCP 01:47  FIN_WAIT    192.168.20.17:43450 192.168.50.100:443 192.168.50.23:443
    TCP 01:48  FIN_WAIT    192.168.20.17:43452 192.168.50.100:443 192.168.50.22:443
    
    [root@lvs-01 ~]# ipvsadm -Ln --stats
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port               Conns   InPkts  OutPkts  InBytes OutBytes
      -> RemoteAddress:Port
    TCP  192.168.50.100:80                   4       12        0      720        0
      -> 192.168.50.22:80                    2        7        0      420        0
      -> 192.168.50.23:80                    2        5        0      300        0
    TCP  192.168.50.100:443                 63      441        0    42210        0
      -> 192.168.50.22:443                  31      226        0    22185        0
      -> 192.168.50.23:443                  32      215        0    20025        0
    
    [root@lvs-01 ~]# ipvsadm -Ln --rate
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port                 CPS    InPPS   OutPPS    InBPS   OutBPS
      -> RemoteAddress:Port
    TCP  192.168.50.100:80                   0        0        0        0        0
      -> 192.168.50.22:80                    0        0        0        0        0
      -> 192.168.50.23:80                    0        0        0        0        0
    TCP  192.168.50.100:443                  0        1        0       57        0
      -> 192.168.50.22:443                   0        0        0       29        0
      -> 192.168.50.23:443                   0        0        0       29        0
    

1.5 DR模型的配置脚本

1.5.1 RS设备的配置脚本

[root@lvs-01 ~]# vim lvs_dr.sh
#!/bin/bash 

VIP=192.168.50.100
RS1=192.168.50.22
RS2=192.168.50.23
PORT1=80
PORT2=443
DEV=eth2:1
scheduler=rr
NETMASK=32

case $1 in 
        start) 
        
        #永久配置VIP
        cat >/etc/sysconfig/network-scripts/ifcfg-${DEV} <<-EOF
        TYPE=Ethernet
        BOOTPROTO=none
        DEFROUTE=yes
        NAME=${DEV}
        DEVICE=${DEV}
        ONBOOT=yes
        IPADDR=${VIP}
        PREFIX=24
        EOF

        # 启动网卡
        ifup ${DEV}
        
        #临时配置VIP
        ifconfig eth2:1 ${VIP}/${NETMASK} up
        
        # 配置LVS规则
        ipvsadm -C
        ipvsadm -A -t ${VIP}:${PORT1} -s ${scheduler}
        ipvsadm -a -t ${VIP}:${PORT1} -r ${RS1} -g
        ipvsadm -a -t ${VIP}:${PORT1} -r ${RS2} -g
        
        ipvsadm -A -t ${VIP}:${PORT2} -s ${scheduler}
        ipvsadm -a -t ${VIP}:${PORT2} -r ${RS1} -g
        ipvsadm -a -t ${VIP}:${PORT2} -r ${RS2} -g
        ;;
        
        stop)
        
        ifdown ${DEV}
        rm -f /etc/sysconfig/network-scripts/ifcfg-${DEV}
        ipvsadm -C
        ;; 
        
        *) 
        echo "Usage: sh $0 { start | stop }" 
        ;;
esac

[root@lvs-01 ~]# sh lvs_dr.sh start
[root@lvs-01 ~]# sh lvs_dr.sh stop

1.5.2 DS设备的配置脚本

[root@nginx02 ~]# vim lvs_rs.sh
#!/usr/bin/bash

VIP=192.168.50.100
DEV=lo:0

case $1 in
    start)
	echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
	echo "1" >/proc/sys/net/ipv4/conf/default/arp_ignore
	echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore

	echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
	echo "2" >/proc/sys/net/ipv4/conf/default/arp_announce
	echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce


	cat  >/etc/sysconfig/network-scripts/ifcfg-${DEV} <<-EOF
	DEVICE=lo:0
	IPADDR=${VIP}
	NETMASK=255.255.255.255
	ONBOOT=yes
	NAME=loopback
	EOF
	
	ifup ${DEV}	# 启动网卡
	pkill -0 nginx && systemctl start nginx
    ;;
    stop)
    echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
    echo "0" >/proc/sys/net/ipv4/conf/default/arp_ignore
    echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
    
    echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
    echo "0" >/proc/sys/net/ipv4/conf/default/arp_announce
    echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce

    ifdown ${DEV}  # 停止网卡
    rm -f /etc/sysconfig/network-scripts/ifcfg-${DEV}
    systemctl stop nginx
    ;;
    *)
    echo "Usage: sh $0 { start | stop }"
esac

[root@nginx02 ~]# bash lvs_rs.sh start
[root@nginx02 ~]# bash lvs_rs.sh stop

标签:LVS,--,DR,xuzhichao,192.168,443,ff,root,50.100
来源: https://www.cnblogs.com/xuwymm/p/15010063.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有