以下是Linux FTP服务器使用firewalld和iptables配置防火墙的指南:
使用firewalld
- 安装firewalld:
- Debian/Ubuntu系统:
sudo apt-get install firewalld - CentOS/RHEL系统:
sudo yum install firewalld
- Debian/Ubuntu系统:
- 启动并启用firewalld:
sudo systemctl start firewalldsudo systemctl enable firewalld
- 添加FTP端口:
- 允许控制连接(端口21):
sudo firewall-cmd --permanent --add-port=21/tcp - 允许数据连接(端口20):
sudo firewall-cmd --permanent --add-port=20/tcp - 若使用被动模式,允许数据传输端口范围(如30000-31000):
sudo firewall-cmd --permanent --add-port=30000-31000/tcp
- 允许控制连接(端口21):
- 重新加载配置:
sudo firewall-cmd --reload
使用iptables
- 安装iptables:
- Debian/Ubuntu系统:
sudo apt-get install iptables - CentOS/RHEL系统:
sudo yum install iptables
- Debian/Ubuntu系统:
- 添加FTP端口规则:
- 允许控制连接:
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT - 允许数据连接:
sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT - 若使用被动模式,允许数据传输端口范围:
sudo iptables -A INPUT -p tcp --dport 30000:31000 -j ACCEPT
- 允许控制连接:
- 保存规则:
- Debian/Ubuntu系统:
sudo iptables-save > /etc/iptables/rules.v4 - CentOS/RHEL系统:
sudo service iptables save
- Debian/Ubuntu系统: