nat模式的配置:(假设 dir:192.168.2.122(假设成公网IP) 192.168.109.136(内网) rs1:192.168.109.130 rs2:192.168.109.131)
(1)先在dir上安装lvs服务: yum install -y ipvsadm
(2)编写lvs配置的启动脚本:
#!/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/eth1/send_redirects
# director 设置nat防火墙
iptables -t nat -F
iptables -t nat -X
iptables -t nat -A POSTROUTING -s 192.168.109.0/24 -j MASQUERADE
# director设置ipvsadm
IPVSADM='/sbin/ipvsadm'
$IPVSADM -C
$IPVSADM -A -t 192.168.2.122:80 -s rr
$IPVSADM -a -t 192.168.2.122:80 -r 192.168.109.130:80 -m
$IPVSADM -a -t 192.168.2.122:80 -r 192.168.109.131:80 -m
(3)运行该脚本: sh /usr/local/sbin/lvs_nat.sh
(4)执行完脚本后可以查看该规则执行的情况: ipvsadm -ln
查看对应关系
(5)接下来在两台rs上配置部署:
首先设置网关: vim /etc/sysconfig/network-scripts/ifcfg-eth0
将里面的网关修改成我们dir的内网IP地址,即:192.168.109.136 (两台rs都得这样设置)
然后将两台rs服务器的80端口启动起来:比如/etc/init.d/nginx start
测试是否能正常解析: curl localhost
(6)注意一步很重要的步骤:就是三台服务器在测试之前都得先关闭防火墙再执行上述的步骤(本人就是因为防火墙没有关闭就去做实验导致实验过程中一直出问题)
做nat模式的lvs有几个要点。
1. dir机器上有两个网卡,一个“内网”一个“外网”,其中"内网"和两个rs的网卡ip为同一网段,可以相互通信。
2. dir上的内网和外网网卡要使用不同的模式(比如外网用仅主机,内网用nat)
3. rs的网关要写dir的内网ip