简单架构如图,我做了以下配置: LVS 服务器:
ipvsadm -A -t 192.168.3.240:31899 -s wlc -p
ipvsadm -a -t 192.168.3.240:31899 -r 192.168.3.237:31899 -g
ipvsadm -a -t 192.168.3.240:31899 -r 192.168.3.238:31899 -g
modprobe ip_vs_ftp ports=31899
FTP 服务器:
ip addr del 192.168.3.240/32 dev lo
现在效果是,可以登录成功,也可以获取到被动 ip 和端口号,但是向被动 ip 和端口号发送请求时无法响应,ftp 服务端日志没有异常信息。 FileZilla 连接日志如图,
学术不精,不知道哪里有问题,大佬们给指点下
1
julyclyde 2023-10-09 12:29:49 +08:00
我觉得不如直接废弃掉 ftp 算了
从各种观点来看,ftp 都属于设计的比较差的那种作品 在这上面浪费掉的时间明显高于收益 |
2
n0bin0bita OP @julyclyde 工作需要你懂的
|
3
devopsdogdog 2023-10-09 15:16:22 +08:00
被动不行就换成主动呗 ,1 个端口还好管理
|
4
yinmin 2023-10-09 20:43:21 +08:00 via iPhone
pasv 返回的 IP 地址是 lvs 的 IP 吗? 在 lvs 上配置了被动端口号了没?
|
5
yinmin 2023-10-09 20:48:16 +08:00 via iPhone
@devopsdogdog ftp 主动模式是:ftp server 直接发起 tcp 连客户端(客户端要侦听端口),这种远古的妖孽操作已经不适应当前的网络了。
|
6
julyclyde 2023-10-09 20:50:13 +08:00
@devopsdogdog 服务器节点可能没权限往外发起连接吧?
现在能勉强用下来的都是(需要 helper 支持)被动模式 |
7
yinmin 2023-10-09 20:54:03 +08:00 via iPhone
@noboinobita00 你图片打码的位置不仅仅是端口号,还包含服务器 ip 地址,你核对 pasv 返回的 ip 地址和端口号是否 lvs 配置正确
|
8
n0bin0bita OP @yinmin 我配置了返回 LVS 的 ip 时,需要 LVS 再配置被动端口的的转发,但是我们的被动端口范围比较广,我没有查到关于端口范围的配置,而且还有一个问题时,被动端口的流量也会被调度的不同的 RS 这样还是无法正常使用,所以后来我们把被动 IP 设置为了 RS 的 ip 这样我测试了下还是不行
|
9
yinmin 2023-10-11 11:47:02 +08:00 via iPhone
@noboinobita00 被动 ftp 的原理就是 ftp server 把 ip 地址和端口号通过 pasv 指令发给 ftp client ,让 client 连这个 ip 和端口,不复杂,你仔细检查 client 到 pasv 的 ip:port 网络即可。
另外,lvs 是可以锁住 client ip 固定连接一个子节点的,然后就可以配置被动端口了 |
10
yinmin 2023-10-11 11:56:06 +08:00 via iPhone
关于 lvs 配置端口区间,应该是需要为每个端口独立配置的,你可以让 gpt 帮你写一个 bash 批处理,或者用 excel 写公式拖拉出几百条命令,然后 bash 运行。
|
11
julyclyde 2023-10-11 14:52:20 +08:00
@noboinobita00 ftp 服务器配置里可以限制 pasv 的端口范围,你给它限制一下,大概就能和 LVS 一起用了吧?
|