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. linux下memcache的运用,和php结合小案例。

    由于是采用脚本安装的memache,所以软件的依赖关系我就不操心了,脚本已经帮我装好了和php的关联关系,实在是很省心.后续如果有需要,我会针对windows和linux各写一个安装和配置的说明,一来 ...

  2. UVA1210Sum of Consecutive Prime Numbers(素数打表 + 连续和)

    题目链接 题意:输入一个数n (2 <= n <= 10000) 有多少种方案可以把n写成若干个连续素数之和 打出10000之内的素数表,然后再打出每个可能得到的和的方案数的表 #incl ...

  3. XML学习笔记

    XML学习笔记 第一部分:XML简介 我们经常可以听到XML.HTML.XHTML这些语言,后两者比较清楚,一直不是很明白XML是什么,这里做一个总结. XML(eXtensible Markup L ...

  4. Yocto开发笔记之《驱动调试-GPS数据采集》(QQ交流群:519230208)

    开了一个交流群,欢迎爱好者和开发者一起交流,转载请注明出处. QQ群:519230208,为避免广告骚扰,申请时请注明 “开发者” 字样 =============================== ...

  5. 爬虫4 html输出器 html_outputer.py

    #coding:utf8 __author__ = 'wang' class HtmlOutputer(object): def __init__(self): self.datas = []; de ...

  6. beautifulsoup测试

    import re from bs4 import BeautifulSoup html_doc = """ <html><head><ti ...

  7. Java数据结构——迭代器

  8. Java数据结构——优先级队列

    //================================================= // File Name : PriorityQueue_demo //------------ ...

  9. 浏览器本地存储(browser-storage,HTML5-localStorage > IE-UserData > Cookie)

    https://www.baidufe.com/component/browser-storage/index.html BrowserStorage是浏览器本地存储的一个解决方案,存储优先级依次为: ...

  10. VC----对话框Dialog

    一个非模态对话框,当作主窗体的创建:(符合窗口创建的步骤) 第一步:补充一个模板,在RC脚本文件文件中,这是和普通窗口不一样的地方.这利益于编译器和链接器的支持呀. #include "wi ...