LVS的NAT模型实战应用|学习笔记

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介: 快速学习LVS的NAT模型实战应用

发者学堂课程【LVS负载均衡实战LVS的NAT模型实战应用学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/553/detail/7634


LVS的NAT模型实战应用


一、实现图:

image.png

1.这有两台机器,一个6.9拖过去当做客户端,另外三台机器分别充当service、LVS服务器以及web服务器。

把LVS地址改为192.168.30.200

网卡自动获取改为手工指定:

DEVICE=eth1

BOOTROTO=none

IPADDR=172.20.0.200

PREFIX=16

2.然后重新启动服务systemctl restart network

3.返回Centos7.4看地址,生效了。这个服务器要启用ip_forward:echo net.ipv4.ip_forward=1>> /etc/sysctl.conf

生效:sysctl -p sysctl-a |grep ip_f

关闭防火墙:iptables -vnL

getenforce

4.接下来搭客户端

左边的机器当客户端桥接网卡,改地址:IPADDR=172.20.0.123

PREFIX=16

service network restart

service network restart

ip a

ping172.20.0.200(curl不行,没网站)

把后面两台主机(17,27)装两个服务

17:

\>

route -n

vieo

添加GETAWAY=192.168.30.200

systemctl restart network

yum install httpd -y

y

改主机名:hostnamectl set-hostname RS1

echo RS1 > /var/www/html/index.html

重新启动:systemctl start httpd

正常情况下两个网站的内容一模一样,为了看到效果必须把网页改成不一样

27:

vieo

添加GETAWAY=192.168.30.200

systemctl restart network

yum install httpd -y

y

改主机名:hostnamectl set-hostname RS2

echo RS2 > /var/www/html/index.html

重新启动:systemctl start httpd

ss -ntl

5.在LVS服务器中直接去访问后端的两个搭好的web服务器,能看到它们的页面

curl 192.168.30.17

curl 192.168.30.27

缺调度,直接从后端访问是不行的

6.定义ipvs规则

在上面装ipvs包

在192.168.30.200中写

yum install ipvsadm

ipvsadm -A -t 172.20.0.200:80 -s rr

ipvsadm -nL

ipvsadm -Ln

iptables - vnL

ipvsadm -Ln

ipvsadm -a -t 172.20.0.200:80 -r 192.168.30.17 -m要和前面对应

ipvsadm -a -t 172.20.0.200:80 -r 192.168.30.27 -m集群服务可以调动的目标组机

ipvsadm -Ln看成功没

7.测试,在172.20.0.123中写

curl 172.20.0.200

curl 172.20.0.200

curl 172.20.0.200允许

在后端192.168.30.17上它看到的日志是谁,也CIP发出的请求

tail -f /var/log/httpd/access_log

8.在172.20.0.123中

ping 172.20.0.200不起作用,发布的是TCP80,只有访问TCP80才转发

9.实现了NAT模式

如果中间加个路由器,相当于内部有两个网络

image.png

10.在centos6.9中加路由器

自定义一个网卡(VMnet6)centos7.4也一样

地址改为192.168.0.200

加网关GATEWAY=192.168.0.201

vieo

systemctl restart network

ip a

route

中间这个路由器应该有两个网卡

11.加路由,加默认网关

route -add default gw 192.168.0.200

vim /etc/sysctl conf把数字0变为1

sysctl -p生效数字

getenforce Enforcing

iptables -vnL

setenforce 0

vi /etc/sysconfig/selinux

把SELINUX=enforcing改为disabled

12.在centos7.4中调度算法

ip a

tcpdum -i eth0 -nn看内网

curl 172.20.0.200

curl 172.20.0.200

curl 172.20.0.200成功

13.改端口,在192.168.30.17

vi /etc/httpd/conf/httpd.conf

改成8080

systemctl restart httpd

14.改服务器调度的地址

ipvsadm -e -t 172.20.0.200:80 -r 192.168.30.17:8080 -m直接改不行,要先删除

ipvsadm -d -t 172.20.0.200:80 -r 192.168.30.17:80

ipvsadm -a -t 172.20.0.200:80 -r 192.168.30.17:8080 -m

15.加权重,改调度算法

ipvsadm -E -t 172.20.0.200:80 -s wrr

ipvsadm -d -t 172.20.0.200:80 -r 192.168.30.17:8080删除

