的— layout: post title: “LVS负载均衡TUN模式” date: 2020-04-07 12:04:59 categories: LVS tags: LVS excerpt: mathjax: true —
LVS常用的三种模式:NAT、DR、TUN
NAT模式: RealServer将自己的网关指向Director 可以运行任何支持TCP/IP的操作系统。但是扩展性有限,容易产生瓶颈。
LVS的DR模式的原理
LVS的TUN模式的原理
ipvsadm命令选项
-A 添加一个虚拟服务,使用ip地址、端口号、协议来唯一定义一个虚拟服务
-E 编辑一个虚拟服务
-D 删除一个虚拟服务
-C 清空虚拟服务列表
-R 从标准输入中还原虚拟服务列表
-S 保存虚拟服务规则至标准输出,输出规则可使用-R选项还原
-L 显示虚拟服务列表
-Z 虚拟服务器列表计数器清零(清空当前连接数)
-a 添加一台真实服务器
-e 编辑一台真实服务器
-d 减少一台真实服务器
-t 使用TCP服务,该参数后需加主机与端口信息
-u 使用UDP服务,该参数后需加主机与端口信息
-s 指定lvs的调度算法
-r 设置真实服务器IP与端口
-g 设置lvs工作模式为DR直连路由
-i 设置lvs工作模式为TUN隧道
-m 设置lvs工作模式为NAT地址转换模式
-w 指定真实服务器权重
-c 连接状态,配和-L使用
-n 数字格式显示
--stats 显示统计信息
--rate 显示速率信息
--sort 对虚拟服务器和真实服务器排序输出
--set tcp tcpfin udp
设置ipvs连接超时值,三个参数分别代表tcp会话超时时间、收到FIN包后tcp会话超时时间、udp超时时间
--timeout
显示tcp tcpfin udp的timeout值
--start-daemon
启动同步守护进程
--stop-daemon
停止同步守护进程
TUN环境部署: 三个节点服务器,主服务器Director Server配置脚本: yum install -y net-tools yum install -y ipvsadm
TUN环境部署: 三个节点服务器, 主服务器Director Server配置脚本:
vi tun_ds.sh
#! /bin/bash
modprobe ipip
ip addr add 10.0.2.70/24 dev tunl0
ipvsadm -A -t 10.0.2.70:80 -s rr
ipvsadm -a -t 10.0.2.70:80 -r 10.0.2.62:80 -i
ipvsadm -a -t 10.0.2.70:80 -r 10.0.2.63:80 -i
ipvsadm -ln
bash tun_ds.sh
真实服务器Real Server
配置脚本: vi tun_rs.sh
#! /bin/bash
modprobe ipip
ip addr add 10.0.2.70/32 dev tunl0
ip link set up tunl0
sysctl -w net.ipv4.conf.default.rp_filter=0
sysctl -w net.ipv4.conf.lo.rp_filter=0
sysctl -w net.ipv4.conf.tunl0.rp_filter=0
sysctl -w net.ipv4.conf.enp0s8.rp_filter=0
sysctl -w net.ipv4.conf.all.rp_filter=0
sysctl -w net.ipv4.conf.enp0s9.rp_filter=0
sysctl -w net.ipv4.conf.enp0s3.rp_filter=0
sysctl -p
bash tun_rs.sh
nginx站点目录中生成压缩包100m,做下载测试 dd if=/dev/zero of=100mb.zip bs=1024k count=100
TUN点对点IP通道
modprobe ipip
iptunnel add idc3 mode ipip remote 10.0.2.10 local 172.10.0.99 # 注意这两个IP是服务器的公网IP,我这里随便输的
ifconfig idc3 192.168.2.89 netmask 255.255.255.0 #这里是内网IP
![]() |
![]() |