同上个实验一样,还是准备三台机器
分发器(sishen_63):eth0 192.168.1.63
RealServer1sishen_64)
RealServer2sishen_65)
首先配置网卡eth0
[root@sishen_63 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
UUID=2720a3a8-031a-484e-8d10-6856a76a1922
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=00:0c:29:c2:28:31
DEFROUTE=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
IPADDR=192.168.1.63
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
USERCTL=no
生成eth0:1配置文件,直接cp eth0 –> eth0:1,见如下步骤
[root@sishen_63 ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:1
[root@sishen_63 ~]# vim !$
vim /etc/sysconfig/network-scripts/ifcfg-eth0:1
[root@sishen_63 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0:1
[root@sishen_63 ~]# service network restart
然后修改绿色标注部分,最后重启网络;
配置vim eth0:1
DEVICE=eth0:1
TYPE=Ethernet
UUID=2720a3a8-031a-484e-8d10-6856a76a1922
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
HWADDR=00:0c:29:c2:28:31
DEFROUTE=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0:1"
IPADDR=192.168.1.6
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
USERCTL=no
注意:黄色标注部分不需要更改!
[root@sishen_63 ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:C2:28:31
inet addr:192.168.1.63 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fec2:2831/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:201 errors:0 dropped:0 overruns:0 frame:0
TX packets:214 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:25196 (24.6 KiB) TX bytes:17442 (17.0 KiB)
eth0:1 Link encap:Ethernet HWaddr 00:0C:29:C2:28:31
inet addr:192.168.1.6 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
安装LVS工具
[root@sishen_63 ~]# rpm -ivh /mnt/cdrom/Packages/ipvsadm-1.26-2.el6.x86_64.rpm
配置LVS-DR规则
在分发器(sishen_63)上:
[root@sishen_63 ~]# ipvsadm -A -t 192.168.1.6:80 -s rr
[root@sishen_63 ~]# ipvsadm -a -t 192.168.1.6:80 -r 192.168.1.64 -g
[root@sishen_63 ~]# ipvsadm -a -t 192.168.1.6:80 -r 192.168.1.65 -g
[root@sishen_63 ~]# ipvsadm -L -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.1.6:80 rr
-> 192.168.1.64:80 Route 1 0 0
-> 192.168.1.65:80 Route 1 0 0
[root@sishen_63 ~]# /etc/init.d/ipvsadm save
ipvsadm: Saving IPVS table to /etc/sysconfig/ipvsadm: [ OK ]
在RealServer1(sishen_64)上
[root@sishen_64 ~]# cd /etc/sysconfig/network-scripts/
[root@sishen_64 network-scripts]# cp ifcfg-lo ifcfg-lo:1 #生成回环口配置文件
[root@sishen_64 network-scripts]# vim ifcfg-lo:1
DEVICE=lo:1
IPADDR=192.168.1.63
NETMASK=255.255.255.255
# If you're having problems with gated making 127.0.0.0/8 a martian,
# you can change this to something else (255.255.255.255, for example)
ONBOOT=yes
NAME=loopback
将复制后的ifcfg-lo:1修改为图中绿色标注的内容;
[root@sishen_64 network-scripts]# service network restart
[root@sishen_64 network-scripts]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:11:5A:8C
inet addr:192.168.1.74 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe11:5a8c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:93 errors:0 dropped:0 overruns:0 frame:0
TX packets:111 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:12005 (11.7 KiB) TX bytes:8338 (8.1 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:32 errors:0 dropped:0 overruns:0 frame:0
TX packets:32 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2212 (2.1 KiB) TX bytes:2212 (2.1 KiB)
lo:1 Link encap:Local Loopback
inet addr:192.168.1.63 Mask:255.255.255.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
关闭ARP转发
临时生效:
[root@sishen_64 ~]# echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
[root@sishen_64 ~]# echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
永久生效需要在/etc/sysctl.conf文件末尾添加如下内容:
[root@sishen_64 ~]# vim /etc/sysctl.conf
net.ipv4.conf.eth0.arp_ignore = 1
net.ipv4.conf.eth0.arp_announce = 2
注意:至于这两个参数的值意味着什么意思,我暂时还没搞得太清楚,不敢确定,所以这里没有写,希望各路大侠给予指点^_^!
[root@sishen_64 ~]# sysctl –p
查看并确保网关指向公网
[root@sishen_64 ~]# grep 'GATEWAY' /etc/sysconfig/network-scripts/ifcfg-eth0
GATEWAY=192.168.1.1
开启web服务并创建测试页面
[root@sishen_64 ~]# service httpd start
Starting httpd: [ OK ]
[root@sishen_64 ~]# echo "sishen_64" > /var/www/html/index.html
本地测试可以正常访问
[root@sishen_64 ~]# elinks 192.168.1.65 --dump
sishen_65
在RealServer2(sishen_65)上:
[root@sishen_65 network-scripts]# cp ifcfg-lo ifcfg-lo:1
[root@sishen_65 network-scripts]# vim ifcfg-lo:1
IPADDR=192.168.1.63
NETMASK=255.255.255.255
# If you're having problems with gated making 127.0.0.0/8 a martian,
# you can change this to something else (255.255.255.255, for example)
ONBOOT=yes
NAME=loopback
[root@sishen_65 network-scripts]# service network restart
[root@sishen_65 ~]# cd /etc/sysconfig/network-scripts/
[root@sishen_65 network-scripts]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:A9:43:61
inet addr:192.168.1.65 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fea9:4361/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:420 errors:0 dropped:0 overruns:0 frame:0
TX packets:416 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:55468 (54.1 KiB) TX bytes:37696 (36.8 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:16 errors:0 dropped:0 overruns:0 frame:0
TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:960 (960.0 b) TX bytes:960 (960.0 b)
lo:1 Link encap:Local Loopback
inet addr:192.168.1.63 Mask:255.255.255.255
UP LOOPBACK RUNNING MTU:16436 Metric:1
关闭ARP转发
在/etc/sysctl.conf 文件末尾添加以下两行内容
[root@sishen_65 ~]# vim /etc/sysctl.conf
net.ipv4.conf.eth0.arp_ignore = 1net.ipv4.conf.eth0.arp_announce = 2
[root@sishen_65 ~]# sysctl -p
开启web服务并创建测试页
[root@sishen_65 ~]# echo "sishen_65" > /var/www/html/index.html
[root@sishen_65 ~]# service httpd start
Starting httpd: [ OK ]
[root@sishen_65 ~]# yum install -y elinks
本地测试web服务
[root@sishen_65 ~]# elinks 192.168.1.65 --dump
sishen_65
确保机器之间相互可以ping通,然后宿主机也可以ping通三台机器,(注意:这里不可以在分发器(sishen_63)上测试),用宿主机浏览器测试
遇到的问题就是
无论怎么刷新,都刷不出sishen_64,相互之间都是通的,防火墙什么的都关闭了,服务也都启动了,但就是不通。在随后的博客中解决吧,也希望有知道原因的大神请赐教:1255560195@qq.com,谢谢^_^