跳转至

vsftp 配置 tcp_wrappers


2015-11-30 by dongnan

环境

Ftp服务端: 10.0.100.13
Ftp客户端: 10.0.100.11

目标

只允许特定的IP地址访问vsftp服务器,其它IP拒绝。

问题描述

首先尝试使用黑名单机制 hosts.deny 禁止特定IP访问 vsftp服务器,但是无效。

服务端

# 黑名单,禁止 10.0.100.11 访问
tail -n1 /etc/hosts.deny
vsftpd:10.0.100.11

客户端

# 仍然可以访问服务端
telnet 10.0.100.13 21
Trying 10.0.100.13...
Connected to 10.0.100.13.
Escape character is '^]'.
220 Welcom
quit
221 Goodbye.
Connection closed by foreign host.

解决方法

保证配置文件拥有 tcp_wrappers 参数

grep -i 'tcp_wrappers' /etc/vsftpd/vsftpd.conf
tcp_wrappers=YES

重启服务

/etc/init.d/vsftpd restart

验证

再次访问服务端提示禁止信息

telnet 10.0.100.13 21
Trying 10.0.100.13...
Connected to 10.0.2.13.
Escape character is '^]'.
421 Service not available.
Connection closed by foreign host.

vsftp 配置白名单

也可以使用白名单方式实现功能。

允许通过

tail -n1 /etc/hosts.allow
vsftpd:10.0.0.1

拒绝所有

tail -n1 /etc/hosts.deny
vsftpd:ALL

优先级

这是因为 hosts.allow 的优先级高于 hosts.deny

参考

https://serverfault.com/questions/577393/vsftpd-limit-connection-to-a-set-of-ip-addresses

回到页面顶部