IP | Hostname | 备注 |
---|---|---|
192.168.88.80 | rs1 | 真实服务器rs1 |
192.168.88.81 | rs2 | 真实服务器rs2 |
内网:192.168.88.83 外网:192.168.100.128 | dir | 调度器dir |
环境说明:firewalld关闭,selinux关闭。
其中调度器上有两块网卡,作为内网的这块网卡使用的是NAT的网络,而作为模拟“公网”的网卡使用的是仅主机网络。首先,真实服务器rs1( 192.168.88.80 )和rs2 ( 192.168.88.81)上需要把内网的网关设置为dir的内网IP ( 192.168.100.128 ),否则实验无法成功。
[root@rs1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736
GATEWAY=192.168.100.128 //修改网关
[root@rs1 ~]# service network restart
Restarting network (via systemctl): [ OK ]
rs2和rs1同样操作。
三台服务器 的iptables规则清空并保存
[root@rs1 ~]# iptables -F
[root@rs1 ~]# iptables -t nat -F
[root@rs1 ~]# iptables-save
rs2、dir和rs1同样操作。
在dir上安装ipvsadm并编写脚本
[root@dir ~]# yum -y install ipvsadm
[root@dir ~]# vim /usr/local/sbin/lvs_nat.sh
#! /bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
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/eno16777736/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/eno33554984/send_redirects
iptables -t nat -F
iptables -t nat -X
iptables -t nat -A POSTROUTING -s 192.168.88.0/24 -j MASQUERADE
IPVSADM='/usr/sbin/ipvsadm'
$IPVSADM -C
$IPVSADM -A -t 192.168.100.128:80 -s wlc
$IPVSADM -a -t 192.168.100.128:80 -r 192.168.88.80:80 -m -w 1
$IPVSADM -a -t 192.168.100.128:80 -r 192.168.88.81:80 -m -w 1
[root@dir ~]# sh /usr/local/sbin/lvs_nat.sh //运行脚本
访问公网IP测试:
再次访问