将实际服务器接入外部网络(IP别名的作用)

2018年09月25日 08:51 | 51次浏览 作者原创 版权保护

我们在上一章节知道了 IP 别名是怎么回事了,那么,它有什么用呢?

刚才我们说到,调度器通过修改数据包的目标 MAC 地址,将它转发给实际服务器,注意,它并没有修改目标 IP 地址,那么一旦数据包到了实际服务器后,发现实际服务器的 IP 地址并不是数据包的目标 IP 时,你也许无法想象会发生什么事,我想这大概就跟梦游的人醒来时的感觉一样。

没错,我们要做的,就是给实际服务器添加和调度器 IP 地址相同的 IP 别名,这样才可以让转发到实际服务器的数据包找到归属感。

在此之前,我们先将前面的网络结构进行一番调整,如图 2-17 所示,其中各台服务器的 IP 地址和网关如表 2-8 所示。

可以看到,我们为两台实际服务器配置了外部网络 IP 地址,这些 IP 地址通常需要你从 IDC 那里购买。同时,我们为调度器也配置了 IP 别名,这将为调度器的故障转移提供便利,后面我们会介绍调度器的可用性。

这样一来,我们将通过 125.12.12.77 这个 IP 别名来访问调度器,你可以将站点的域名指向这个 IP 别名。

接下来,我们为实际服务器配置与调度器相同的 IP 别名,这里我们将 IP 别名添加到回环接口 lo 上,并且设置路由规则,让实际服务器不要去寻找其他拥有这个 IP 别名的服务器,命令行操作如下:

ifconfig lo:0 125.12.12.77 broadcast 125.12.12.77 netmask 255.255.255. 255 up

route add -host 125.12.12.77 dev lo:0

现在,我们通过 ifconfig 命令来查看网络接口,可以看到以下结果:

lo            Link   encap:Local Loopback
               inet addr:127.0.0.1Mask:255.0.0.0
               inet6 addr: ::1/128 Scope:Host
                              UP LOOPBACK RUNNINGMTU:16436Metric:1
                              RX packets:111299279 errors:0 dropped:0 overruns:0 frame:0
                              TX packets:111299279 errors:0 dropped:0 overruns:0 carrier:0
                              collisions:0 txqueuelen:0
                              
                              
                              
                              
 lo:0             RX bytes:3748942531 (3575.2 Mb)TX bytes:3748942531 (3575.2Mb)       
              Link encap:Local Loopback       
              inet addr:125.12.12.77Mask:255.255.255.255  
              UP LOOPBACK RUNNINGMTU:16436Metric:1

另外,还要防止实际服务器响应来自网络中针对 IP 别名的 ARP 广播,为此,执行以下操作即可:

echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore

echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce

echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore

echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce

好,准备工作一切就绪后,我们就可以使用 ipvsadm 命令来配置 LVS-DR 集群了。

未完待续!


此文章本站原创,地址 https://www.vxzsk.com/1896.html   转载请注明出处!谢谢!

感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程