linux中级之lvs配置(命令)

痞子三分冷 提交于 2019-11-28 01:05:58

一、nat模式配置

       环境说明:

              DS:nat网卡(自动获取也可以,充当vip):   

                     192.168.254.13

                     255.255.255.0

                 vmnet3网卡(仅主机):      

                            172.16.100.1

                            255.255.255.0

              RS1:(仅主机vmnet3)

                     172.16.100.10

                     255.255.255.0

                     172.16.100.1

              RS2:(仅主机vmnet3)

                     172.16.100.20

                     255.255.255.0

                     172.16.100.1

       安装lvs:

              yum install ipvsadm

       调度器上开启路由转发模式:

              临时性:

                     echo 1 > /proc/sys/net/ipv4/ip_forward

              永久性:

                     vim /etc/sysctl.conf

                            net.ipv4.ip_forward = 1

                     sysctl -p

       ipvsadm配置:

              ipvsadm -A -t 192.168.254.13:80 -s rr

              ipvsadm -a -t 192.168.254.13:80 -r 172.16.105.10 -m

              ipvsadm -a -t 192.168.254.13:80 -r 172.16.100.20 -m

              ipvsadm命令:

              查看lvs集群连接状态           ipvsadm -Ln --stats

              查看lvs集群配置                   ipvsadm -Ln

              保存ipvs配置                  ipvsadm-save

              还原                                  ipvsadm-restore

ipvsadm -S > /etc/sysconfig/ipvsadm     #把配置文件保存在配置文件中

ipvsadm -R < /etc/sysconfig/ipvsadm     #从配置文件中恢复到当前配置

二、dr模式配置

       虚拟机网卡模式:

              DSNAT(自动获取)

              RS1NAT(自动获取)

              RS2NAT(自动获取)

       DR模式

              direct_server192.168.254.13

              real_server192.168.254.12

              real_server192.168.254.10

              vip:192.168.254.250    #vip为虚拟服务ip

              direct_serveryum install ipvsadm

       老板

       direct_server:

                     ipvsadm -C    #清除配置信息

                     #添加对外提供的服务ip

                     ipvsadm -A -t 192.168.254.250:80 -s rr    #-AADD   -ttcp   -s rr为设置算法为轮叫算法

                     #添加2real_server主机

                     ipvsadm -a -t 192.168.254.250:80 -r 192.168.254.12:80 -g #-aadd   -ttcp   -rrealserver   -gDR路由模式

                     ipvsadm -a -t 192.168.254.250:80 -r 192.168.254.10:80 -g #-aadd   -ttcp   -rrealserver   -gDR路由模式

                     #配置网卡的子网口为vipip地址为192.168.254.250

                     ifconfig ens33:0 192.168.254.250 broadcast 192.168.254.250 netmask 255.255.255.255 up

                     #添加路由(访问192.168.254.250都走ens33:0这个网卡)

                     route add -host 192.168.254.250 dev ens33:0

员工1 | 员工2

              real_server:

                     #在回环地址的子网口上配置服务ip(vip)

                     ifconfig lo:0 192.168.254.250 broadcast 192.168.254.250 netmask 255.255.255.255 up

                     #添加路由

                     route add -host 192.168.254.250 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

              关闭:

                     echo "0">/proc/sys/net/ipv4/conf/lo/arp_ignore

                     echo "0">/proc/sys/net/ipv4/conf/lo/arp_announce

                     echo "0">/proc/sys/net/ipv4/conf/all/arp_ignore

                     echo "0">/proc/sys/net/ipv4/conf/all/arp_announce

              arp_ignore:定义接收到ARP请求时的响应级别 

                            0:默认,只用本地配置的有响应地址都给予响应

                            1:仅仅在目标IP是本地地址,并且是配置在请求进来的接口上的时候才给予响应 (仅在请求的目标地址配置请求到达的接口上的时候,才给予响应)

              arp_announce:定义将自己的地址向外通告时的级别      

                            0:默认,表示使用配置在任何接口的任何地址向外通告      

                            1:尽量仅向目标网络通告与其网络匹配的地址      

                            2:仅向与本地接口上地址匹配的网络进行通告

三、tun隧道模式

