lvs+NAT代理服务器

一:部署【lvs+NAT】(nat通过网络地址转换实现的虚拟服务器)

1. 关闭selinux(systemctl stop selinux 或者 直接修改/etc/selixu/config配置文件)

2. 规划lvs调度器vim和dip 真实web服务器rip地址

client(IP地址192.168.4.10)

proxy主机作LVS调度器(IP地址:192.168.4.5+192.168.2.5)

web1做web服务器(IP地址:192.168.2.100)

web2做web服务器(IP地址:192.168.2.200)

web1和web2启动web服务(可以是nginx或者httpd或者tomcat)

#把web1和web2的4网段的网卡临时关闭.

3. 在真实web服务器上部署web服务器(装包--配置--启服务--关闭selinux--防火墙)

[web1](每个web服务器操一样)

[[email protected] ~]# yum -y installhttpd

[[email protected] ~]# echo "2.100" > /var/www/html/index.html

[[email protected] ~]# systemctlrestarthttpd

[[email protected] ~]# firewall-cmd --set-default-zone=trusted

[[email protected] ~]# setenforce0

4. 重要的步骤:给web1和web2配置网关 (网关地址为DIP的IP地址)

[[email protected] ~]# nmcli connection modify ens33 \

ipv4.method manual ipv4.gateway 192.168.2.5

[[email protected] ~]# nmcli connection up ens33

[[email protected] ~]# ip route show#查看默认网关

#备注:网卡名称不能照抄,需要自己查看下2.100的网卡名称

5. LVS调度器配置

备注:LVS已经内置到Linux内核了,但是我们无法直接操控内核

所以需要安装一个软件ipvsadm,帮助我们间接去管理内核的LVS

人打命令写规则告诉ipvsadm,由ipvsadm再传递给内核的LVS

最终实际工作,承担调度任务的是LVS.

[[email protected] ~]# yum -y install ipvsadm#安装ipvsadm

1)创建虚拟服务器(lvs代理服务器)

[[email protected] ~]# ipvsadm -A -t 192.168.4.5:80 -s rr

#备注:-A(add)创建虚拟服务器,

#VIP[集群服务器的IP]是192.168.4.5,给用户访问的IP

#-t是TCP协议,-u是UDP协议

#-s(scheduler)调度算法:rr|wrr|lc|wlc|sh|dh|lblc|lblcr|sed|nq

2)添加真实服务器( ipvsadm -Ln #先查看集群配置)

[[email protected] ~]# ipvsadm -a -t 192.168.4.5:80 -r 192.168.2.100 -m -w 1

[[email protected] ~]# ipvsadm -a -t 192.168.4.5:80 -r 192.168.2.200 -m -w 2

#备注:往虚拟服务器中添加真正的后端web服务器(real server)

-a(add)添加真实服务器,

-t 192.168.4.5:80代表往192.168.4.5这个集群中添加real server

-r(real)真正后端服务器的IP是192.168.2.100和192.168.2.200

-m代表LVS工作模式为NAT模式(-g是DR模式,-i是Tun隧道模式)

-w(weight)设置服务器的权重

[[email protected] ~]# ipvsadm -Ln #查看集群配置

3)LVS代理服务器必须开启路由转发功能

[[email protected] ~]# cat /proc/sys/net/ipv4/ip_forward

#查看路由功能是否开启0,代表关闭,1代表开启

#echo 1 进去临时用打开(重启后失效)

[[email protected] ~]# vim /etc/sysctl.conf

手动加入如下内容,可以永久开启路由功能

net.ipv4.ip_forward = 1

保存退出后,使用sysctl -p刷新

[[email protected] ~]# sysctl -p

#备注:LVS工作在Linux内核,只要Linux启动了LVS就启动了!