实验环境
准备3台虚拟机,使eth0在同一个网段上,使DIP和RIP在统一网段
lvs VIP=192.168.56.120,DIP=192.168.56.121
RS 192.168.56.122、192.168.56.123
安装过程
安装服务
两个RS上都安装 httpd 服务
$ yum install -y httpd
DS上安装 ipvsadm
$ yum install -y ipvsadm
配置DS
添加VIP:
ifconfig enp0s8:0 192.168.56.120/24
开启路由转发功能:
$ echo 1 > /proc/sys/net/ipv4/ip_forward
配置RS
调整RS的通过响应级别:
echo 1 > /proc/sys/net/ipv4/conf/enp0s8/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/enp0s8/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
配置RS的VIP:
ifconfig lo:8 192.168.56.120 netmask 255.255.255.255
route add -host 192.168.56.120 lo:8
启动RS上的httpd
yum -y install httpd
service httpd start
在httpd服务的默认路径 /var/www/html/ 下新建一个入口访问页index.html。
ip addr show enp0s8 |grep '192.168.56.' |awk '{print $2}' >/var/www/html/index.html
测试两台RS能否访问index.html,但是VIP不能访问。
启动DS的ipvsadm并配置
ipvsadm:管理集群服务
- 添加 -A -t|u|f service-address [-s scheduler]
- -t TCP协议的集群
- -u UDP协议的集群
- service-address: IP:PORT
- -f 防火墙标记
- service-address:Mark Number
- 修改 -E
- 删除 -D -t|u|f service-address
管理集群服务中的RS:
- 添加:-a -t|u|f service-address -r server-address [-g|i|m] [-w weight]
- -r server-address 某RS的地址,在NAT模型中,可使用IP:PORT实现端口映射
- [-g|i|m] LVS类型
- -g:代表gateway,意思为直接路由
- -i:隧道模型
- -m:(masq)伪装,NAT模式
- 修改: -e
- 删除:-d -t|u|f service-address -r server-address
- 查看
- -L|l
- -n 数字显示主机地址和端口
- –stats:统计数据
- –rate:速率
- –timeout:显示tcp、tcpfin和udp的会话超时时长
- -c:显示当前的ipvs连接状况
- 删除所有集群服务
- -C 删除ipvs规则
- 保存规则
- -S ipvsadm -S >/path/to/file
- 载入此前的规则:
- -R ipvsadm -R >/path/to/file
ipvsadm -A -t 192.168.56.120:80 -s rr
ipvsadm -a -t 192.168.56.120:80 -r 192.168.56.122 -g
ipvsadm -a -t 192.168.56.120:80 -r 192.168.56.123 -g
ipvsadm -ln
#浏览器访问vip
ipvsadm -lnc
netstat -natp