ipvsadm -a -t 172.20.0.200:80 -r 192.168.30.17:8080 -m -w 3重加权重,没定义默认是一,来测试一下,当访问时是3:1

16.原地址哈希:

源地址哈希算法:只要客户端是同一个ip地址,永远访问的是同一个servers.只要是同一个ip客户端永远往一个固定的server来调度。现在往一个方向调度,就要换成sh算法,

ipvsadm -E -t 172.20.0.200.80 -s sh

ipvsadm -Ln

17.目标地址哈希:

将发往同一个目标地址的请求始终转发至第一次挑中的RS,典型使用场景是正向代理缓存场景中的负载均衡,如宽带运营商

只要访问的目标地址是固定的,永远往固定上去调度,要想实现功能,先模拟,创建十个页面,从test1到test10

cd /var/www/html

ls

for i in {1..10};do echo test$i on RS1 >test$i.html ;done

ls生成十个文件

cat test1.html

在另一台主机上同上,把RS1改为RS2

去访问这些主机,把命令sh改为dh

ipvsadm -E -t 172.20.0.200.80 -s dh

调度时:curl 172.20.0.200/test1.html是RS1,全是RS1

不同的目标地址调度到不同的主机上

先把权重比例删除,不要权重,比例为1:1再调度还是RS1,有可能是记住了

重启ipvsadm .service

systemctl restart ipvsadm .service

ipvsadm -Ln

再重启reboot,让它丢了再缓存,重启后所有的规则全丢了

重启完毕后,通了重加

ipvsadm -Ln

ipvsadm -A -t 172.20.0.200:80 - s dh

ipvsadm -a -t 172.20.0.200:80 - r 192.168.30.17:8080 -m

ipvsadm -a -t 172.20.0.200:80 - r 192.168.30.27:80 -m

ipvsadm -Ln

再调度

curl 172.20.0.200/test1.html一旦调度到1上永远是1

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
6月前
|
运维 负载均衡 应用服务中间件
LVS详解(五)——LVS NAT模式实战
LVS详解(五)——LVS NAT模式实战
132 3
|
负载均衡 应用服务中间件 Linux
企业实战(13)LVS负载均衡NAT(网络地址转换)模式实战详解(一)
企业实战(13)LVS负载均衡NAT(网络地址转换)模式实战详解(一)
167 0
|
3月前
|
负载均衡 算法 Linux
在Linux中,LVS-NAT模型的特性是什么?
在Linux中,LVS-NAT模型的特性是什么?
|
3月前
|
负载均衡 Linux 网络虚拟化
在Linux中,什么是NAT,常见分为那几种,DNAT与SNAT有什么不同,应用事例有那些?
在Linux中,什么是NAT,常见分为那几种,DNAT与SNAT有什么不同,应用事例有那些?
|
4月前
|
Linux 网络安全 虚拟化
Ngnix04系统环境准备-上面软件是免费版的,下面是收费版的,他更快的原因使用了epoll模型,查看当前Linux系统版本, uname -a,VMWARE建议使用NAT,PC端电脑必须使用网线连接
Ngnix04系统环境准备-上面软件是免费版的,下面是收费版的,他更快的原因使用了epoll模型,查看当前Linux系统版本, uname -a,VMWARE建议使用NAT,PC端电脑必须使用网线连接
|
6月前
|
负载均衡 网络协议
NAT模式 LVS负载均衡部署
NAT模式 LVS负载均衡部署
|
存储 负载均衡 应用服务中间件
LVS负载均衡群集——NAT模式实操
LVS负载均衡群集——NAT模式实操
752 0
|
安全 网络协议 网络安全
思科防火墙应用NAT
思科防火墙应用NAT
178 0
思科防火墙应用NAT
|
存储 负载均衡 并行计算
LVS负载均衡群集——NAT模式实例
LVS负载均衡群集——NAT模式实例
LVS负载均衡群集——NAT模式实例
|
6月前
|
安全 网络安全 网络架构
计算机网络地址转换(NAT)
网络地址转换(NAT)允许多个主机共享一个或一组公共IP地址,同时保护内部网络的隐私和安全。NAT通常由路由器或防火墙设备执行,它充当内部网络和外部网络之间的中间人,将内部主机的私有IP地址映射到一个或多个公共IP地址上。
95 0