LVS NAT模式配置实践

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恢复

参考单网卡的操作。

你可能感兴趣的:(LVS NAT模式配置实践)