实验环境:centos7、关闭防火墙、关闭SElinux
yum -y install ipvsadm2、开启路由转发功能
[root@localhost ~]# echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf [root@localhost ~]# cat /etc/sysctl.conf # sysctl settings are defined through files in # /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/. # # Vendors settings live in /usr/lib/sysctl.d/. # To override a whole file, create a new file with the same in # /etc/sysctl.d/ and put new settings there. To override # only specific settings, add a file with a lexically later # name in /etc/sysctl.d/ and put new settings there. # # For more information, see sysctl.conf(5) and sysctl.d(5). net.ipv4.ip_forward = 13、加载ip_vs模块
[root@localhost ~]# modprobe ip_vs [root@localhost ~]# cat /proc/net/ip_vs IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn4、添加服务器节点
[root@localhost ~]# ipvsadm -C #清除内核虚拟服务器表中的所有记录 [root@localhost ~]# ipvsadm -Ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn [root@localhost ~]# ipvsadm -A -t 10.5.6.61:80 -s rr #添加虚拟服务器 [root@localhost ~]# ipvsadm -a -t 10.5.6.61:80 -r 10.5.6.62:80 -m #添加服务器节点 [root@localhost ~]# ipvsadm -a -t 10.5.6.61:80 -r 10.5.6.63:80 -m #添加服务器节点 [root@localhost ~]# ipvsadm -Ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 10.5.6.61:80 rr -> 10.5.6.62:80 Masq 1 0 3 -> 10.5.6.63:80 Masq 1 0 3
选项注释
“-A”:表示添加虚拟服务器
“-a”:表示添加真实服务器
“-t”:用来指定VIP地址及TCP端口
“-r”:用来指定RIP地址及TCP端口
“-s”:用来指定负载调度算法——rr(轮询)、wrr(加权轮询)、lc(最少连接)、wlc(加权最少连接)
“-m”:表示使用NAT群集模式(是DR模式,是TUN模式)
以下配置两台真实服务器都要做
网关指向虚拟服务器vim /etc/sysconfig/network-scripts/ifcfg-ens192 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=ens192 UUID=818b65d8-d309-48f7-a609-9b9920404a12 DEVICE=ens192 ONBOOT=yes IPADDR=10.5.6.62 PREFIX=24 GATEWAY=10.5.6.61 #网关指向虚拟服务器 DNS1=114.114.114.114 IPV6_PRIVACY=no安装apache
[root@localhost ~]# yum -y install httpd ... [root@localhost ~]# vim /var/www/html/index.html 添加: server016、验证效果
[root@localhost ~]# curl 10.5.6.61 server 01 [root@localhost ~]# curl 10.5.6.61 server 02 [root@localhost ~]# curl 10.5.6.61 server 01 [root@localhost ~]# curl 10.5.6.61 server 02 [root@localhost ~]# curl 10.5.6.61 server 01 [root@localhost ~]# curl 10.5.6.61 server 02 [root@localhost ~]# curl 10.5.6.61 server 01 [root@localhost ~]# curl 10.5.6.61 server 02 [root@localhost ~]# curl 10.5.6.61
这不就是单臂路由吗?哈哈



