在Ubuntu上限制vsftpd访问IP,可以通过配置vsftpd的配置文件来实现。以下是具体步骤:
vsftpd的tcp_wrappers安装tcp_wrappers(如果尚未安装):
sudo apt-get update
sudo apt-get install tcp_wrappers
编辑/etc/hosts.deny文件:
打开或创建/etc/hosts.deny文件,并添加以下内容以拒绝所有IP访问:
vsftpd: ALL
编辑/etc/hosts.allow文件:
打开/etc/hosts.allow文件,并添加允许访问的IP地址或IP范围。例如:
vsftpd: 192.168.1.100
vsftpd: 192.168.1.0/24
重启vsftpd服务:
sudo systemctl restart vsftpd
vsftpd的配置文件编辑/etc/vsftpd.conf文件:
打开/etc/vsftpd.conf文件,并添加或修改以下配置项:
# 允许本地用户登录
local_enable=YES
# 允许匿名用户登录(如果不需要匿名用户,可以设置为NO)
anonymous_enable=NO
# 允许写入权限(如果需要)
write_enable=YES
# 允许本地用户上传文件
local_umask=022
# 允许被动模式
pasv_enable=YES
pasv_min_port=50000
pasv_max_port=50100
# 使用TCP Wrappers
tcp_wrappers=YES
配置IP访问控制:
在/etc/vsftpd.conf文件中添加以下行来限制特定IP地址或IP范围的访问:
# 允许特定IP地址访问
listen_address=192.168.1.100
# 允许特定IP范围访问
listen_address=192.168.1.0/24
重启vsftpd服务:
sudo systemctl restart vsftpd
如果你更喜欢使用防火墙来限制访问,可以使用ufw(Uncomplicated Firewall)来实现:
启用ufw(如果尚未启用):
sudo ufw enable
允许特定IP地址或IP范围访问FTP端口:
例如,允许IP地址192.168.1.100访问FTP端口(默认是21):
sudo ufw allow from 192.168.1.100 to any port 21
重启ufw服务:
sudo ufw reload
通过以上方法,你可以有效地限制vsftpd的访问IP。选择适合你需求的方法进行配置即可。