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模式的更多相关文章

  1. Vmware虚拟机配置LVS/NAT模式遇到的坑。

    这两天在研究LVS的负载均衡,先从最简单的LVS/NAT模式开始入手. 最后配置完之后能够相互之间Ping通,并且能够直接访问real服务器提供的web服务,而且防火墙也已经关闭了. 但是通过访问LV ...

  2. 负载均衡集群相关、LVS介绍、LVS调度算法、LVS NAT模式搭建

    1.负载均衡集群相关 2.LVS的三种模式:NAT.DR .IP tunnel 3. LVS的调度算法(共有8种) 4.LVS NAT模式搭建准备条件:   在分发服务器上安装:yum install ...

  3. 负载均衡集群介绍、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 ...

  4. Linux centosVMware 负载均衡集群介绍、LVS介绍、LVS调度算法、LVS NAT模式搭建

    一.负载均衡集群介绍 主流开源软件LVS.keepalived.haproxy.nginx等 其中LVS属于4层(网络OSI 7层模型),nginx属于7层,haproxy既可以认为是4层,也可以当做 ...

  5. 负载均衡集群介绍 LVS介绍 LVS调度算法 LVS NAT模式搭建

    LVS BAT模式搭建 更改主机名: hostnamectl set-hostname centos7-three bash 准备工作 • 三台机器 • 分发器,也叫调度器(简写为dir) • 内网: ...

  6. [LVS] 用keepalived实现LVS NAT模式高可用性

    默认前提是LVS已经可以正常工作了. 因为是NAT模式,RS的路由要指向LVS的接口地址,所以需要一个统一的后台浮动地址,使得RS都指向这个浮动IP.否则在切换时,会导致RS回包到DOWN掉的LVS上 ...

  7. 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/ ...

  8. 负载均衡 Lvs nat 模式笔记

    nat技术(网络地址转换) 缺点就是进入和返回都通过调度器的服务器,未来可能会成为瓶颈 实验:nat 模式 先在调度器安装ipvsadm 后再添加网卡,后面就连不上网了(yum -y install ...

  9. CentOS 6.3下部署LVS(NAT模式)+keepalived实现高性能高可用负载均衡

    一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台:CentOS 6.3 Kernel:2.6.32-279.el6.i686 LVS版本:ipvsadm-1.26 keepalive ...

随机推荐

  1. BZOJ3207: 花神的嘲讽计划Ⅰ

    显然hash,然后stl随便搞. #include<bits/stdc++.h> #define N 100005 using namespace std; typedef unsigne ...

  2. 数组Arrays

    1.toString 方法 Arrays的toString方法可以方便的输出一个数组的字符串形式,方便查看,它有九个重载的方法,包括八种基本类型数组和一个对象类型数组,这里列举两个: public s ...

  3. css重点章节复习—布局-边框-边距-浮动 (部分)

    css重点章节复习—布局-边框-边距-浮动 在第二个任务中,这一块的后面那条线真的弄了很久.起初也是在html里面写的代码.之后觉得这样不好,想到第一个页面中用到的border-bottom和bord ...

  4. CentOS7+hadoop2.6.4+spark-1.6.1

    环境: CentOS7 hadoop2.6.4已安装两个节点:master.slave1 过程: 把下载的scala.spark压缩包拷贝到/usr/hadoop-2.6.4/thirdparty目录 ...

  5. JavaWeb学习笔记——JSTL核心标签库

  6. haproxy安装

    最近一直在整理之前用过的东西,现在到haproxy了,安装如下: tar xf haproxy-1.4.27.tar.gz cd haproxy-1.4.27 make TARGET=linux26 ...

  7. C#:String.Format数字格式化输出

    int a = 12345678; //格式为sring输出//   Label1.Text = string.Format("asdfadsf{0}adsfasdf",a);// ...

  8. 关于Hash集合以及Java中的内存泄漏

    <学习笔记>关于Hash集合以及Java中的内存泄漏 标签: 学习笔记内存泄露hash 2015-10-11 21:26 58人阅读 评论(0) 收藏 举报  分类: 学习笔记(5)  版 ...

  9. Jsp与servlet的区别

     Jsp与servlet的区别 2011-12-09 16:27:47 分类: Java 1.jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识 ...

  10. 抓取网站数据不再是难事了,Fizzler(So Easy)全能搞定

    首先从标题说起,为啥说抓取网站数据不再难(其实抓取网站数据有一定难度),SO EASY!!!使用Fizzler全搞定,我相信大多数人或公司应该都有抓取别人网站数据的经历,比如说我们博客园每次发表完文章 ...