一、基础知识。
1、传输控制层中。netstat -natp 可以查看有哪些程序用了哪些端口号连接到哪些地址
2、网络层。rount -n查看路由表。
3、链路层。arp -a 查询ip对应的MAC地址。
二、LVS原理。
各种乱七八糟定义。以及负载均衡器的几种实现方式(包含LVS的)等等,balabala.理论知识,有空再补。
3、LVS搭建。
隐藏VIP方法:对外隐藏、对内可见
1、目标MAC地址全为F,交换机出触发广播
2、/proc/sys/net/ipv4/conf/*IF*/下的
arp_ignore:定义接收到ARP请求时的响应级别,0代表只要本地配置的有相应地址,就给与响应。1代表仅在请求的目标(MAC)地址配置请求到达的接口上的时候才响应。将0改为1.前者可以理解为请求的地址不是我但是是我本地配置含有的的地址,我就响应。后者理解为,只有请求的地址是我,我才响应给你。
arp_announce:定义自己地址向外通告时的通告级别。0代表将本地任何接口上的地址向外通告。1代表试图仅想目标网络通告与其网络匹配的地址。2代表仅向与本地接口上地址匹配的网络通告。0改为2.1代表通告了所有地址。2代表只通告对应地址,隐藏了部分地址。
注意:计算机中环回接口(lo接口)外部无法访问。
Lvs调度方法:balabala 后续补充。
配置LVS:
1、首先准备三台虚拟机。etho下ip都在同一个网段。
2、LVS服务器上执行:ifconfig eth0:9 192.168.231.100/24 /24代表netmask=255.255.255.0 etho的子接口配置IP
3、Lvs服务器上执行echo 1 > /proc/sys/net/ipv4/ip_forward。ip_forward默认为0,代表操作系统收到目标地址不是自己的包将丢弃,改为1后不会丢弃包,而是进行转发。(相当于路由器。)
4、调整RS的响应、通告级别(RS既LVS分发给的多个节点)
找到/proc/sys/net/ipv4/conf/etho下面执行:echo 1 > arp_ignore echo 2 > arp_announce原因上面已经描诉。
/proc/sys/net/ipv4/conf/all下面再执行:echo 1 > arp_ignore echo 2 > arp_announce;防止有新加网卡后还需要配置。
5、RS中配置VIP:ifconfig lo:1 192.168.231.100 netmask 255.255.255.255
6、/var/www/html 下创建index.html并将添加一些内容(不一样的以便测试)
7、service httpd start
8、在LVS服务器安装LVS工具:yum install ipvsadm -y
9、在LVS服务器执行:ipvsadm -A -t 192.168.231.100:80 -s rr 代表从100抓包 轮询给后面
执行:ipvsadm -a -t 192.168.231.100:80 -r 192.168.231.13:80 将100的包分发给13 (记得后方的都要执行 我两台分别是12、13。所以还要执行一编12的)。
10、完成。