LVS之三:NAT模型实现

实验一、DIP和RIP同网段

环境说明:
需要四台虚拟机操作:

  • client是客户端,ip为10.0.3.64

  • lvs服务器ip为10.0.3.65,192.168.137.128

  • web服务器两台,ip分别为192.168.137.129,192.168.137.130(/etc/sysconfig/network-scripts/ifcfg-ens33:GATEWAY=192.168.137.128)

关于虚拟机的网络:

  • 10.0.3网段是桥接网段

  • 192.168.137网段是仅主机网段

  • lvs虚拟机有两块网卡,一块桥接,一块仅主机

实验操作:

一、在web1和web2上安装httpd,创建测试文件

[root@lvs-web1 ~]# yum install httpd -y
[root@lvs-web1 ~]# echo lvs-web1 > /var/www/html/index.html
[root@lvs-web1 ~]# systemctl start httpd
web2同理,可以使用光盘安装或添加一块桥接网卡联网安装
把网关指向DIP,
[root@lvs-web1 ~]# route add default gw 192.168.137.128
[root@lvs-web1 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.137.128 0.0.0.0 UG 0 0 0 ens33
192.168.137.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33

二、lvs服务器安装ipvsadm

[root@lvs-lvs ~]# yum install ipvsadm -y
设置集群调度算法,(便于验证,此处使用轮询算法):
[root@lvs-lvs ~]# ipvsadm -A -t 10.0.3.65:80 -s rr
设置后端服务器:
[root@lvs-lvs ~]# ipvsadm -a -t 10.0.3.65:80 -r 192.168.137.129:80 -m
[root@lvs-lvs ~]# ipvsadm -a -t 10.0.3.65:80 -r 192.168.137.130:80 -m
查看ipvsadm规则(这些规则没有保存在配置文件,重启失效):
[root@lvs-lvs ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.0.3.65:80 rr
-> 192.168.137.129:80 Masq 1 0 0
-> 192.168.137.130:80 Masq 1 0 0
 

三、客户端访问VIP测试,没有问题 

[root@lvs-client ~]# curl 10.0.3.65
lvs-web2
[root@lvs-client ~]# curl 10.0.3.65
lvs-web1
[root@lvs-client ~]# curl 10.0.3.65
lvs-web2
[root@lvs-client ~]# curl 10.0.3.65
lvs-web1

 实验二、DIP和RIP跨网段

环境说明:
需要四台虚拟机操作:

  • client是客户端,ip为10.0.3.64

  • lvs服务器ip为10.0.3.65,192.168.1.135

  • Route路由器两块网卡,一块nat,一块仅主机,nat网卡ip为192.168.1.134,仅主机网卡ip为192,.168.137.131
  • web服务器两台,ip分别为192.168.137.129,192.168.137.130

关于虚拟机的网络:

  • 10.0.3网段是桥接网段

  • 192.168.1网段是nat网卡

  • lvs虚拟机有两块网卡,一块桥接,一块nat网络

实验操作:

一、将web1和web2的网关改为192.168.137.131

[root@lvs-web1 ~]# route del -net 0.0.0.0 gw 192.168.137.128
[root@lvs-web1 ~]# route add default gw 192.168.137.131
[root@lvs-web1 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.137.131 0.0.0.0 UG 0 0 0 ens33
192.168.0.0 0.0.0.0 255.255.0.0 U 100 0 0 ens33
web2同理,也改为192.168.137.131

二、router要开启ip_forward 

[root@router ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
[root@router ~]# cat /proc/sys/net/ipv4/ip_forward
1
router的默认网关应该指向DIP:192.168.1.135
[root@router ~]# route del -net 0.0.0.0
[root@router ~]# route add default gw 192.168.1.135
[root@router ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.135 0.0.0.0 UG 0 0 0 ens33
192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.137.0 0.0.0.0 255.255.255.0 U 101 0 0 ens36
 

如果想永久生效,则需要修改/etc/sysctl.conf文件。 

三、lvs机器的网关应该指向路由器的左边:192.168.1.134 

[root@lvs-lvs ~]# route add default gw 192.168.1.134
[root@lvs-lvs ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.134 0.0.0.0 UG 0 0 0 ens36
10.0.3.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.1.0 0.0.0.0 255.255.255.0 U 101 0 0 ens36

四、客户端访问VIP测试,没有问题: 

[root@lvs-client ~]# curl 10.0.3.65
lvs-web1
[root@lvs-client ~]# curl 10.0.3.65
lvs-web2
[root@lvs-client ~]# curl 10.0.3.65
lvs-web1
[root@lvs-client ~]# curl 10.0.3.65
lvs-web2
[root@lvs-client ~]# curl 10.0.3.65

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值