题目如下:用DR模式完成
CIP 172.16.17.77桥接
router 172.16.17.17 桥接/ 192.168.16.7 nat
LVS 192.168.16.8 NAT、10.0.0.100 VIP
RS1 192.168.16.17 NAT、10.0.0.100 VIP
RS2 192.168.16.27 NAT、 10.0.0.100 VIP


DR实验如下: (由于该实验中没有用到DNS,所以没有配置,实际中是有的)
思路
主机1:客户端CLIENT 172.16.17.77 网关 172.16.17.17
主机2:路由器router: eht1: 172.16.17.17 eht0 : 192.168.16.7 eth0:1 10.0.0.200/24 (设置和VIP同网段,从而给vip打通通讯功能,注意IP 必须该网段唯一)
主机3:lvs服务器 eth0 192.168.16.8 网关192.168.16.7 lo 10.0.0.100
主机4:R1服务器 eth0 192.168.16.17 网关192.168.16.7 lo 10.0.0.100
主机5:R2服务器 eth0 192.168.16.27 网关192.168.16.7 lo 10.0.0.100

主机1:客户端

网卡信息
[root@client ~]#vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
NAME=eth0
BOOTPROTO=static
IPADDR=172.16.17.77
PREFIX=24
GATEWAY=172.16.17.7
ONBOOT=yes

重启网卡生效
nmcli connection reload
nmcli connection up eth0

主机2:路由器
配置双卡模拟路由器

网卡1:eth0
[root@router ~]#cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
NAME=eth0
BOOTPROTO=static
IPADDR=192.168.16.7
PREFIX=24
ONBOOT=yes
TYPE=Ethernet

网卡2:eth1
[root@router ~]#cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
NAME=eth1
BOOTPROTO=static
IPADDR=172.16.17.7
PREFIX=24
ONBOOT=yes

开启路由的ip_forward功能
[root@router ~]# echo 'net.ipv4.ip_forward=1' > /etc/sysctl.conf
开启转发功能
[root@router ~]#sysctl -p
net.ipv4.ip_forward = 1

添加一个与vip同网段的一个IP(只能唯一)
nmcli connection modify eth0 +ipv4.address 10.0.0.100 /24 ifname eth0

主机4:R1服务器
安装httpd 重启服务,制作网页
[root@R1 ~]#yum -y install httpd; systemclt enale --new httpd; hostname > /var/www/html/index.html
修改网卡
[root@R1 ~]#vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
NAME=eth0
BOOTPROTO=static
IPADDR=192.168.16.17
PREFIX=24
GATEWAY=192.168.16.7
ONBOOT=yes

重启网卡生效
[root@R1 ~]#nmcli connection reload
[root@R1 ~]#nmcli connection up et

添加lo环回网卡
[root@R1 ~]#ip a a 10.0.0.100/32 dev lo label lo:1 或ifconfig lo:1 10.0.0.100/32

修改内核配置参数。作用,防止接收到外部咨询相同的lo:1的IP10.0.0.100和禁止向外宣告自己的Lo IP
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore 忽略接收lo的IP信息
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce 禁止往外部宣告自己的lo的IP信息
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore 开启忽略功能
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce 开启禁止宣告功能

主机5:配置同主机4
R2服务器 安装httpd 重启服务,制作网页
yum -y install httpd; systemclt enale --new httpd; hostname > /var/www/html/index.html

修改网卡
[root@R2 ~]#cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
NAME=eth0
BOOTPROTO=static
IPADDR=192.168.16.27
PREFIX=24
GATEWAY=192.168.16.7
ONBOOT=yes

重启网卡生效
nmcli connection reload
nmcli connection up et

添加lo环回网卡
[root@R2 ~]#
[root@R2 ~]#ip a a 10.0.0.100/32 dev lo label lo:1 或ifconfig lo:1 10.0.0.100/32
修改内核参数
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

主机3:lvs服务器 (注意lvs服务器不用修改内核参数)
安装ipvsadm服务
yum -y install ipvsadm (安装相关服务ipvsadm 否则修改网卡后,不能联网不能下载任何包)

修改网卡
[root@R2 ~]#cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
NAME=eth0
BOOTPROTO=static
IPADDR=192.168.16.27
PREFIX=24
GATEWAY=192.168.16.7
ONBOOT=yes

添加lo环回网卡
[root@lvs ~]#ip a a 10.0.0.100/32 dev lo label lo:1 或ifconfig lo:1 10.0.0.100/32
[root@lvs ~]#ipvsadm -A -t 10.0.0.100:80 开启调度算法,默认为WLC权重最少连接 注意:由于不支持端口映射,所以只能用80端口访问网页。不能指定
[root@lvs ~]#ipvsadm -a -t 10.0.0.100:80 -r 192.168.16.17 -g 开启工作模式为DR
[root@lvs ~]#ipvsadm -a -t 10.0.0.100:80 -r 192.168.16.27 -g -w 3 指定权重(权重默认为1 ,值越大,承担访问比例越多)
[root@lvs ~]#ipvsadm -Ln

IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.0.0.100:80 wlc
-> 10.0.0.120:80 Route 1 0 0
-> 10.0.0.123:80 Route 3 0 0

主机1客户端 验证
[root@client ~]#while true;do curl 192.168.10.100;sleep 1;done
[root@client ~]#while true;do curl 10.0.0.100;sleep 1;done
R2
R1
R2
R2
R2
R1
R2
R2