debian

如何在Debian上为vsftpd设置防火墙规则

小樊
46
2025-08-03 20:38:04
栏目: 智能运维

在Debian上为vsftpd设置防火墙规则,您需要使用iptables

  1. 首先,确保您已经安装了iptables。如果没有,请运行以下命令来安装:
sudo apt-get update
sudo apt-get install iptables
  1. 接下来,启用IPv4转发。编辑/etc/sysctl.conf文件:
sudo nano /etc/sysctl.conf

找到以下行:

net.ipv4.ip_forward=1

如果没有找到,请在文件末尾添加它。保存并关闭文件。

运行以下命令使更改生效:

sudo sysctl -p
  1. 现在,您需要为vsftpd设置防火墙规则。以下是一些示例规则,您可以根据需要进行修改:
# 清除现有规则
sudo iptables -F
sudo iptables -t nat -F

# 允许本地连接
sudo iptables -A INPUT -i lo -p tcp --dport 21 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -o lo -p tcp --sport 21 -m conntrack --ctstate ESTABLISHED -j ACCEPT

# 允许被动模式连接
sudo iptables -A INPUT -p tcp --dport 20 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 20 -m conntrack --ctstate ESTABLISHED -j ACCEPT

# 允许FTP数据连接
sudo iptables -A INPUT -p tcp --dport 1024:1048 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 1024:1048 -m conntrack --ctstate ESTABLISHED -j ACCEPT

# 允许已建立的连接
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

# 限制FTP访问
sudo iptables -A INPUT -p tcp --dport 21 -m conntrack --ctstate NEW -m state --state NEW -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 21 -m conntrack --ctstate NEW -m limit --limit 5/min -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 21 -j DROP

这些规则允许本地连接、被动模式连接和FTP数据连接,同时限制了FTP访问速率。

  1. 最后,保存iptables规则,以便在系统重启后仍然生效。运行以下命令:
sudo apt-get install iptables-persistent
sudo netfilter-persistent save
sudo netfilter-persistent reload

现在,您已经在Debian上为vsftpd设置了防火墙规则。请注意,这些规则仅适用于IPv4。如果您使用的是IPv6,请相应地调整规则。

0
看了该问题的人还看了