lvs-server

    ifconfig tunl0 192.168.254.250 broadcast 192.168.254.250 netmask 255.255.255.0 up

    route add -host 192.168.254.250 dev tunl0

    ipvsadm -A -t 192.168.254.250:80 -s rr

    ipvsadm -a -t 192.168.254.250:80 -r 192.168.254.18 -i

    ipvsadm -a -t 192.168.254.250:80 -r 192.168.254.19 -i

    real_server

    ifconfig tunl0 192.168.254.250 netmask 255.255.255.255 broadcast 192.168.254.250 up

    route add -host 192.168.254.250 dev tunl0

    echo "1" >/proc/sys/net/ipv4/conf/tunl0/arp_ignore

    echo "2" >/proc/sys/net/ipv4/conf/tunl0/arp_announce

    echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore

    echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

    echo "0" >/proc/sys/net/ipv4/conf/tunl0/rp_filter

    echo "0" > /proc/sys/net/ipv4/conf/all/rp_filter

    0:不开启源地址校验。

    1:开启严格的反向路径校验。对每个进来的数据包,校验其反向路径是否是最佳路径。

        如果反向路径不是最佳路径,则直接丢弃该数据包。

    2:开启松散的反向路径校验。对每个进来的数据包,校验其源地址是否可达,即反向路径是否能通(通过任意网口),

        如果反向路径不同,则直接丢弃该数据包。

四、ipvsadm语法及选项

1、语法:

ipvsadm -A|E -t|u|f <集群服务地址> [-s <调度算法>] [-p <超时时间>] [-M <掩码>] [-b <标志>]

ipvsadm -D -t|u|f <集群服务地址>

ipvsadm -C

ipvsadm -R

ipvsadm -S [-n]

ipvsadm -a|e -t|u|f <集群服务地址> -r <真实服务器地址> [选项]

ipvsadm -d -t|u|f <集群服务地址> -r <真实服务器地址>

ipvsadm -L|l [options]

ipvsadm -Z [-t|u|f <集群服务地址>]

ipvsadm --set <超时时间>

ipvsadm --start-daemon <主或备> [--mcast-interface <组播接口>] [--syncid <SID>]

ipvsadm --stop-daemon <主或备>

ipvsadm -h

2、子命令:

--add-service     -A        添加一个集群服务,需要使用选项

--edit-service    -E        编辑一个集群服务,需要使用选项

--delete-service  -D        删除指定集群服务,需要使用选项

--clear           -C        删除所有集群服务,包括真实服务器转发策略规则

--restore         -R        从标准输入中恢复策略规则

--save            -S        保存策略规则到标准输出

--add-server      -a        添加一个真实服务器,需要使用选项

--edit-server     -e        编辑一个真实服务器,需要使用选项

--delete-server   -d        删除一个真实服务器,需要使用选项

--list            -L|-l     查看集群服务列表,包括真实服务器转发策略规则

--zero            -Z        计数器清零。清除连接数、包转发等数量统计信息

--set <超时时间>            设置TCPTCPFINTCP关闭连接状态)、UDP连接超时时间,用于会话保持。一般情况下TCPUDP超时时间保持默认就好,TCPFIN

可以根据情况设定,指定它则用户请求连接关闭,该连接则会变

为非活跃(InActive)空闲等待状态,在空闲等待时间内,如果

来自同一源IP的请求,则还会转发给后端的同一台真实服务器上

--start-daemon              开启连接同步守护进程。在选项后面指定自己是Master(主)还是backup(备),主负载调度器会同步所有策略及连接状态到备负载调度器,当主故障,备可以接替其工作

--stop-daemon               停止连接同步守护进程

--help            -h        显示帮助信息

3、集群服务相关

-A:添加一个集群服务

   -ttcp

   -uudp

   -ffirewall-mark,通常用于将两个或以上的服务绑定为一个服务进行处理是使用,integer类型

   service-address

      -tip:port

      -uip:port

      -ffirewall-mark

   -s:调度算法,默认为wlc

   -ptimoutpersistent connection,持久连接

-E:修改定义过的集群服务

-D-t|-u|-f service-address:删除指定得集群服务

4RS(Real Server)相关

-a:向指定得CS(Cluster Service)中添加RS(Real Server)

   -t|-u|-f service-address:指明将RS添加至哪个Cluster Service

   -r:指定RS(Real Server),可包含{IP[:port]},只有支持端口映射的LVS类型才允许此处使用跟集群服务中不同的端口

   LVS类型:

      -gGatewayDR(默认使用的类型)

      -iipipTUN

      -mmasquerade(地址伪装)NAT

   指定RS(Real Server)权重:

      -w 取值范围0-65535

-e:修改指定的RS属性

-d-t|-u|-f service-address -r server-address:从指定得集群服务中删除某RS

5、清空所有的集群服务:

-C

6、保存规则:(使用输出重定向)

ipvsadm-save

ipvsadm -S

7、载入指定的规则:(使用输入重定向)

ipvsadm-restore

ipvsadm -R

8、查看ipvsadm规则

ipvsadm -L [options]

-n:数字格式显示IP地址

-c:显示连接数相关信息

--stats:显示统计数据

--rate:速率

--exact:显示统计数据的精确值

9、计数器清零

-Z

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!