案例:
环境
主机名 | ip | 网关 |
---|---|---|
client | 192.168.10.6/24 | 无 |
lvs | 192.168.10.100/24 | 192.168.10.100 |
10.0.1.42/24 | 10.0.1.42 | |
RS1 | 10.0.1.43:80 | 10.0.1.42 |
RS2 | 10.0.1.44:80 | 10.0.1.42 |
操作
client
[root@client ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=c35f993b-ce22-46d3-92cd-b2375aa626fe
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.10.6
PREFIX=24
IPV6_PRIVACY=no
GATEWAY=192.168.10.100
lvs
yum -y install ipvsadm
[root@lvs_server ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.10.100
PREFIX=24
IPV6_PRIVACY=no
[root@lvs_server ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens37
HWADDR=00:0C:29:02:E5:5C
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens37
ONBOOT=yes
AUTOCONNECT_PRIORITY=-999
IPADDR=10.0.1.42
PREFIX=24
GATEWAY=10.0.1.2
ipvsadm -A -t 192.168.10.100:80 -s wrr
ipvsadm -a -t 192.168.10.100:80 -r 10.0.1.43:80 -m -w 2 #-w 权重
ipvsadm -a -t 192.168.10.100:80 -r 10.0.1.44:80 -m -w 1
ipvsadm -S #-S大写意思是保存
cat >>/etc/sysctl.conf <<EOF
net.ipv4.ip_forward = 1 #开启转发功能
EOF
sysctl -p
RS1
yum -y install httpd
echo 'RS1' > /var/www/html/index.html
systemctl start httpd;
systemctl enable httpd;
[root@node3 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=10.0.1.43
PREFIX=24
GATEWAY=10.0.1.42
IPV6_PRIVACY=no
UUID=c96bc909-188e-ec64-3a96-6a90982b08ad
RS2
yum -y install httpd
echo 'RS2' > /var/www/html/index.html
systemctl start httpd;
systemctl enable httpd;
[root@node4 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=10.0.1.44
PREFIX=24
GATEWAY=10.0.1.42
IPV6_PRIVACY=no
验证
client
[root@client ~]# while true; do curl 192.168.10.100:80;sleep 0.3;done
RS1
RS2
RS1
RS1
RS1
lvs
[root@lvs_server ~]# 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.100:80 wrr
-> 10.0.1.43:80 Masq 3 0 4
-> 10.0.1.44:80 Masq 1 0 1