1.原理图
- nat模式有以下几个步骤:
1.客户端发送请求,此时源ip为cip(客户端ip),目标Ip为vip(就是调度器的对外Ip)
2.到达调度器时,经过PREROUTING钩子,由于目标IP为vip,所以转向INPUT链
3.INPUT链上有IPVS规则,将本该发送到INPUT的请求修改目标IP,从VIP改为RIP,然后转到OUTPUT链
4.OUTPUT链将转发的请求发送到RS上,此时的源IP为CIP,目标IP为RIP
5.请求报文到达RS后,RS构建响应报文并发送给VS,此时的源IP为RIP,目标IP为VS
6.最后由VS将响应报文转发给客户端
所以针对这几个特点,我们实现nat时,需要注意将DIP和RIP设在同一IP网络,RIP的网关要指向DIP。
2.实验步骤
调度机:
yum install ipvsadm -y ##安装lvs管理软件
ip addr add 172.25.254.130/24 dev eth0 ##添加网络IP
ipvsadm -A -t 172.25.254.130:80 -s rr ##添加VIP算法为rr
ipvsadm -a -t 172.25.254.130:80 -r 172.25.30.3:80 -m
##添加真实服务机ip,此时其参数应该为m
ipvsadm -a -t 172.25.254.130:80 -r 172.25.30.2:80 -m
ipvsadm -l ##查看调度状态
sysctl -a |grep ip_forward ##由于需要将数据包转发,开启路由功能
sysctl -w net.ipv4.ip_forward=1
modprobe iptable_nat ##加载模块,以防止访问时长过长
真实服务机:
由于需要将数据包发还给调度器,所以设置网关。
vim /etc/sysconfig/network-scripts/ifcfg-eth0 ##设置网关
route -n ##查看网关是否配置成功
systemctl restart network ##重启网络服务
cd /var/www/html/
ls
vim index.html ##编写网络服务界面
systemctl start httpd ##打开apache