LVS负载均衡技术文档
一、LVS nat技术(地址转换技术)
前提:配置实验环境 关闭iptables selinux
实验原理 :实际中字需要1个外网ip
本机配置ip:8.8.8.1 lvs:8.8.8.8 192.168.1.1 web1:192.168.1.2 web2:192.168.1.3
配置lvs机子操作(两张网卡 eth0 eth1):
ifconfig eth0 8.8.8.8 netmask 255.255.255.0
ifconfig eth1 192.168.1.1 netmask 255.255.255.0
ipvsadm -C
ipvsadm -At 8.8.8.8:80 -s rr
ipvsadm -at 8.8.8.8:80 -r 192.168.1.2:80 -m
ipvsadm -at 8.8.8.8:80 -r 192.168.1.3:80 -m
echo 1 >/proc/sys/net/ipv4/ip_forward 开启路由管道
ipvsadm -L -n 查看ipvsadm中添加的转发IP
配置 web1:ifconfig eth0 192.168.1.2 netmask 255.255.255.0
route add default gw 192.168.1.1
route -n 查看路由表数据
配置 web2:ifconfig eth0 192.168.1.3 netmask 255.255.255.0
route add default gw 192.168.1.1
route -n 查看路由表数据
到此lvs nat负载均衡配置完毕
测试在浏览器中输入:http://8.8.8.8 即可以访问
二、lvs ip-tun技术(ip隧道技术)
实验原理:本机配置:200.168.10.4 lvs配置: 200.168.10.10 200.168.10.1 web1:200.168.10.10 200.168.10.2 web2:200.168.10.10 200.168.10.3
所有机子连接在一个交换机中 :实际中需要3个外网ip
配置lvs:
ifconfig eth0 200.168.10.1 netmask 255.255.255.0
ifconfig tunl0 200.168.10.10 netmask 255.255.255.255 up
route -n
route add -host 200.168.10.10 dev tunl0 把添加到路由表中
ipvsadm -C
ipvsadm -At 200.168.10.10:80 -s rr
ipvsadm -at 200.168.10.10:80 -r 200.168.10.2:80 -i
ipvsadm -at 200.168.10.10:80 -r 200.168.10.3:80 -i
web1:
ifconfig eth0 200.168.10.2 netmask 255.255.255.0
ifconfig tunl0 200.168.10.10 netmask 255.255.255.255 up
route -n
route add -host 200.168.10.10 dev tunl0
一下是当arp广播的时候让tunl0不回应
echo 1 >/proc/sys/net/ipv4/conf/tunl0/arp_ignore
echo 2 >/proc/sys/net/ipv4/conf/tunl0/arp_announce
echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce
web2:
ifconfig eth0 200.168.10.3 netmask 255.255.255.0
ifconfig tunl0 200.168.10.10 netmask 255.255.255.255 up
route -n
route add -host 200.168.10.10 dev tunl0
一下是当arp广播的时候让tunl0不回应
echo 1 >/proc/sys/net/ipv4/conf/tunl0/arp_ignore
echo 2 >/proc/sys/net/ipv4/conf/tunl0/arp_announce
echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce
三、ip dr(直接路由技术)
原理:都连接在同一个交换机种 实际中需呀3个外网IP
lvs :
ifconfig eth0 200.168.10.1 netmask 255.255.255.0
ifconfig eth0:0 200.168.10.10 netmask 255.255.255.255 up
route add -host 200.168.10.10 dev eth0:0
ipvsadm -C
ipvsadm -At 200.168.10.10:80 -s rr
ipvsadm -at 200.168.10.10:80 -r 200.168.10.2:80 -g
ipvsadm -at 200.168.10.10:80 -r 200.168.10.3:80 -g
ipvsadm -L -n
web1:
ifconfig eth0 200.168.10.2 netmask 255.255.255.0
ifconfig lo:0 200.168.10.10 netmask 255.255.255.255 up
route add -host 200.168.10.10 dev lo:0
echo 1 >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 >/proc/sys/net/ipv4/conf/lo/arp_announce
echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce
web2:
ifconfig eth0 200.168.10.3 netmask 255.255.255.0
ifconfig lo:0 200.168.10.10 netmask 255.255.255.255 up
route add -host 200.168.10.10 dev lo:0
echo 1 >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 >/proc/sys/net/ipv4/conf/lo/arp_announce
echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce
这个时候直接路由模式就架设好了,通过访问200.168.10.10 会负载均衡到 200.168.10.2 和200.168.10.3两台机子上面
这个就是lvs负载均衡的3中模式:使用比较多的就是 lvs nat和lvs dr,因为lvs ip-tun 模式需要有一个隧道网卡 ,不是每个机子都有隧道网卡 ,不通用 所以一般采用 计算机的回环地址来做隧道网卡,这样比较通用
浙公网安备 33010602011771号