三台服务器一台作为director, 两台作为real server
Director 有一个外网ip (192.168.220.135) 和一个内网ip(192.168.221.135), 两个real server上只有内网ip(192.168.221.128)和(192.168.221.129) 并且需要把两个real server的内网网关设置为director的内网ip(192.168.221.135)
由于我的电脑只有一张网卡,于是在虚拟机里添加网络适配器自定义
director的外网配置如下:
DEVICE=eth0
HWADDR=00:0C:29:7D:FD:E3
TYPE=Ethernet
UUID=9269429d-11de-465d-baad-1c898dd2d8aa
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.220.135
NETMASK=255.255.255.0
GATEWAY=192.168.220.2
DNS1=192.168.220.2
DNS2=8.8.8.8
director的内网配置如下:
DEVICE=eth2
HWADDR=00:0C:29:7D:FD:ED
TYPE=Ethernet
UUID=9269429d-11de-465d-baad-1c898dd2d8aa
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.221.135
NETMASK=255.255.255.0
#GATEWAY=192.168.221.2
#DNS1=192.168.221.2
#DNS2=8.8.8.8
两个real server 上都安装httpd: yum install -y nginx
Director上安装ipvsadm yum install -y ipvsadm
Direcotr 上 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.221.0/24 -j MASQUERADE
# director设置ipvsadm
IPVSADM='/sbin/ipvsadm'
$IPVSADM -C
$IPVSADM -A -t 192.168.220.135:80 -s rr
$IPVSADM -a -t 192.168.220.135:80 -r 192.168.221.128:80 -m
$IPVSADM -a -t 192.168.220.135:80 -r 192.168.221.129:80 -m
直接运行这个脚本就可以完成lvs/nat的配置了:
/bin/bash /usr/local/sbin/lvs_nat.sh
通过浏览器测试两台机器上的web内容,为了区分开,我们可以把nginx的默认页修改一下:
rs1上: echo "rs1rs1" >/usr/share/nginx/html/index.html
rs2上: echo "rs2rs2" >/usr/share/nginx/html/index.html
以上操作即可完成负载均衡nat模式的搭建。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。