在CentOS系统中,配置SFTP(SSH File Transfer Protocol)的防火墙规则通常涉及使用firewalld
或iptables
。以下是使用这两种方法的详细步骤:
firewalld
启动并启用 firewalld
服务:
sudo systemctl start firewalld
sudo systemctl enable firewalld
允许SFTP流量:
SFTP通常使用TCP端口22。你可以使用firewalld
的富规则(rich rules)来允许SFTP流量。
sudo firewall-cmd --permanent --add-service=sftp
sudo firewall-cmd --reload
验证规则:
sudo firewall-cmd --list-all
你应该能看到sftp
服务被列出,并且状态为active
。
iptables
启动并启用 iptables
服务:
sudo systemctl start iptables
sudo systemctl enable iptables
允许SFTP流量: SFTP使用TCP端口22。你可以添加一条规则来允许这个端口的流量。
sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT
保存规则:
iptables
的规则在系统重启后会丢失,所以你需要保存规则。
sudo service iptables save
或者使用iptables-persistent
包来持久化规则:
sudo yum install iptables-services
sudo systemctl enable iptables
sudo systemctl start iptables
验证规则:
sudo iptables -L -n -v
你应该能看到允许TCP端口22的规则。
通过以上步骤,你应该能够在CentOS系统上成功配置SFTP的防火墙规则。