Hello! 欢迎来到小浪云!


Linux FTPServer如何设置防火墙


Linux FTPServer如何设置防火墙

Linux系统中,为FTP服务器配置防火墙通常需要以下步骤:

第一步:确定FTP端口

FTP服务默认使用两个端口:

  • 端口21: 用于控制连接(命令通道)。
  • 端口20: 用于数据传输(数据通道)。

此外,如果使用被动模式(PASV)FTP,还需要额外开放一个动态端口范围。

第二步:配置防火墙规则

您可以使用iptables或firewalld来管理防火墙规则。以下分别提供示例:

使用iptables:

# 允许FTP控制连接 (端口21) sudo iptables -A INPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT  # 允许FTP数据连接 (端口20) sudo iptables -A INPUT -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT  # 允许被动模式FTP数据连接 (假设端口范围为50000-50050) sudo iptables -A INPUT -p tcp --dport 50000:50050 -m state --state NEW,ESTABLISHED -j ACCEPT  # 允许已建立的连接 sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT  # 保存iptables规则 sudo iptables-save > /etc/iptables/rules.v4

使用firewalld:

# 启动firewalld服务 sudo systemctl start firewalld sudo systemctl enable firewalld  # 允许FTP控制连接 (端口21) sudo firewall-cmd --permanent --add-port=21/tcp  # 允许FTP数据连接 (端口20) sudo firewall-cmd --permanent --add-port=20/tcp  # 允许被动模式FTP数据连接 (假设端口范围为50000-50050) sudo firewall-cmd --permanent --add-port=50000-50050/tcp  # 重新加载firewalld配置 sudo firewall-cmd --reload  # 查看当前firewalld配置 sudo firewall-cmd --list-all

第三步:配置FTP服务器使用被动模式

确保您的FTP服务器配置文件(通常是/etc/vsftpd/vsftpd.conf或/etc/proftpd/proftpd.conf)已启用被动模式并设置正确的被动模式端口范围。

例如,在vsftpd中:

pasv_enable=YES pasv_min_port=50000 pasv_max_port=50050

在proftpd中:

PassivePorts 50000 50050

第四步:重启FTP服务

重启FTP服务以应用新的配置。

# 对于vsftpd sudo systemctl restart vsftpd  # 对于proftpd sudo systemctl restart proftpd

第五步:验证防火墙规则

验证防火墙规则是否正确应用以及FTP服务是否正常工作。

# 检查iptables规则 sudo iptables -L -v  # 检查firewalld状态 sudo firewall-cmd --state

完成以上步骤后,您的Linux系统FTP服务器防火墙配置应该就完成了。 请记住将50000-50050替换为您实际使用的被动模式端口范围。

相关阅读