linux系统构架 - LB集群之LVS的NAT
1.环境说明
三台服务器,一台叫dir,两台叫rs1和rs2 (director 和 real server)
dir外网ip:192.168.192.129 内网ip:192.168.1.114
rs1内网ip:192.168.1.116
rs2内网ip:192.168.1.115
2.安装和配置
dir
yum install -y ipvsadm
rs1 rs2
wget www.lishiming.net/data/attachment/forum/epel-release--8_64.noarch.rpm rpm -ivh epel-release--8_64.noarch.rpm
yum install -y nginx
dir
vim /usr/local/sbin/lvs_nat.sh
#! /bin/bash
# director 服务器上开启路由转发功能:
echo 1 > /proc/sys/net/ipv4/ip_forward
# 关闭 icmp 的重定向
echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eth1/send_redirects
# director 设置 nat 防火墙
iptables -t nat -F
iptables -t nat -X
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
# director 设置 ipvsadm
IPVSADM='/sbin/ipvsadm'
$IPVSADM -C
$IPVSADM -A -t 192.168.192.129:80 -s rr
$IPVSADM -a -t 192.168.192.129:80 -r 192.168.1.116:80 -m
$IPVSADM -a -t 192.168.192.129:80 -r 192.168.1.115:80 -m
$IPVSADM -A -t 192.168.192.129:80 -s rr //-A-t 增加director -s算法
$IPVSADM -a -t 192.168.192.129:80 -r 192.168.1.116:80 -m //-a-t增加real_server -r real_server -m MASQUERADE 用nat必须用-m -w 1 权重
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE // 规则 -t针对nat表 -A POSTROUTING链 -s从192.168.1这个网段来的包 -j MASQUERADE伪装
sh /usr/local/sbin/lvs_nat.sh
ipvsadm -ln
rs1,rs2
vi /etc/sysconfig/network-scripts/ifcfg-eth0
GATEWAY=192.168.11.164
ifdown eth0; ifup eth0
启动rs1的nginx
/etc/init.d/nginx start
rs2默认启动
访问外网ip,第一次请求到了rs2,刷新变成rs1
(一次1 一次2)
curl 192.168.192.129
$IPVSADM -A -t 192.168.192.129:80 -s wrr
$IPVSADM -a -t 192.168.192.129:80 -r 192.168.1.116:80 -m -w 2
$IPVSADM -a -t 192.168.192.129:80 -r 192.168.1.115:80 -m -w 1
两次1 一次2
linux系统构架 - LB集群之LVS的NAT的更多相关文章
- linux系统构架 - LB集群之LVS介绍
LB 集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有 nginx.lvs.keepalived ,商业的硬件负载设备 F5.Netscale. LB ...
- linux系统构架 - LB集群之LVS的DR设置
在lvs的nat模式的基础上 1.清空ipvsadm规则 ipvsadm -C 查看 ipvsadm -ln 2.清空iptables规则 iptables -t nat -F 3.修改rs的网卡配置 ...
- Linux系统构架 - HA集群配置
一.安装 HA 即(high available)高可用,又被叫做双机热备,用于关键性业务. 简单理解就是,有两台机器 A 和 B,正常是 A 提供服务,B 待命闲置,当 A 宕机或服务宕掉,会切换至 ...
- 关于Linux系统下zookeeper集群的搭建
1.集群概述 1.1什么是集群 1.1.1集群概念 集群是一种计算机系统, 它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作.在某种意义上,他们可以被看作是一台计算机.集群系 ...
- linux系统搭建zookeeper集群
转载至:https://blog.csdn.net/weixin_38111957/article/details/82927878 一.引言 今天咱们就来搭建一下zookeeper集群,当然搭建集群 ...
- Linux系统搭建Hadoop集群
一.环境说明 IP地址 主机名 备注 操作系统 192.168.92.11 hserver1 namenode Ubuntu 16.04 192.168.92.12 hserver2 datanode ...
- linux 集群及lvs
集群及LVS 集群: 一组通过高速网络互联的计算机组,并以单一系统的模式加以管理 价格很多服务器集中起来,提供同一种服务,在客户端看起来就像只有一个服务器 可以在付出较低成本的情况下获得在性能,可靠性 ...
- Linux集群服务 LVS
linux虚拟服务器(LVS)项目在linux操作系统上提供了最常见的负载均衡软件. 集群定义: 集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能.可靠性 ...
- 基于VMware的虚拟Linux集群搭建-lvs+keepalived
基于VMware的虚拟Linux集群搭建-lvs+keepalived 本文通过keepalived实现lvsserver的的双机热备和真实server之间的负载均衡.这方面的blog挺多,可是每一个 ...
随机推荐
- Ubuntu中apt-get安装或更新软件错误的解决办法
$su #apt-get clean #cd /var/lib/apt #mv lists lists.back #mkdir -p lists/partial #apt-get clean #apt ...
- 每天一个linux命令(文件操作):【转载】find 命令的参数详解
find一些常用参数的一些常用实例和一些具体用法及注意事项. 1.使用name选项: 文件名选项是find命令最常用的选项,要么单独使用该选项,要么和其他选项一起使用.可以使用某种文件名模式来匹配文件 ...
- ASP.NET Core 中的SEO优化(3):自定义路由匹配和生成
前言 前两篇文章主要总结了CMS系统两个技术点在ASP.NET Core中的应用: <ASP.NET Core 中的SEO优化(1):中间件实现服务端静态化缓存> <ASP.NET ...
- mix deps HEX_HTTP_CONCURRENCY=1 HEX_HTTP_TIMEOUT=120 timeout
mix deps.get timeout 问题: If this happens consistently, adjust your concurrency and timeout setting ...
- bzoj1426(洛谷4550)收集邮票
题目:https://www.luogu.org/problemnew/show/P4550 全靠看TJ.怎么办?可是感觉好难呀. 首先设出 f[i] 为“买了 i 种,还要买到n种的期望次数”,s[ ...
- JLink RTT Client代替printf(IAR测试OK)
1.打开J-Link安装目录,确保SEGGER目录中有J-Link RTT Client,没有的话必须安装4.9以上版本: 2.打开SEGGER目录下软件SEGGER目录,硬件版本Hardware是8 ...
- javascript基础-js继承
1.prototype方式 示例:没有使用prototype(下列这些代码只能获取array1数组的总和,而无法对array2数据进行求和) var array1 = new Array(1,4,9, ...
- 简单的PL/SQl链接远程ORACLE数据库方法
简单的PL/SQl链接远程ORACLE数据库方法 PLSQL Developer新手使用教程 pasting
- 准确计算Java中对象的大小
由于在项目中需要大致计算一下对象的内存占用率(Hadoop中的Reduce端内存占用居高不下却又无法解释),因此深入学习了一下如何准确计算对象的大小. 使用system.gc()和java.lang. ...
- 一个简单的Java Web项目搭建流程
今天试图在服务器上搭建一个web服务器,顺便回顾了java web项目的入门,使用Servlet处理HTTP请求,并记录日志等操作.当很久没有做过web项目时,有些东西还是很容易忘记的. Maven配 ...