linux虚拟ip

列出所有已安装的软件包
命令:yum list installed
列出所有可安装的软件包
命令:yum list

虚拟IP,就是说对外提供的主机除了有一个真实IP外还有一个虚IP,
	使用这两个IP中的任意一个都可以连接到这台主机。
arp协议属于TCP/IP协议族里面一种将IP地址解析为MAC地址的协议。
arp协议的内容之一就是arp缓存,主机操作系统会将IP地址与MAC地址的映射关系存放在主机的一片高速缓存中。
主机与主机的通信过程都会涉及到一个ip地址转换mac地址的过程,那么虚拟IP的通信也不会例外。
	IP地址在主机通信的过程中其实就是一个逻辑地址。每一个主机都存放着网络内一些主机的逻辑地址与物理地址(MAC地址)的映射。

创建虚拟ip
ifconfig eth0:1 10.10.38.48 broadcast 10.10.39.255 netmask 255.255.254.0 up
eth0:1表示这个VIP绑定的目标网卡设备,10.10.38.48就是VIP的值,广播地址为10.10.39.255,子网掩码为:255.255.254.0,up表示立即启用这个VIP。
删除很简单只要将后边的up改为down就可以了ifconfg eth0:1 down
接着我们通过route命令,在路由表上添加对这个VIP的路由信息
route add -host 10.10.38.48 dev eth0:1
说明
[root@linux ~]# route [-nee]
[root@linux ~]# route add [-net|-host] [网域或主机] netmask [mask] [gw|dev]
[root@linux ~]# route del [-net|-host] [网域或主机] netmask [mask] [gw|dev]
观察的参数:
   -n  :不要使用通讯协定或主机名称,直接使用 IP 或 port number;
   -ee :使用更详细的资讯来显示
增加 (add) 与删除 (del) 路由的相关参数:
   -net    :表示后面接的路由为一个网域;
   -host   :表示后面接的为连接到单部主机的路由;
   netmask :与网域有关,可以设定 netmask 决定网域的大小;
   gw      :gateway 的简写,后续接的是 IP 的数值喔,与 dev 不同;
   dev     :如果只是要指定由那一块网路卡连线出去,则使用这个设定,后面接 eth0 等

ifconfig查看网络信息
ping ip成功则配置完成
永久生效
在网卡的配置目录中去建立一个新的网卡的配置文件
/etc/sysconfig/network-scripts
cp ifcfg-eth0 ifcfg-eth0:1
然后更改其中的ip即可,重启网卡就行service network restart

lvs

三种模式

nat模式
客户端的请求会发往LVS主机
此时,客户端请求报文的源IP为CIP,目标IP为LVS的VIP
当LVS收到客户端的请求报文时,会将请求报文中的目标IP修改为某个RealServer的RIP
报文自然会被LVS转发到对应的RealServer
RealServer在进行响应时,响应报文的源IP则为RIP,目标IP则为CIP,但是CIP肯定不在一个网络内,
所以我们要将所有RealServer的网关指向DIP,当RealServer产生响应报文时,会将响应报文发往网关DIP,
而DIP就是LVS的内网IP,当LVS收到对应的响应报文时,响应报文的源IP为RIP,目标IP为CIP,
此时,LVS会将响应报文的源IP修改为VIP,目标IP为CIP,于是响应报文被发往客户端

LVS-DR
为请求报文重新封装一个MAC首部进行转发,源MAC是DIP所在的接口的MAC,目标MAC是RS的MAC地址;
源IP/PORT,以及目标IP/PORT均保持不变
RS直接将请求发给客户端,要求RS能够连通外网

LVS-Tun
在原有的IP报文外再次封装多一层IP首部
当用户请求到达Director Server 此时报文的源IP为CIP,目标IP为VIP 。
检查发现数据包的目标IP是本机,IPVS比对数据包请求的服务是否为集群服务
若是,在请求报文的首部再次封装一层IP报文,封装源IP为为DIP,目标IP为RIP
将数据包发至RS(因为在外层封装多了一层IP首部,所以可以理解为此时通过隧道传输)
此时源IP为DIP,目标IP为RIP
RS接收到报文后发现是自己的IP地址,就将报文接收下来,拆除掉最外层的IP后,会发现里面还有一层IP首部,
而且目标是自己VIP,那么此时RS开始处理此请求,处理完成之后向外传递。 
此时的源IP地址为VIP,目标IP为CIP
响应报文最终送达至客户端

常用调度算法
RR(Round Robin):轮询调度
WRR:weight,加权轮询
SH:source hashing,源地址散列
LC(Least-Connection):最少连接
SED(Shortest Expected Delay):最短期望延迟
linux发行版默认都已经集成了ipvs,只需安装一个管理工具ipvsadm
查看是否安装ipvs
lsmod |grep -i ip_vs

yum install ipvsadm
查看LVS
ipvsadm -L -n

systemctl stop firewalld.service 
systemctl disable firewalld.service

”ipvsadm -A -t VIP:port -s rr
在lvs主机上
ifconfig eth0:1 10.10.38.48 broadcast 10.10.39.255 netmask 255.255.254.0 up
nat配置
创建一个LVS集群服务
ipvsadm -A -t VIP:port -s rr
这个服务为tcp协议的服务,集群服务的IP为VIP,端口号为port,使用rr算法(轮询算法)
-A选项表示添加一条虚拟服务器记录,即创建一个LVS集群。
-t选项表示创建LVS集群服务为tcp服务,”VIP:port”表示集群服务于的IP与端口号。
-s选项为Scheduling(调度)之意,用于指定具体的调度算法,可用算法有 rr 、wrr 、lc 、wlc等

为集群添加一个RealServer
ipvsadm -a -t VIP:port -r RIP1 -m
-a选项表示添加一个RealServer到集群中。
-t选项表示LVS集群服务为tcp服务,”VIP:port”表示集群服务于的IP与端口号。
-r选项用于指定将要添加的Realserver的IP地址。
-m选项表示LVS集群的工作模式为LVS-NAT模式

保存配置
ipvsadm -S > /testdir/lvsrules
载入配置
ipvsadm -R < /testdir/lvsrules





你可能感兴趣的:(计算机,linux,tcp/ip)