LVS小试

1.LVS/NAT  
原理: 
Java代码   收藏代码
  1. 客户端—>LVS外网IP(VIP)—>RS服务器(处理请求后通过网关返回结果)—>LVS的LB地址—>客户端  

配置LVS/NAT模式时外网IP不要和LoadBalance(LB)的IP同一网段(使用VMWare时两个网卡不要设置同一网段,可以一个是NAT一个是HOST) 
Java代码   收藏代码
  1. LVS外网IP:192.168.142.131  
  2. LVS_LB的IP:192.168.254.128  
  3. RS_1:192.168.254.129 GW 192.168.254.128  
  4. RS_2:192.168.254.130 GW 192.168.254.128  

配置LVS: 
Java代码   收藏代码
  1. iptables -F  
  2. echo "1">/proc/sys/net/ipv4/ip_forward  
  3. ipvsadm -C  
  4. ipvsadm -A -t 192.168.142.131:80 -s rr  
  5. ipvsadm -a -t 192.168.142.131:80 -r 192.168.254.129 -m -w 1  
  6. ipvsadm -a -t 192.168.142.131:80 -r 192.168.254.130 -m -w 1  

LVS的网卡信息大约如下: 
Java代码   收藏代码
  1. eth0      Link encap:Ethernet  HWaddr 00:0C:29:76:38:6B    
  2.           inet addr:192.168.142.131  Bcast:192.168.142.255  Mask:255.255.255.0  
  3.           ......  
  4.    
  5. eth1      Link encap:Ethernet  HWaddr 00:0C:29:76:38:75    
  6.           inet addr:192.168.254.128  Bcast:192.168.254.255  Mask:255.255.255.0  
  7.           ......  

配置RS,其实RS的配置就只需要设置网关: 
RS_1: 
Java代码   收藏代码
  1. vi /etc/sysconfig/network-scripts/ifcfg-eth0  
  2.         DEVICE=eth0  
  3.         BOOTPROTO=static  
  4.         ONBOOT=yes  
  5.         HWADDR=00:0c:29:3d:fe:c5  
  6.         IPADDR=192.168.254.129  
  7.         NETMASK=255.255.255.0  
  8.         GATEWAY=192.168.254.128  
  9. service network restart  
  10. cd /var/www/html/  
  11. echo "129">index.html  
  12. apachectl start  
  13. iptables -F  

RS_2: 
Java代码   收藏代码
  1. vi /etc/sysconfig/network-scripts/ifcfg-eth0  
  2.         DEVICE=eth0  
  3.         BOOTPROTO=static  
  4.         ONBOOT=yes  
  5.         HWADDR=00:0c:29:3d:fe:c5  
  6.         IPADDR=192.168.254.130  
  7.         NETMASK=255.255.255.0  
  8.         GATEWAY=192.168.254.128  
  9. service network restart  
  10. cd /var/www/html/  
  11. echo "130">index.html  
  12. apachectl start  
  13. iptables -F  


2.LVS/DR  
原理: 
Java代码   收藏代码
  1. 客户端—>LVS的VIP—>RS服务器(处理请求后直接返回结果给客户端)—>客户端  

LVS端的网卡需要有一个IP地址段与RS同一网段 
Java代码   收藏代码
  1. LVS的IP:192.168.254.128  
  2. LVS的VIP:192.168.254.100  
  3. RS_1的IP:192.168.254.129  
  4. RS_1的VIP(lo:0):192.168.254.100  
  5. RS_2的IP:192.168.254.130  
  6. RS_2的VIP(lo:0):192.168.254.100  

配置LVS: 
Java代码   收藏代码
  1. vi /etc/sysctl.conf   
  2.         # Controls IP packet forwarding  
  3.         net.ipv4.ip_forward = 1  
  4.         net.ipv4.conf.all.send_redirects = 1  
  5.         net.ipv4.conf.default.send_redirects = 1  
  6.         net.ipv4.conf.eth1.send_redirects = 1  
  7. sysctl -p  
  8. ifconfig eth1:0 192.168.254.100 netmask 255.255.255.255 broadcast 192.168.254.100 up  
  9. route add -host 192.168.254.100 dev eth1:0  
  10. ipvsadm -C  
  11. ipvsadm -A -t 192.168.254.100:80 -s rr  
  12. ipvsadm -a -t 192.168.254.100:80 -r 192.168.254.129 -g -w 1  
  13. ipvsadm -a -t 192.168.254.100:80 -r 192.168.254.130 -g -w 1  
  14. iptables -F  

