一、lvs原理:

经典流传的图解

请求流:
cip------>vip|(ipvs将源为cip---vip 更改为 cip---rip) -----rs01_realip
返回包:
rip----->dr(cip--cip, 更替为vip--cip ) -------cip

二、主机配置

dr配置 主机名

hostname lvs01

关闭防火墙

加载内核
modprobe ip_vs

安装ipvsadm的管理工具

yum install ipvsadm

开启路由转发

 vim /etc/sysctl.confnet.ipv4.ip_forward = 1sysctl -p

清除所有ipvs的记录

ipvsadm -C

nat配置

iptables -t nat -Fiptables -t nat -Xiptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE

主机信息:

lvs01 ip地址为:外网eth0: 172.17.181.216内网eth1:  10.0.0.179rs01 ip地址为:内网eth1: 10.0.0.180

三、lvs集群配置

1) realserver内网默认路由需要指向dr-server,并且realserver建议是单网卡:
安装httpd

yum install httpd -y && systemctl start httpd

添加rs的路由

2) 创建虚拟服务器,监听tcp端口80,使用轮训模式 rr
[root@lvs01 ~]# ipvsadm -A -t 172.17.181.216:80 -s rr
[root@lvs01 ~]# ipvsadm -Ln

3) 挂载后端rs-server (rs已开启http),正式环境脚本化

ipvsadm -a -t 172.17.181.216:80 -r 10.0.0.180:80 -m


ipvsadm语法:
"-A"表示添加虚拟服务器,
"-a"表示添加真实服务器
"-t"用来指定VIP地址及TCP端口
"-r"用来指定RIP地址及TCP端口
"-s"用来指定负载调度算法——rr(轮询)、wrr(加权轮询)、lc(最少连接)、wlc(加权最少连接)
"-m"表示使用NAT群集模式("-g"是DR模式,"-i"是TUN模式)

四、验证


已有访问产生

五、抓包分析

在dr上抓外网、内网的包,并在c端发起请求:

tcpdump -i eth0 -vnn port 80 -w /root/a.captcpdump -i eth1 -vnn port 80 -w /root/b.cap

依据原理,每次新的请求都伴随cip到rip的改写:

©著作权归作者所有:来自51CTO博客作者X糊涂仙儿的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. Mybaits的核心配置
  2. 微服务架构必备—mica,开源 pro 全部功能
  3. mica 微服务核心组件 1.0.0 正式版发布
  4. mica-captcha 验证码组件
  5. springboot|springboot配置拦截器
  6. springboot|springboot配置Filter过滤器
  7. gradle|gradle配置阿里云镜像和插件镜像
  8. PMM配置监控PG数据库
  9. 入域时候提示无法加载指定的脱机注册表配置单元处理

随机推荐

  1. 使用ViewSwitcher和ViewFlipper在不同布
  2. Android 布局之DrawLayout
  3. Android里关于EventBus的使用
  4. Android学好Shape不再依赖美工
  5. Android AsyncTask 使用
  6. Android中SparseArray和ArrayMap的使用
  7. android错误分析集锦
  8. Android实现书籍翻页效果--扩展版(转)
  9. Android android下的数据持久化和读取数
  10. Android(安卓)圆角图片的实现