LVS NAT转发设置

仿真网络环境如下:

办公及开发人员工作的网段为172.40.135.0/24,需要通过仿问仿真环境的web服务。

现在172.20.101.72,172.20.101.73已安装好web服务,通过http://172.20.101.72,http://172.20.101.73是可以访问的。

现在开始配置LVS服务器:
先在172.20.101.71安装ipvsadm。安装完成后进行设置
1、首先给172.20.101.71添加一个VIP地址172.20.101.99供客户端访问。
      # cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:1

      修改fcfg-eth0:1

DEVICE=eth0:1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=172.20.101.99
PREFIX=24
GATEWAY=
DNS1=
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"

      然后重启network。#service network restart

2、添加一个服务,且设置调度算法为轮询(-s rr)

     #ipvsadm -A -t 172.20.101.99:80 -s rr

3、添加转发服务器(-m是NAT模式)
     # ipvsadm -a -t 172.20.101.99:80 -r 172.20.101.72:80 -m
     # ipvsadm -a -t 172.20.101.99:80 -r 172.20.101.73:80 -m

按照惯例这时已经OK。
然并卵,访问http://172.20.101.99没有任何响应。上网查了一下,了解到原来在同一网段中,真实服务器的应答包会直接发给客户端,而客户端因为并未向真实服务器发送过请求,因此会把这些应答包扔弃。于是就超时了。解决方法是在真实服务器RS1、RS2上各添加一条路由规则# route add -host 172.20.101.254 gw 172.20.101.71 。其实就是通过修改路由表,使得LB和RS1、RS2在一些转发规则上类似NAT。参考文章:http://speakingbaicai.blog.51cto.com/5667326/1068195

重启network后可以访问。然后思考了一下,还有种搞法,不用添加路由规则,直接在RS1,RS2网卡上修改网关,直接指向172.20.101.71 。一试也有效。

再升级一下,将真实服务器隐藏起来,于是进行IP重设和ipvsadm重新设置,最终拓补图如下:


这时要管理RS1,RS2两台真实服务器,只能先用ssh连接上172.20.101.71,然后再用命令# ssh dev@192.168.1.71 连接真实服务器进行管理。
因为RS1,RS2置于LVS服务器后,现在已经没有网络访问功能。如果WEB程序有加载外网文件或访问外网请求,那么请求是无法出去的。
需要进行SNAT转发设置# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 172.20.101.71


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值