在Ubuntu FTP服务器上实现IP访问限制,可以通过配置FTP服务器软件(如vsftpd)来实现。以下是具体步骤:
如果你还没有安装vsftpd,可以使用以下命令进行安装:
sudo apt update
sudo apt install vsftpd
编辑vsftpd的配置文件 /etc/vsftpd.conf:
sudo nano /etc/vsftpd.conf
在配置文件中添加或修改以下行来启用IP访问限制:
# 允许特定IP访问
tcp_wrappers=YES
hosts.deny=ALL
hosts.allow=192.168.1.1,192.168.1.2
将 192.168.1.1 和 192.168.1.2 替换为你希望允许访问的IP地址。
# 拒绝特定IP访问
tcp_wrappers=YES
hosts.deny=192.168.1.3,192.168.1.4
hosts.allow=ALL
将 192.168.1.3 和 192.168.1.4 替换为你希望拒绝访问的IP地址。
保存并关闭配置文件后,重启vsftpd服务以应用更改:
sudo systemctl restart vsftpd
确保vsftpd服务正在运行并且配置正确:
sudo systemctl status vsftpd
如果你需要更复杂的IP访问控制,可以使用iptables。以下是一个示例,允许特定IP访问FTP服务器:
# 允许特定IP访问FTP服务器
sudo iptables -A INPUT -p tcp --dport 21 -s 192.168.1.1 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 21 -s 192.168.1.2 -j ACCEPT
# 拒绝所有其他IP访问FTP服务器
sudo iptables -A INPUT -p tcp --dport 21 -j DROP
为了确保重启后规则仍然有效,可以使用 iptables-persistent 工具保存规则:
sudo apt install iptables-persistent
sudo netfilter-persistent save
sudo netfilter-persistent reload
通过以上步骤,你可以在Ubuntu FTP服务器上实现IP访问限制。根据你的需求,可以选择使用vsftpd的配置文件或iptables来进行控制。