lvs master 172.16.4.236
real server: 172.16.4.236 172.16.4.237
1 real server
systemctl stop firewalld
systemctl disable firewalld
// 子网掩码为255.255.0.0 时,产生回环问题,所有172.16.*.*的数据包都被此服务器处理,why?
// lo:0为虚拟网卡,与原回环网卡 lo 可同时存在
ifconfig lo:0 172.16.4.238 netmask 255.255.255.255 broadcast 172.16.4.238
// 执行过,貌似没用
route add default gw 172.16.4.238
// 貌似有用,两条route哪个起作用未验证
route add -host 172.16.4.238 dev lo:0
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 sudo sysctl -p
设置完成后,可以使用 curl ping telnet 正常访问自己和其它机器
curl http://172.16.4.236/test.html
2 LVS server
使用命令 ipvsadm查看是否已安装
安装ipvsadm,需要以下依赖包
libevent-devel-2.0.21-4.el7.x86_64
libnl-1.1.4-3.el7.x86_64
libnl-devel-1.1.4-3.el7.x86_64
popt-1.13-16.el7.x86_64
popt-devel-1.13-16.el7.x86_64
popt-static-1.13-16.el7.x86_64
执行
service ipvsadm start
ifconfig eth0:0 172.16.4.238 netmask 255.255.255.255 broadcast 172.16.255.255 echo "1" >/proc/sys/net/ipv4/ip_forward ipvsadm -C ipvsadm -A -t 172.16.4.238:80 -s rr ipvsadm -a -t 172.16.4.238:80 -r 172.16.4.236 -g -w 1 ipvsadm -a -t 172.16.4.238:80 -r 172.16.4.237 -g -w 1
route add -host 172.16.4.238 dev lo:0
由于博主为了省机器,在236上做测试 curl http://172.16.4.238:80/test.html
不能正常访问到237的http服务,
换成第三台机器,就可以正常访问了,原因待查,耗费了bushan