配置
node1:128(客戶端)
node2:135(調度器)
RS:
node3:130
node4:132
node2添加網絡適配器(僅主機模式)
[root@node2 ~]# nmtui
[root@node2 ~]# nmcli connection up ens36
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)#在虛擬機node3、node4上
[root@node3 ~]# yum install httpd -y
[root@node4 ~]# yum install httpd -y
將node3、node4適配器改為僅主機模式
#此時在虛擬機上
網關是node2的內網接口
node3
node4
#通過node2連node3
[root@node2 ~]# ssh 10.0.0.13
root@10.0.0.13's password:
Last login: Sun Aug 13 18:06:01 2023
[root@node3 ~]#
#連接node4
[root@node2 ~]# ssh 10.0.0.14
root@10.0.0.14's password:
Last login: Sun Aug 13 18:13:23 2023 from gateway
[root@node4 ~]# [root@node3 ~]# echo "web test page,ip is `hostname -I`." > /var/www/html/index.html
[root@node3 ~]# systemctl start httpd
[root@node4 ~]# echo "web test page,ip is `hostname -I`." > /var/www/html/index.html
[root@node4 ~]# systemctl start httpd#開啟路由轉發功能(任意一種即可)
#一、臨時開啟
#1、
[root@node2 ~]# cat /proc/sys/net/ipv4/ip_forward
0
[root@node2 ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
[root@node2 ~]# cat /proc/sys/net/ipv4/ip_forward
1
#2、
[root@node2 ~]# sysctl -w net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1
[root@node2 ~]# cat /proc/sys/net/ipv4/ip_forward
1
#二、永久開啟
[root@node2 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1 #添加
#立即生效
[root@node2 ~]# sysctl -p
net.ipv4.ip_forward = 1[root@node2 ~]# yum install ipvsadm -y
[root@node2 ~]# ipvsadm -At 192.168.40.135:80 -s rr
[root@node2 ~]# ipvsadm -at 192.168.40.135:80 -r 10.0.0.13:80 -m
[root@node2 ~]# ipvsadm -at 192.168.40.135:80 -r 10.0.0.14:80 -m[root@node2 ~]# 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.40.135:80 rr-> 10.0.0.13:80 Masq 1 0 0 -> 10.0.0.14:80 Masq 1 0 0 #node1 curl
[root@node1 ~]# for ((i=1;i<=8;i++));do curl 192.168.40.135;done
web test page,ip is 10.0.0.14 .
web test page,ip is 10.0.0.13 .
web test page,ip is 10.0.0.14 .
web test page,ip is 10.0.0.13 .
web test page,ip is 10.0.0.14 .
web test page,ip is 10.0.0.13 .
web test page,ip is 10.0.0.14 .
web test page,ip is 10.0.0.13 .
設置權重的配置
[root@node2 ~]# ipvsadm -Et 192.168.40.135:80 -s wrr
[root@node2 ~]# ipvsadm -et 192.168.40.135:80 -r 10.0.0.13:80 -m -w 1
[root@node2 ~]# ipvsadm -et 192.168.40.135:80 -r 10.0.0.14:80 -m -w 2
[root@node1 ~]# for ((i=1;i<=8;i++));do curl 192.168.40.135;done
web test page,ip is 10.0.0.14 .
web test page,ip is 10.0.0.14 .
web test page,ip is 10.0.0.13 .
web test page,ip is 10.0.0.14 .
web test page,ip is 10.0.0.14 .
web test page,ip is 10.0.0.13 .
web test page,ip is 10.0.0.14 .
web test page,ip is 10.0.0.14 .
需要node3、4可以上網
#node2上
[root@node2 ~]# iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o ens33 -j SNAT --to-source 192.168.40.135
保存恢復
[root@node2 ~]# ipvsadm -S
-A -t node2:http -s wrr
-a -t node2:http -r 10.0.0.13:http -m -w 1
-a -t node2:http -r 10.0.0.14:http -m -w 2
#保存到ipvs.txt
[root@node2 ~]# ipvsadm -S > ipvs.txt
[root@node2 ~]# ls
anaconda-ks.cfg ipvs.txt#刪除完成
[root@node2 ~]# ipvsadm -C
[root@node2 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port Forward Weight ActiveConn InActConn#恢復
[root@node2 ~]# ipvsadm -R < ipvs.txt
[root@node2 ~]# 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.40.135:80 wrr-> 10.0.0.13:80 Masq 1 0 0 -> 10.0.0.14:80 Masq 2 0 0