linux ftp负载均衡,lvs实现ftp负载均衡集群

使用lvs的NAT模式,布署LVS+VSFTPD实现FTP的负载均衡,要求主动模式和被动模式均可正常访问.

ftp被动模式配置:

DS配置

echo 1 > /proc/sys/net/ipv4/ip_forward  #开启路由转发

[[email protected] ~]# iptables -t mangle -A PREROUTING  -p tcp --dport 20:21 -j MARK --set-mark 99

[[email protected] ~]# iptables -t mangle -A PREROUTING  -p tcp --dport 50000:50010 -j MARK --set-mark 99          #防火墙magle表打标记

[[email protected] ~]# ipvsadm -A -f 99 -s rr -p 400

[[email protected] ~]# ipvsadm -a -f 99 -r 192.168.2.49 -m -w 2

[[email protected] ~]# ipvsadm -a -f 99 -r 192.168.2.59 -m -w 2

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port           Forward Weight ActiveConn InActConn

FWM  99 rr persistent 400

-> 192.168.2.49:0Masq2      0          0

-> 192.168.2.59:0               Masq   2      0          0

masq 说明是采用lvs的nat模式

-m --masquerading指定LVS的工作模式为NAT模式

#-w指定指定权重,wrr算法下有效

RS配置:

route add default gw 192.168.2.79 dev ens33

每个调度器都要作为RS的网关

DS配置

[[email protected] ~]# tail -3 /etc/vsftpd/vsftpd.conf

pasv_min_port=50000  #指定ftp传输时候的端口范围

pasv_max_port=50010

pasv_address=192.168.1.79#指定vip

ftp主动模式配置

DS配置

iptables -t nat -A POSTROUTING -s 192.168.1.79-j SNAT --to 192.168.1.100

主动模式下,为了确保数据包可以从rs返回客户端需要做snat

实验结果

[[email protected] ~]# lftp 192.168.2.59:

lftp 192.168.2.59:~> ls

drwxr-xrwx    7 0        0              55 Sep 29 03:06pub

lftp 192.168.2.59:/>

[[email protected] ~]# lftp 192.168.2.59

lftp 192.168.2.59:~> set ftp:passive-mode off

lftp 192.168.2.59:~> ls

drwxr-xrwx    7 0        0              55 Sep 29 03:06pub

lftp 192.168.2.59:/>

调试:修改vip的掩码

[[email protected] ~]# ifconfig ens33:0 192.168.1.79/25之后可以正常访问

[[email protected] ~]# ifconfig ens33:0 192.168.1.79/26可以正常访问

[[email protected] ~]# ifconfig ens33:0 192.168.1.79/28连接中断

[[email protected] ~]# ifconfig ens33:0 192.168.1.79/27连接中断

[[email protected] ~]# ifconfig ens33:0 192.168.1.79/29连接中断

小结:vip的掩码设置,掩码会影响网络位,当不在同一网段的时候就会连接不到。

2.  删除snat之后主动模式出错了

[[email protected] ~]# iptables -t nat -D POSTROUTING  1

小结:主动模式连接ftp下,检查pub下面的内容会发现连接不到了。

keepalived

keepalived主要有三个模块,分别是core、check和vrrp。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查,包括常见的各种检查方式。vrrp模块是来实现VRRP协议的。

rs上面需要添加每个调度器的ip作为网关

rs配置

route add default gw 192.168.2.89 dev ens33

lvs采用nat模式,本实验keepalived的配置文件

[[email protected] ~]# vim /etc/keepalived/keepalived.conf

smtp_server 192.168.200.1

smtp_connect_timeout 30

router_id 1

}

vrrp_instance VI_1 {

state MASTER

interface ens33#vip dip所在的接口

virtual_router_id 51

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.1.79/24#vip,最好带上掩码

}

}

# vip,客户端访问的是vip。

virtual_server 192.168.1.79 80{

delay_loop 6

lb_algo rr

lb_kindNAT

nat_mask 255.255.255.0

#persistence_timeout 50#这里注释不起作用,访问时候依然会持久连接

protocol TCP

real_server 192.168.2.49 80 {#ip后面接空格,避免语法检测错误

weight 1

TCP_CHECK {

connect_timeout 3

}

}

real_server 192.168.2.59 80 {

weight 1

TCP_CHECK {

connect_timeout 3

}

}

}

调试:

[[email protected] ~]# systemctl stop keepalived

客户端依然可以访问到;

小结:[[email protected] ~]# curl 192.168.2.59

curl: (7) Failed connect to 192.168.2.59:80;拒绝连接

出现这个错误 可能原因:是服务坏掉了

端口不对

防火墙等

客户端多次总是请求同一个web服务的原因有:持久连接

其他的服务坏掉

原文:http://zhouyaxiong.blog.51cto.com/11476760/1971021

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值