实验环境:
Centos 7.3(1): ## 搭建LVS-DR模式实现轮询
IP:192.168.10.2/24
Centos 7.3(2): ## 搭建Nginx
IP:192.168.10.3/24
Centos 7.3(3): ## 搭建Nginx
IP:192.168.10.4/24
Windows 10 : 验证一下实验结果
实验步骤:
Centos 7.3(1)上的操作:
[root@localhost ~]# yum -y install ipvsadm
[root@localhost ~]# ipvsadm -A -t 192.168.10.200:80 -s rr
[root@localhost ~]# ipvsadm -a -t 192.168.10.200:80 -r 192.168.10.3:80 -g
[root@localhost ~]# ipvsadm -a -t 192.168.10.200:80 -r 192.168.10.4:80 -g
[root@localhost ~]# ipvsadm -S
-A -t 192.168.10.200:http -s rr
-a -t 192.168.10.200:http -r 192.168.10.3:http -g -w 1
-a -t 192.168.10.200:http -r 192.168.10.4:http -g -w 1
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens33:0
[root@localhost network-scripts]# vim ifcfg-ens33:0
## 将文件里的内容修改如下:
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33:0 ## 网卡的文件名
UUID=2a9b633a-4cb8-4efb-8cb3-5cac5a5b1b3e
DEVICE=ens33:0 ## 网卡的文件名
ONBOOT=yes
DNS1=114.114.114.114
IPADDR=192.168.10.200 ## 轮询的IP地址
PREFIX=24
GATEWAY=192.168.10.1
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
[root@localhost network-scripts]# systemctl restart network
[root@localhost network-scripts]# ip a ## 查看出来的ip有在ens33:0在配置文件中修改的ip就说明没有问题
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
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
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:03:32:3b brd ff:ff:ff:ff:ff:ff
inet 192.168.10.2/24 brd 192.168.10.255 scope global ens33
valid_lft forever preferred_lft forever
inet 192.168.10.200/24 brd 192.168.10.255 scope global secondary ens33:0
valid_lft forever preferred_lft forever
inet6 fe80::8405:63ea:5416:1f1/64 scope link
valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
link/ether 52:54:00:c9:91:d8 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
link/ether 52:54:00:c9:91:d8 brd ff:ff:ff:ff:ff:ff
Centos 7.3(2)上的操作: ## 搭建Nginx步骤省略:
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@localhost network-scripts]# vim ifcfg-lo:0 ## 将文件里面的内容修改如下:
DEVICE=lo:0
IPADDR=192.168.10.200
NETMASK=255.255.255.0
ONBOOT=yes
NAME=nginx1
[root@localhost network-scripts]# systemctl restart network
[root@localhost network-scripts]# scp /etc/sysconfig/network-scripts/ifcfg-lo:0 root@192.168.10.4:/etc/sysconfig/network-scripts/
[root@localhost network-scripts]# vim /etc/sysctl.conf ## 把ens33的arp请求关闭
[root@localhost network-scripts]# sysctl -p
net.ipv4.conf.lo.arp_ignore = 1 ## 设置当我们arp请求发送过来让本地网卡相应ens33、不让lo响应
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2 ## 本地网卡发送请求
net.ipv4.conf.default.arp_announce = 2
[root@localhost network-scripts]# scp /etc/sysctl.conf root@192.168.10.4:/etc/
[root@localhost ~]# systemctl restart network
[root@localhost network-scripts]# route add -host 192.168.10.200 dev lo:0
[root@localhost ~]# ip route
default via 192.168.10.1 dev ens33 proto static metric 100
192.168.10.0/24 dev ens33 proto kernel scope link src 192.168.10.3 metric 100
192.168.10.200 dev lo scope link src 192.168.10.200
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
[root@localhost ~]# vim /usr/local/nginx/html/index.html ##修改一下Nginx页面目录,修改成不一样的内容这样方便我们验证
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf ##修改一下Nginx的默认等待时间
keepalive_timeout 65; 31 keepalive_timeout 0;
[root@localhost ~]# killall -s HUP nginx ##重启Nginx服务
Centos 7.3(3)上的操作: ## 搭建Nginx步骤省略:
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.10.200
NETMASK=255.255.255.0
ONBOOT=yes
NAME=nginx2 ## 修改一下名字,让两台不一样
[root@localhost network-scripts]# systemctl restart network
[root@localhost network-scripts]# sysctl -p
[root@localhost network-scripts]# route add 192.168.10.200 dev lo:0
[root@localhost network-scripts]# ip route
default via 192.168.10.1 dev ens33 proto static metric 100
192.168.10.0/24 dev ens33 proto kernel scope link src 192.168.10.4 metric 100
192.168.10.200 dev lo scope link src 192.168.10.200
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
[root@localhost ~]# vim /usr/local/nginx/html/index.html ##修改一下Nginx页面目录,修改不一样的内容这样方便我们验证
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf ##修改一下Nginx的默认等待时间
keepalive_timeout 65; 31 keepalive_timeout 0;
[root@localhost ~]# killall -s HUP nginx ##重启Nginx服务