LVS NAT模式配置实践
2019-08-19 本文已影响0人
boldcautious
1. LVS单网卡配置
注:实际应用中LVS使用双网卡,这里仅做演示用。架构图如下:
单网卡LVS
1.1 机器信息
LVS
- LVS:eth0 10.10.1.100(VIP)
Real Server
- RS1:eth0 10.10.1.1
- RS2:eth0 10.10.1.2
VIP和RS1、RS2的IP在一个子网中。
1.2 LVS配置
安装ipvsadm
LVS依赖ipvsadm进行配置,所以要安装ipvsadm
yum install -y ipvsadm
启用IP转发功能(虚拟路由器)
让Linux系统具有路由转发功能,即当主机拥有多块网卡时,其中一块收到数据包,根据数据包的目的IP地址将数据包发往本机另一块网卡。
修改/etc/sysctl.conf ,将net.ipv4.ip_forward修改为1,再执行命令sysctl -p,使参数生效。
清除之前的iptables规则
iptables -t nat -F
LVS NAT模式配置
#添加一个虚拟服务 10.10.1.100:9000,使用加权轮询算法
ipvsadm -A -t 10.10.1.100:9000 -s wrr
#添加真实服务器,使用NAT模式,权重1
ipvsadm -a -t 10.10.1.100:9000 -r 10.10.1.1:8000 -m -w 1
ipvsadm -a -t 10.10.1.100:9000 -r 10.10.1.2:8000 -m -w 1
#查看转发规则
ipvsadm -Ln
1.3 Real Server配置
修改默认网关
route add default gw 10.10.1.100
默认网关指向LVS的VIP。
用 route del default gw IP 命令删除原来的默认网关。
关闭TCP checksum
ethtool -K eth0 tx off
注:验证时,虚拟机执行上述命令后tx和rx全部为off,目前不清楚是哪个关闭有效。
测试验证
RS上监听8000端口
nc -lk 8000
客户端访问
在客户端访问LVS的VIP
telnet 10.10.1.100 9000
连接成功后,就可以相互发送数据了。
1.4 LVS配置恢复
#删除真实服务器
ipvsadm -d -t 10.10.1.100:9000 -r 10.10.1.1:8000
ipvsadm -d -t 10.10.1.100:9000 -r 10.10.1.2:8000
#删除虚拟服务
ipvsadm -D -t 10.10.1.100:9000
1.5 Real Server配置恢复
恢复默认网关
使用route add命令将原默认网关加上,再删除指向LVS VIP的默认网关。
route del default gw 10.10.1.100
开启TCP checksum
ethtool -K eth0 tx on
2. LVS双网卡配置
架构图如下:
双网卡LVS
2.1 机器信息
LVS
- LVS:eth0 219.xx.xx.100(VIP),eth1 10.10.1.100(DIP)
Real Server
- RS1:eth0 10.10.1.1
- RS2:eth0 10.10.1.2
DIP和RS1、RS2的IP在一个子网中。
2.2 LVS配置
安装ipvsadm
yum install -y ipvsadm
启用IP转发功能(虚拟路由器)
修改/etc/sysctl.conf ,将net.ipv4.ip_forward修改为1,再执行命令sysctl -p,使参数生效。
清除之前的iptables规则
iptables -t nat -F
LVS NAT模式配置
#添加一个虚拟服务219.xx.xx.100:9000,使用加权轮询算法
ipvsadm -A -t 219.xx.xx.100:9000 -s wrr
#添加真实服务器,使用NAT模式,权重1
ipvsadm -a -t 219.xx.xx.100:9000 -r 10.10.1.1:8000 -m -w 1
ipvsadm -a -t 219.xx.xx.100:9000 -r 10.10.1.2:8000 -m -w 1
#查看转发规则
ipvsadm -Ln
2.3 Real Server配置
修改默认网关
route add default gw 10.10.1.100
默认网关指向LVS的DIP,不是LVS提供服务的VIP。
用 route del default gw IP 命令删除原来的默认网关。
关闭TCP checksum
ethtool -K eth0 tx off
注:验证时,虚拟机执行上述命令后tx和rx全部为off,目前不清楚是哪个关闭有效
测试验证
RS上监听8000端口
nc -lk 8000
客户端访问
在客户端访问LVS的VIP
telnet 219.xx.xx.100 9000
连接成功后,就可以相互发送数据了。
2.4 LVS及Real Server恢复
参考单网卡的操作。