lvsnat(一)

2023年 7月 16日 81.6k 0

lvs-nat:类似于DNAT, 但支持多目标转发;
它通过修改请求报文的目标地址为根据调度算法所挑选出的某RS的RIP来进行转发;

架构特性:
(1) RS应该使用私有地址,即RIP应该为私有地址;各RS的网关必须指向DIP;
(2) 请求和响应报文都经由Director转发;高负载场景中,Director易于成为系统瓶颈;
(3) 支持端口映射;
(4) RS可以使用任意类型的OS; 
(5) RS的RIP必须与Director的DIP在同一网络;

2015-05-25_232015lvs-nat 配置rs1 rip:192.168.131.2
1,安装httpd
2,创建测试页面
vim /var/www/html/index.html
node2.linuxea.com
3,添加路由条目
route add default gw 192.168.131.1
配置rs1 rip:192.168.131.3
1,安装httpd
2,创建测试页面
vim /var/www/html/index.htm
node3.linuxea.com
3,添加路由条目
route add default gw 192.168.131.1
配置调度器Director
vip:172.16.249.117
dip:192.168.131.1
1,查看是否支持ipvsadm
[root@node1 ~]# grep -i "ipvs" -A 5 /boot/config-2.6.32-504.el6.x86_64
# IPVS transport protocol load balancing support
#
CONFIG_IP_VS_PROTO_TCP=y 已经编辑到内核
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_AH_ESP=y
CONFIG_IP_VS_PROTO_ESP=y
--
# IPVS scheduler
#
CONFIG_IP_VS_RR=m
CONFIG_IP_VS_WRR=m
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
--
# IPVS application helper
#
CONFIG_IP_VS_FTP=m
CONFIG_IP_VS_PE_SIP=m
#
[root@node1 ~]#
2,安装ipvsadm
[root@node1 ~]# yum -y install ipvsadm
3,查看是否存在规则
[root@node1 ~]# ipvsadm -L -N
-N: unknown option
[root@node1 ~]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
4,定义ipvsadm集群,
如果用户请求172.16.249.117:80端口,都使用-s rr调度
[root@node1 ~]# ipvsadm -A -t 172.16.249.117:80 -s rr
如果是172.16.249.117:80,使用-r调度至192.168.131.2,指明类型为nat,权重为1
[root@node1 ~]# ipvsadm -a -t 172.16.249.117:80 -r 192.168.131.2 -m -w 1
如果是172.16.249.117:80,使用-r调度至192.168.131.3,指明类型为nat,权重为3
[root@node1 ~]# ipvsadm -a -t 172.16.249.117:80 -r 192.168.131.3 -m -w 3
[root@node1 ~]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 172.16.249.117:80 rr
-> 172.16.249.157:80 Masq 1 0 0
-> 172.16.249.186:80 Masq 3 0 0
5,开启核心转发
[root@node1 ~]# cat /proc/sys/net/ipv4/ip_forward
0
[root@node1 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
测试
[root@localhost ~]# ipvsadm -E -t 172.16.249.117:80 -s wrr
[root@localhost ~]# ipvsadm -Ln --stats
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Conns InPkts OutPkts InBytes OutBytes
-> RemoteAddress:Port
TCP 172.16.249.117:80 199 987 969 111348 91785
-> 192.168.131.2:80 78 387 381 43326 38539
-> 192.168.131.3:80 121 600 588 68022 53246
[root@localhost ~]# ipvsadm -Ln --stats
 
 
 
 
 
 
 
 

相关文章

LeaferJS 1.0 重磅发布:强悍的前端 Canvas 渲染引擎
10分钟搞定支持通配符的永久有效免费HTTPS证书
300 多个 Microsoft Excel 快捷方式
一步步配置基于kubeadmin的kubevip高可用
istio全链路传递cookie和header灰度
REST Web 服务版本控制

发布评论