LVS NAT模式
LVS-NAT
三台虚拟机都是centos 6.5
关闭防火墙和selinux
| 角色 | IP地址 | 备注 |
| LVS负载调度器 |
eth0:192.168.119.128(内网) eth1:192.168.94.130(外网) |
|
| web01_Real server | 192.168.119.130 | httpd |
| web01_Real server | 192.168.119.133 | httpd |
给LVS负载调度器添加一块网卡eth1
- 添加一块新的网卡、启动 eth1还不能直接使用、
[root@lvs01 /]# dmesg | grep -in eth
:e1000 ::01.0: eth0: (PCI:66MHz:-bit) :0c::de::
:e1000 ::01.0: eth0: Intel(R) PRO/ Network Connection
:e1000 ::05.0: eth1: (PCI:66MHz:-bit) :0c::de::2f
:e1000 ::05.0: eth1: Intel(R) PRO/ Network Connection
:e1000: eth0 NIC Link is Up Mbps Full Duplex, Flow Control: None
:eth0: no IPv6 routers present [root@lvs01 /]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1
[root@lvs01 /]# vim /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1
HWADDR=:0c::de::2f
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.1.100
NETWORK=255.255.255.0
GATEWAY=192.168.1.1
[root@lvs01 /]# /etc/init.d/network reload
Shutting down interface eth0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0:
Determining IP information for eth0... done.
[ OK ]
Bringing up interface eth1: Determining if ip address 192.168.1.100 is already in use for device eth1...
[ OK ]
1、下载软件包
[root@lvs01 /]# wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz
2、安装需要的依赖包
[root@lvs01 /]# yum -y install kernel-devel gcc gcc-c++ libnl* libpopt* popt-static
3、创建一个软链接,防止后面编译安装ipvsadm时找不到系统内核(2.6.32-642.4.2.el6.x86_64用tab键补全的、如果没有这个文件缺少kernel-devel包)
[root@lvs01 /]# ln -s /usr/src/kernels/2.6.-642.4..el6.x86_64/ /usr/src/linux
[root@lvs01 /]# ll /usr/src/
total
drwxr-xr-x. root root Sep debug
drwxr-xr-x. root root Sep : kernels
lrwxrwxrwx. root root Sep : linux -> /usr/src/kernels/2.6.-642.4..el6.x86_64/
4、解压、编译、安装
[root@lvs01 /]# tar zxf ipvsadm-1.26.tar.gz
[root@lvs01 /]# cd ipvsadm-1.26
[root@lvs01 ipvsadm-1.26]# make && make install
[root@lvs01 ipvsadm-1.26]# echo $? [root@lvs01 ipvsadm-1.26]# modprobe ip_vs //加载IP_VS模块
[root@lvs01 ipvsadm-1.26]# lsmod | grep ip_vs
ip_vs
libcrc32c ip_vs
ipv6 ip_vs,ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6
[root@lvs01 ipvsadm-1.26]# cat /proc/net/ip_vs //查看IP_VS版本信息
IP Virtual Server version 1.2. (size=)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
5、配置负载调度器
- 配置SNAT转发规则
[root@lvs01 /]# vi /etc/sysctl.conf
net.ipv4.ip_forward =
[root@lvs01 ipvsadm-1.26]# sysctl -p
net.ipv4.ip_forward =
net.ipv4.conf.default.rp_filter =
net.ipv4.conf.default.accept_source_route =
kernel.sysrq =
kernel.core_uses_pid =
net.ipv4.tcp_syncookies =
error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
error: "net.bridge.bridge-nf-call-iptables" is an unknown key
error: "net.bridge.bridge-nf-call-arptables" is an unknown key
kernel.msgmnb =
kernel.msgmax =
kernel.shmmax =
kernel.shmall =
[root@lvs01 /]# iptables -t nat -A POSTROUTING -s 192.168.119.0/ -o eth0 -j SNAT --to-source 192.168.94.130
- 配置负载分配策略
[root@lvs01 ipvsadm-1.26]# ipvsadm -C //清除原有策略
[root@lvs01 ipvsadm-1.26]# ipvsadm -A -t 192.168.119.94: -s rr
[root@lvs01 ipvsadm-1.26]# ipvsadm -a -t 192.168.119.94: -r 192.168.119.130: -m -w
[root@lvs01 ipvsadm-1.26]# ipvsadm -a -t 192.168.119.94: -r 192.168.119.133: -m -w
[root@lvs01 ipvsadm-1.26]# service ipvsadm save //保存策略
Saving IPVS table to /etc/sysconfig/ipvsadm: [ OK ]
[root@lvs01 ipvsadm-1.26]# chkconfig ipvsadm on
5、配置系欸但服务器
- 安装httpd、创建测试网页
web01配置
[root@web01 /]# yum -y install httpd
[root@web01 /]# find / -name httpd.conf
/etc/httpd/conf/httpd.conf
[root@web01 /]# vim /etc/httpd/conf/httpd.conf
Servername www.web01.com:
[root@web01 /]# echo "web01_192.168.119.130" > /var/www/html/index.html
[root@web01 /]# /etc/init.d/httpd start
Starting httpd: [ OK ]
[root@web01 /]# curl 192.168.119.130
web01_192.168.119. web02配置
[root@web02 /]# yum -y install httpd
[root@web02 /]# vim /etc/httpd/conf/httpd.conf
ServerName www.web02.com:
[root@web02 /]# echo "web02_192.168.119.133" > /var/www/html/index.html
[root@web02 /]# /etc/init.d/httpd start
Starting httpd: [ OK ]
[root@web02 /]# curl 192.168.119.133
web02_192.168.119.
6、测试LVS
[root@lvs01 ipvsadm-1.26]# ipvsadm -ln
IP Virtual Server version 1.2. (size=)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.119.128: rr
-> 192.168.119.130: Masq
-> 192.168.119.133: Masq
LVS NAT模式的更多相关文章
- Vmware虚拟机配置LVS/NAT模式遇到的坑。
这两天在研究LVS的负载均衡,先从最简单的LVS/NAT模式开始入手. 最后配置完之后能够相互之间Ping通,并且能够直接访问real服务器提供的web服务,而且防火墙也已经关闭了. 但是通过访问LV ...
- 负载均衡集群相关、LVS介绍、LVS调度算法、LVS NAT模式搭建
1.负载均衡集群相关 2.LVS的三种模式:NAT.DR .IP tunnel 3. LVS的调度算法(共有8种) 4.LVS NAT模式搭建准备条件: 在分发服务器上安装:yum install ...
- 负载均衡集群介绍、LVS介绍、LVS调度算法、LVS NAT模式搭建
7月4日任务 18.6 负载均衡集群介绍18.7 LVS介绍18.8 LVS调度算法18.9/18.10 LVS NAT模式搭建 扩展lvs 三种模式详解 http://www.it165.net/a ...
- Linux centosVMware 负载均衡集群介绍、LVS介绍、LVS调度算法、LVS NAT模式搭建
一.负载均衡集群介绍 主流开源软件LVS.keepalived.haproxy.nginx等 其中LVS属于4层(网络OSI 7层模型),nginx属于7层,haproxy既可以认为是4层,也可以当做 ...
- 负载均衡集群介绍 LVS介绍 LVS调度算法 LVS NAT模式搭建
LVS BAT模式搭建 更改主机名: hostnamectl set-hostname centos7-three bash 准备工作 • 三台机器 • 分发器,也叫调度器(简写为dir) • 内网: ...
- [LVS] 用keepalived实现LVS NAT模式高可用性
默认前提是LVS已经可以正常工作了. 因为是NAT模式,RS的路由要指向LVS的接口地址,所以需要一个统一的后台浮动地址,使得RS都指向这个浮动IP.否则在切换时,会导致RS回包到DOWN掉的LVS上 ...
- LVS NAT模式实践
client:192.168.4.10/24 proxy:192.168.2.5/24 192.168.4.5/24 web1:192.168.4.100/24 web2:192.168.4.200/ ...
- 负载均衡 Lvs nat 模式笔记
nat技术(网络地址转换) 缺点就是进入和返回都通过调度器的服务器,未来可能会成为瓶颈 实验:nat 模式 先在调度器安装ipvsadm 后再添加网卡,后面就连不上网了(yum -y install ...
- CentOS 6.3下部署LVS(NAT模式)+keepalived实现高性能高可用负载均衡
一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台:CentOS 6.3 Kernel:2.6.32-279.el6.i686 LVS版本:ipvsadm-1.26 keepalive ...
随机推荐
- PHP中静态与抽象的概念
静态//普通成员//普通成员是属于对象的 //静态成员//静态成员属于类的 类中的静态属性非常类似于函数的全局变量.类中的静态成员是不需要对象而使用类名来直接访问的. //关键字:static//se ...
- css008 给网页添加图片
css008 给网页添加图片 1. css和<img>标签 1.<img>标签是html的添加图片的标签,一般为: <img src=” ...
- 常用的工具类4-IP类
public static class IpHelper { /// <summary> /// 获取Ip /// </summary> /// <returns> ...
- 3秒后自动跳转页面【js】
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Java字节流与字符流基本操作
在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据时要使用输入流读取数据,而当程序需要将一些数据保存起来时,就要使用输出流. 在java.io包中流的操作主要有字节流.字符流两大类,两类都 ...
- 11 Clever Methods of Overfitting and how to avoid them
11 Clever Methods of Overfitting and how to avoid them Overfitting is the bane of Data Science in th ...
- Hiredis 基本使用
0. 前言 Hiredis是一个Redis的C客户端库函数,基本实现了Redis的协议的最小集.这里对hiredis的api作基本的介绍以及应用,主要参考hiredis的README文件以及相关源码. ...
- 【原】Gradle调用shell脚本和python脚本并传参
最近由于项目自动化构建的需要,研究了下gradle调用脚本并传参的用法,在此作个总结. Pre build.gradle中定义了$jenkinsJobName $jenkinsBuild两个Jenki ...
- Window 中安装python多版本环境
由于python 3 已是目前稳定,且是将来版本版本.新学者可以直接从python3入手学习.但是目前还有很多企业级应用使用的是python 2,可能还得要维护.所以,我们在本地windows中可以安 ...
- tamper参数
"tamper/apostrophemask.py","tamper/equaltolike.py","tamper/greatest.py" ...