zoukankan      html  css  js  c++  java
  • LVS/NAT 配置

    LVS/NAT 配置

    实验环境

    • 三台主机:Linux Centos 6.4 32位
    • 调度器Director:192.168.1.160(内网IP)、192.168.2.20(公网IP)
    • HTTP真实服务器Real server1:192.168.1.115(内网IP)、192.168.160(网关)
    • HTTP真实服务器Real server2:192.168.1.111(内网IP)、192.168.160(网关)
    • 关键点:Real server网关必须要与Director内网IP一致。
    • # 把三台服务器的iptables规则清空并保存 #
    • 命令:iptables -F; iptables -t nat -F; service iptables save

    实验拓补图

    实验操作

    1、Director端:安装LVS工具
    yum install -y ipvsadm.i686 0:1.26-2.el6
    2、Director端:写入脚本
    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/eth2/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
    # 前面是公网IP、后面是私网IP -w是权重 使用lc算法(最少链接)
    $IPVSADM -A -t 192.168.2.20:80 -s lc
    $IPVSADM -a -t 192.168.2.20:80 -r 192.168.1.115:80 -m -w 1
    $IPVSADM -a -t 192.168.2.20:80 -r 192.168.1.111:80 -m -w 1

    3、Director端:执行脚本

    sh /usr/local/sbin/lvs_nat.sh
    4、测试
    iptables -nvL -t nat
     
    Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
    pkts bytes target prot opt in out source destination
    0 0 MASQUERADE all -- * * 192.168.1.0/24 0.0.0.0/0
    查看防火墙规则
    ipvsadm -l
     
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
    -> RemoteAddress:Port Forward Weight ActiveConn InActConn
    TCP 192.168.2.20:http lc
    -> 192.168.1.111:http Masq 1 0 0
    -> 192.168.1.115:http Masq 1 0 0
    查看lvs链接状态
    [root@dir ~]# curl 192.168.2.20
    LVS 2
    [root@dir ~]# curl 192.168.2.20
    LVS 1
    [root@dir ~]# curl 192.168.2.20
    LVS 2
    [root@dir ~]# curl 192.168.2.20
    LVS 1
    
  • 相关阅读:
    [Python 多线程] 详解daemon属性值None,False,True的区别 (五)
    Python 多线程 线程安全、daemon简介 (四)
    Python 多线程 start()和run()方法的区别(三)
    jstack的使用方法
    java中的fork-join框架
    RabbitMQ:消息发送确认 与 消息接收确认(ACK)
    vue项目搭建
    Node.js安装及环境配置之Windows篇
    Storm里面fieldsGrouping和Field的概念详解
    Java8 如何正确使用 Optional
  • 原文地址:https://www.cnblogs.com/xiangsikai/p/8427311.html
Copyright © 2011-2022 走看看