Marc PERRUDIN a écrit :
comment ouvre t on un port sur un serveur tftp sous debian?
On lance le démon qui écoute sur le port en question. ;-)
iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -p tcp
--dport 21 -j ACCEPT
C'est plutot:
iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -p UDP
--dport 69 -j ACCEPT
Ne serait-ce pas plutôt :
iptables -A INPUT -m state --state NEW -p UDP --dport 69 -j ACCEPT
tftp fonctionne en UDP sur le port 69 pour le canal de commande et comme
le ftp passif pour les datas (cf /etc/services)
Pas vraiment. Il n'y a pas à proprement parler de canal de commande mais
un unique datagramme. Le premier datagramme UDP émis pas le client, qui
contient la requête, a comme port destination 69. Le premier datagramme
UDP émis par le serveur en réponse a un port source choisi par le
serveur (différent de 69) et comme port destination le port source
utilisé par le client dans le datagramme de requête. Les échanges
suivants utilisent ces deux ports.
Il est donc inutile d'attendre des paquets dans l'état ESTABLISHED ou
RELATED sur le port destination 69 puisque seul le premier paquet
utilise ce port et a l'état NEW.
Attention : à cause du changement de port source, le suivi de connexion
standard de Netfilter/iptables n'est pas capable de reconnaître le
premier paquet de réponse du serveur comme lié au premier paquet de
requête du client. S'il y a du filtrage en sortie du serveur, il est
nécessaire de charger le module ip_conntrack_tftp afin que le premier
paquet de réponse du serveur soit vu comme RELATED et puisse être
accepté. S'il n'y a pas de filtrage en sortie, le premier paquet de
réponse sera vu comme initiant une nouvelle connexion sortante. Ce même
module peut être nécessaire sur le client s'il a du filtrage en entrée,
pour la même raison.
Sauf erreur de ma part (non testé), les règles iptables suivantes
devraient être nécessaires et suffisantes pour le serveur TFTP :
# accepte en entree le premier paquet de requete TFTP
iptables -A INPUT -m state --state NEW -p UDP --dport 69 -j ACCEPT
# accepte en sortie la réponse à la requête (RELATED)
# (nécessite ip_conntrack_tftp)
# et les paquets de données ou d'acquittement suivants (ESTABLISHED)
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -p UDP -j ACCEPT
# accepte en entrée les paquets de données ou d'acquittement suivants
iptables -A INPUT -m state --state ESTABLISHED -p UDP -j ACCEPT
S'il y a du filtrage sur le client TFTP, les chaînes INPUT et OUTPUT
sont logiquement permutées :
# accepte en sortie le premier paquet de requête TFTP
iptables -A OUTPUT -m state --state NEW -p UDP --dport 69 -j ACCEPT
# accepte en entree la réponse à la requête (RELATED)
# (necessite ip_conntrack_tftp)
# et les paquets de données ou d'acquittement suivants (ESTABLISHED)
iptables -A INPUT -m state --state ESTABLISHED,RELATED -p UDP -j ACCEPT
# accepte en sortie les paquets de données ou d'acquittement suivants
iptables -A OUTPUT -m state --state ESTABLISHED -p UDP -j ACCEPT
--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]