Linux vsftp防火墙设置:如何允许FTP流量
在Linux系统中,使用vsftpd作为FTP服务器时,需要正确配置防火墙以允许FTP流量
-
首先,确保已经安装了vsftpd。如果没有,请使用以下命令安装:
对于基于Debian的系统(如Ubuntu):
sudo apt-get update sudo apt-get install vsftpd对于基于RPM的系统(如CentOS):
sudo yum install vsftpd -
配置vsftpd。使用文本编辑器打开
/etc/vsftpd/vsftpd.conf文件。例如,使用nano编辑器:sudo nano /etc/vsftpd/vsftpd.conf确保以下设置已启用(删除或注释掉前面的
#):local_enable=YES write_enable=YES chroot_local_user=YES allow_writeable_chroot=YES保存并关闭文件。
-
重启vsftpd服务以应用更改:
sudo systemctl restart vsftpd -
配置防火墙。这里以iptables为例,允许FTP流量。首先,允许FTP标准端口21的TCP流量:
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT其次,允许FTP数据传输端口范围(通常是20和动态分配的端口)。编辑
/etc/sysctl.conf文件,添加或修改以下行:net.ipv4.ip_local_port_range = 1024 65535然后,应用更改:
sudo sysctl -p最后,允许FTP数据传输端口的TCP流量:
sudo iptables -A INPUT -p tcp --dport 1024:65535 -j ACCEPT -
如果您使用的是firewalld作为防火墙,可以使用以下命令允许FTP流量:
首先,允许FTP标准端口21的TCP流量:
sudo firewall-cmd --permanent --add-port=21/tcp其次,允许FTP数据传输端口范围(通常是20和动态分配的端口)。由于firewalld不支持直接添加端口范围,我们需要添加一个自定义的服务。创建一个名为
ftp.xml的新文件,包含以下内容:< ?xml version="1.0" encoding="utf-8"?> < service> < short> FTP< /short> < description> FTP service< /description> < port protocol="tcp" port="21"/> < port protocol="tcp" port="1024-65535"/> < /service>将此文件保存到
/etc/firewalld/services/目录下。然后,重新加载firewalld配置并启用自定义FTP服务:
sudo firewall-cmd --reload sudo firewall-cmd --permanent --add-service=ftp sudo firewall-cmd --reload
现在,您的Linux系统应该已经允许FTP流量通过防火墙了。请确保客户端使用正确的IP地址、用户名和密码连接到FTP服务器。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux vsftp防火墙设置:如何允许FTP流量
本文地址: https://pptw.com/jishu/784444.html
