Les iptables L'utilitaire contrôle le code de filtrage de paquets réseau dans le noyau Linux. La fonctionnalité iptables est utilisée pour configurer, maintenir et inspecter les tables de règles de filtrage de paquets IP dans le noyau Linux. Plusieurs tables différentes peuvent être définies. Chaque table contient un certain nombre de chaînes intégrées et peut également contenir des chaînes définies par l'utilisateur.
Sur le serveur FTP, les règles iptables par défaut ne sont pas définies pour autoriser le port 20/21 pour la connexion FTP. Essayer d'ouvrir une connexion ftp entraîne l'erreur suivante :
# ftp 192.168.10.10 ftp: connect: No route to host ftp>
Autoriser les ports FTP 20/21 dans iptables
Connectez-vous au serveur ftp et suivez les étapes ci-dessous.
1. Éditez le fichier /etc/sysconfig/iptables-config et ajoutez "ip_conntrack_ftp "" module à la section "IPTABLES_MODULES= “. L'entrée devrait ressembler à ceci :
IPTABLES_MODULES="ip_conntrack_ftp"
2. Modifiez le fichier /etc/sysconfig/iptables et assurez-vous que les règles iptables sont ajoutées pour le port 20/21
# vi /etc/sysconfig/iptables # Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT ## rule related to FTP command (port 21) -A INPUT -p tcp -m tcp --dport 20 -j ACCEPT ## rule related to FTP data (port 20) -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMITRemarque : L'ordre des règles iptables est important.
3. Redémarrez le service iptables
# service iptables restart
4. Exécutez la commande ci-dessous pour vérifier si les modules ftp sont chargés ou non.
# lsmod | grep -i ftp
Exemple de sortie :
# lsmod | grep -i ftp nf_conntrack_ftp 12913 0 nf_conntrack 79357 3 nf_conntrack_ftp,nf_conntrack_ipv4,xt_state
5. Exécutez la commande ci-dessous pour vérifier si les règles iptables liées au port ftp 20 et au port 21 sont activées ou non.
# iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT icmp -- anywhere anywhere ACCEPT all -- anywhere anywhere ACCEPT tcp -- anywhere anywhere tcp dpt:ftp ACCEPT tcp -- anywhere anywhere tcp dpt:ftp-data ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh REJECT all -- anywhere anywhere reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT) target prot opt source destination REJECT all -- anywhere anywhere reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT) target prot opt source destination
6. Vérifiez si vous pouvez réussir le ftp du client au serveur ftp.