配置RS_1: 
Java代码   收藏代码
  1.  vi /etc/sysctl.conf   
  2.          # Controls IP packet forwarding  
  3.         net.ipv4.ip_forward = 0  
  4.         net.ipv4.conf.lo.arp_ignore = 1  
  5.         net.ipv4.conf.lo.arp_announce = 2  
  6.         net.ipv4.conf.all.arp_ignore = 1  
  7.         net.ipv4.conf.all.arp_announce = 2  
  8. sysctl -p  
  9. ifconfig lo:0 192.168.254.100 netmask 255.255.255.255 broadcast 192.168.254.100 up  
  10. route add -host 192.168.254.100 dev lo:0  
  11. cd /var/www/html/  
  12. echo "129">index.html  
  13. apachectl start  
  14.  iptables -F  

配置RS_2: 
Java代码   收藏代码
  1. vi /etc/sysctl.conf   
  2.      # Controls IP packet forwarding  
  3.      net.ipv4.ip_forward = 0  
  4.      net.ipv4.conf.lo.arp_ignore = 1  
  5.      net.ipv4.conf.lo.arp_announce = 2  
  6.      net.ipv4.conf.all.arp_ignore = 1  
  7.      net.ipv4.conf.all.arp_announce = 2  
  8. sysctl -p  
  9. ifconfig lo:0 192.168.254.100 netmask 255.255.255.255 broadcast 192.168.254.100 up  
  10. route add -host 192.168.254.100 dev lo:0  
  11. cd /var/www/html/  
  12. echo "130">index.html  
  13. apachectl start  
  14. iptables -F  

3.LVS/TUN  
原理: 
Java代码   收藏代码
  1. 客户端—>LVS的VIP(通过IP Tunneling)—>RS服务器(处理请求后直接返回结果给客户端)—>客户端  

RS服务器需要与外网直接通信 
Java代码   收藏代码
  1. LVS的IP:192.168.254.128  
  2. LVS的VIP:192.168.254.100  
  3. RS_1的IP:192.168.254.129  
  4. RS_1的TUN IP(tunl0):192.168.254.100  
  5. RS_2的IP:192.168.254.129  
  6. RS_2的TUN IP(tunl0):192.168.254.100  

配置LVS: 
Java代码   收藏代码
  1. iptables -F  
  2. echo "0">/proc/sys/net/ipv4/ip_forward   
  3. ifconfig eth1:0 192.168.254.100 netmask 255.255.255.255 broadcast 192.168.254.100 up  
  4. route add -host 192.168.254.100 dev eth1:0  
  5. ipvsadm -C  
  6. ipvsadm -A -t 192.168.254.100:80 -s rr  
  7. ipvsadm -a -t 192.168.254.100:80 -r 192.168.254.129 -i -w 1  
  8. ipvsadm -a -t 192.168.254.100:80 -r 192.168.254.130 -i -w 1  


配置RS_1: 
Java代码   收藏代码
  1. iptables -F  
  2. ifconfig tunl0 192.168.254.100 netmask 255.255.255.255 broadcast 192.168.254.100 up  
  3. route add -host 192.168.254.100 dev tunl0  
  4. cd /var/www/html/  
  5. echo "129">index.html  
  6. apachectl start  


配置RS_2: 
Java代码   收藏代码
  1. iptables -F  
  2. ifconfig tunl0 192.168.254.100 netmask 255.255.255.255 broadcast 192.168.254.100 up  
  3. route add -host 192.168.254.100 dev tunl0  
  4. cd /var/www/html/  
  5. echo "130">index.html  
  6. apachectl start  

你可能感兴趣的:(LVS小试)