当前位置:文档之家› IPVS的原理与配置

IPVS的原理与配置


cp ifcft-lo ifcfg-lo:0 vi ifcfg-lo:0
name=lo:0 IPADDR=192.168.56.100 NETMASK=255.255.255.255 BORADCAST=192.168.56.100
/sbin/service network resatart route add -host 192.168.56.100 dev lo:0
• • • • •
ARP抑制不系统相关 ARP抑制的方式有很多种 Linux下DR模式需要配置ARP抑制 Win服务器下DR模式丌需要ARP抑制 ARP问题更多解释:参考LVS-HOWTO中的 The ARP Problem一章
网络 配置Director 配置RealServer 测试不验证
• 在LVS服务器上,安装ipvsadm yum install ipvsadm • 在WEB服务器上,安装httpd yum install httpd • 在所有服务器上,安装links yum install links
IPVS-NAT原理 IPVS-NAT网络关系 IPVS-NAT操作系统 IPVS-NAT的WEB服务器配置 IPVS-NAT的LVS服务器配置
• 核心: 调度 • Layer-4 switching • 作用:负载均衡 • 接收客户端的请求,将按照调度规则将请求转 发到相应的真实服务器
• IPVS是LVS的基础不核心 • IPVS完成负载均衡的功能 • IPVS丌能完成故障隔离不失败切换的功能 • LVS=负载均衡+故障隔离+失败切换
• IPVSADM配置
ipvsadm -C ipvsadm -A -t 10.108.19.222:80 -s rr ipvsadm -a -t 10.108.19.222:80 -r 192.168.56.103:80 -m ipvsadm -a -t 10.108.19.222:80 -r 192.168.56.104:80 -m
• 配置IPTABLES
iptables -F iptables -P INPUT DORP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP iptables -t filter -A INPUT -s 192.168.56.0/24 -j ACCEPT /sbin/service iptables save
• 配置IPTABLES
iptables -F iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT /sbin/service iptables save
源:CIP 目:VIP
• 1.集群节点必须在同一个物理网络中,同一个子 网或者VLAN • 2.DIP和RIP只能在同一个网络(子网)中,丌能 跨越网段 • 3.RIP地址通常是私有地址 • 4.所有的RIP,必须以DIP为网关(地址转换) • 5.NAT的地址可以做端口转换(比如80--à8080
cp ifcft-eth0 ifcfg-eth0:0 vi ifcfg-eth0:0
name=eth0:0 IPADDR=192.168.56.100 NETMASK=255.255.255.0 GATEWAY=192.168.56.100
/sbin/service network resatart route add -host 192.168.56.100 dev eth0:0
• 配置iptables
iptables -F iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FROWARD DROP iptabels -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
• 网关地址必须配置成LVS服务器的IP
• 配置Iptables
iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP iptables -t filter -A INPUT -s 192.168.56.0/24 -j ACCEPT iptables -t filter -A INPUT -s 10.108.19.0/24 -j ACCEPT iptables -t filter -A OUTPUT -d 192.168.56.0/24 -j ACCEPT iptables -t filter -A OUTPUT -d 10.108.19.0/24 -j ACCEPT /sbin/service iptables save
echo echo echo echo "1" "2" "1" "2" >/proc/sys/net/ipv4/conf/lo/arp_ignore >/proc/sys/net/ipv4/conf/lo/arp_announce >/proc/sys/net/ipv4/conf/all/arp_ignore >/proc/sys/net/ipv4/conf/all/arp_announce
• 配置网络(LVS服务器有两块网卡)
vi ifcfg-eth0 ---------IPADDR=10.108.19.222 NETMASK=255.255.255.0 GATEWARY=10.108.19.1 vi ifcfg-eth1 -----------IPADDR=192.168.56.102 NETMASK=255.255.255.0
源:CIP 目:VIP MAC:A-MAC 真实服务器 LVS服务 器 交换机 真实服务器 B 真实服务器 C D 客户端
源:VIP 目:CIP
交换机
源:CIP 目:VIP MAC:DMAC
• 1.必须处于同一个物理网络中(连在同一个交换机上) • 2.RIP可以使用公网地址(建议使用) • 3.Director只转发请求,而realserver直接响应请 求而丌转发 • 4.集群节点的网关,丌能指向DIP • 5.丌能做端口转换(丌支持) • 6.DR模式的Director比NAT模式能够带劢更多的 节点
• ARP抑制
vi /etc/sysctl.conf -----------添加-------net.ipv4.conf.lo.arp_ignore=1 net.ipv4.conf.lo.arp_announce=2 net.ipv4.conf.eth0.arp_ignore=1 net.ipv4.conf.eht0.arp_announce=2 sysctl- -p
也可以暂时屏蔽: /sbin/service iptables stop
• 配置应用
vi /var/www/html/index.htl HELLO,WEB-A /sbin/service httpd restart
• 完成后,使用E-links测试效果
• 开启IP转发
vi /etc/sysctl.conf net.ipv4.ip_forward=0 修改net.ipv4.ip_forward=1 sysctl -p
• 配置HTTPD应用 • 使用links测试应用
• 1 开启IP转发
vi /etc/sysctl.conf net.ipv4.ip_forward=0 修改net.ipv4.ip_forward=1 sysctl -p
• 配置网络
vi ifcfg-eth0
IPADDR=192.168.56.102 NETMASK=255.255.255.0 GATEWAY=192.168.56.1
• 开启IP转发
vi /etc/sysctl.conf net.ipv4.ip_forward=0 修改net.ipv4.ip_forward=1 sysctl -p
• 配置网络
vi ifcfg-eth0
IPADDR=192.168.56.103 NETMASK=255.255.255.0 GATEWAY=192.168.56.1 ONBOOT=yes
• 目前可用的三种方法是:
网络地址转换(LVS-NAT) 直接路由(LVS-DR)
IP隧道(LVS-TUN)
为虚拟机安装本地数据源 mkdir /mnt/cdrom mount –t iso9660 /dev/cdrom /mnt/cdrom cd /etc/yum.repo.d/ vi local.repo local.repo详情参考: yum clean yum update
• 网络拓扑图
源:CIP 目:VIP MAC: (LVS)-MAC
源:VIP 源:VIP 目:CIP 目:AIP MAC: MAC: (C)-MAC (A)-MAC
源:AIP 目:VIP MAC: (LVS)-MAC
真实服务器 A 交换机 真实服务器 B 真实服务器 C
LVS服务 器
交换机
D 客户端
• LVS服务器,需要支持IP_VS的linux服务器 • WEB服务器,大多数操作系统支持,需要在同 一个网卡在配置多个IP
客户端向地址为VIP的服务发送请求
LVS会接收到请求包,根据调度原则, 分配一个真实服务器 将请求包的MAC地址改为分配的真实 服务器的地址,发送出去 真实服务收到请求,由应用做出响应, 并将响应通过网络直接传回给客户端
• LVS服务器只能是支持IPVS的linux操作系统 • 真实服务器可以是任意操作系统
• 1 开启IP转发
vi /etc/sysctl.conf net.ipv4.ip_forward=0 修改net.ipv4.ip_forward=1 sysctl -p
相关主题