赞
踩
lvs:
NAT: 特点:相当于client和server的网关
client: 192.168.10.10 gw 192.168.10.1
lvs(两张网卡):ip1 192.168.10.1 =client gw
ip2 192.168.2.1=web的网关 网关 只有两个ip
web1 192.168.2.60 gw 192.168.2.1
web2 192.168.2.70 gw 192.168.2.1
web1
[root@localhost ~]# yum -y install httpd
[root@localhost ~]# echo 1111 > /var/www/html/index.html
[root@localhost ~]# systemctl restart httpd
[root@localhost ~]# curl 192.168.2.60
1111
web2
[root@localhost ~]# yum -y install httpd
[root@localhost ~]# echo 2222 > /var/www/html/index.html
[root@localhost ~]# systemctl restart httpd
[root@localhost ~]# curl 192.168.2.70
2222
lvs
[root@localhost ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
[root@localhost ~]# sysctl -p
net.ipv4.ip_forward = 1
[root@localhost ~]# modprobe ip_vs #加载lvs的模块
[root@localhost ~]# yum -y install ipvsadm #lvs的管理工具
[root@localhost ~]# ipvsadm -A -t 192.168.10.1:80 -s rr
-A 添加一个新的集群
-t 192.168.10.1:80 使用tcp协议 后面加指定的ip ip使用的是和客户端同网段的ip
-s rr 调度算法 rr轮询7
[root@localhost ~]# ipvsadm -a -t 192.168.10.1:80 -r 192.168.2.60 -m -w 1
-a 添加真实的节点 -t 192.168.10.1:80 给集群中添加
-r 真实节点的ip 192.168.2.60 web主机的ip
-m 使用nat模式 -g 使用dr模式 -i ip隧道模式 -w 权重
[root@localhost ~]# ipvsadm -a -t 192.168.10.1:80 -r 192.168.2.70 -m -w 1
[root@localhost ~]# ipvsadm -S
[root@localhost ~]# 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.10.1:80 rr
-> 192.168.2.60:80 Masq 1 0 0
-> 192.168.2.70:80 Masq 1 0
client:
访问lvs
[root@localhost ~]# curl 192.168.10.1
2222
[root@localhost ~]# curl 192.168.10.1
1111
删除:
删除真实节点
[root@localhost ~]# ipvsadm -d -t 192.168.10.1:80 -r 192.168.2.60
删除集群
[root@localhost ~]# ipvsadm -D -t 192.168.10.1:80
DR模式 特点:需要让lvs后端真实节点处于同一个物理网络内
客户端
client 192.168.2.10
lvs 192.168.2.20 2.1--2.20 虚拟ip 192.168.2.100
web1 192.168.2.60 虚拟ip 192.168.2.100
web2 192.168.2.70 虚拟ip 192.168.2.100
lvs配置虚拟ip
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens37 ifcfg-ens37:0
[root@localhost network-scripts]# vim ifcfg-ens37:0
NAME=ens37:0
DEVICE=ens37:0
ONBOOT=yes
IPADDR=192.168.2.100
PREFIX=24
GATEWAY=192.168.2.1
[root@localhost network-scripts]# systemctl restart network
[root@localhost network-scripts]# ip a
192.168.2.20/24
192.168.2.100/24
web1和web2:
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# ls
ifcfg-ens33 ifdown-Team ifup-post
ifcfg-lo
[root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@localhost network-scripts]# vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.2.100
NETMASK=255.255.255.255
[root@localhost network-scripts]# ip a
lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet 192.168.2.100/32
web1
[root@localhost ~]# vim /etc/sysctl.conf
net.ipv4.conf.lo.arp_ignore = 1 #不接受任何用户的请求
net.ipv4.conf.all.arp_ignore =1
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2 #不响应任何用户
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_announce = 2
[root@localhost ~]# sysctl -p
远程拷贝
[root@localhost ~]# scp /etc/sysctl.conf root@192.168.2.70:/etc/sysctl.conf
yes 拷贝主机的密码
web2
[root@localhost network-scripts]# sysctl -p
两台主机:
添加路由 让web可以接受来自192.168.2.100的请求和使用192.168.2.100发送响应
[root@localhost ~]# route add -host 192.168.2.100 dev lo:0
lvs DR模式
先删除nat模式
[root@localhost ~]# ipvsadm -D -t 192.168.10.1:80
[root@localhost ~]# ipvsadm -A -t 192.168.2.100:80 -s rr
[root@localhost ~]# ipvsadm -a -t 192.168.2.100:80 -r 192.168.2.60:80 -g -w 1
[root@localhost ~]# ipvsadm -a -t 192.168.2.100:80 -r 192.168.2.70:80 -g -w 1
[root@localhost ~]# ipvsadm -S
[root@localhost ~]# ipvsadm -ln
client:
[root@localhost ~]# curl 192.168.2.100
2222
[root@localhost ~]# curl 192.168.2.100
1111
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。