centos7 LVS 配置

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



你可能感兴趣的:(centos7 LVS 配置)