在CentOS上配置FTP服务器的IP访问控制,可以通过多种方式实现,包括使用防火墙规则、vsftpd的配置文件等。以下是一个基本的步骤指南,假设你使用的是vsftpd作为FTP服务器:
如果你还没有安装vsftpd,可以使用以下命令进行安装:
sudo yum install vsftpd
安装完成后,启动vsftpd服务并设置开机自启:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
编辑vsftpd的配置文件 /etc/vsftpd/vsftpd.conf:
sudo vi /etc/vsftpd/vsftpd.conf
在配置文件中,你可以设置一些基本的FTP选项,例如:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
你可以使用firewalld或iptables来配置IP访问控制。
如果你使用的是firewalld,可以添加一个富规则来允许特定IP访问FTP端口(默认是21):
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="21" accept'
sudo firewall-cmd --reload
如果你使用的是iptables,可以添加规则来允许特定IP访问FTP端口:
sudo iptables -A INPUT -p tcp --dport 21 -s 192.168.1.100 -j ACCEPT
sudo service iptables save
你可以在/etc/vsftpd/user_list文件中添加允许访问的IP地址,并在配置文件中启用用户列表:
echo "192.168.1.100" | sudo tee -a /etc/vsftpd/user_list
然后在vsftpd.conf中添加或修改以下配置:
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO
完成配置后,重启vsftpd服务以应用更改:
sudo systemctl restart vsftpd
确保你的FTP服务器正在运行,并且只有指定的IP地址可以访问。你可以尝试从允许的IP地址连接FTP服务器,以及从其他IP地址连接以验证访问控制是否生效。
通过以上步骤,你应该能够在CentOS上配置FTP服务器的IP访问控制。根据你的具体需求,可能需要进行一些额外的调整。