May 20, 200521 yr Salut, Mon problème est le suivant : je travaille sur une machine A, debian testing. depuis celle-ci, je me ssh sur une machine B, debian testing. Je lance un ping google.ch : tnorth@B:~$ping google.ch -> OK ! je ping debian.org -> OK ! Par contre, maintenant : apt-get update : # apt-get update Err ftp://ftp.tux.org sarge/non-free Packages Could not connect to ftp.tux.org:21 (66.142.39.208), connection timed out Err http://abridgegame.org woody/ Packages Could not connect to abridgegame.org:80 (66.142.39.208), connection timed out Err ftp://ftp.fr.debian.org testing/non-US/main Packages Could not connect to ftp.fr.debian.org:21 (66.142.39.208), connection timed out Err ftp://mirror.switch.ch testing/main Packages Alors que ça marche depuis chez moi (quasi même config apt) Voyons le fichier iptables : Je veux seulement ssh ainsi que le web : #on vire tout iptables -X iptables -F #toutes les chaines pointent sur DROP iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP #idem nat & mangle #iptables -t nat -F #iptables -t nat -X #m'en fous, rien à forwarder #on accepte ce qui vient d'ici iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT #on remet tout en place iptables -A INPUT -s 127.0.0.0/255.0.0.0 -d 127.0.0.0/255.0.0.0 -i lo -j ACCEPT iptables -A INPUT -s 192.168.1.0/255.255.255.0 -d 192.168.1.0/255.255.255.0 -i eth0 -j ACCEPT iptables -A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT iptables -A INPUT -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT iptables -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -m limit --limit 1/sec -j ACCEPT iptables -A FORWARD -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -m limit --limit 1/sec -j ACCEPT iptables -A FORWARD -p icmp -m icmp --icmp-type 8 -m limit --limit 1/sec -j ACCEPT iptables -A OUTPUT -s 127.0.0.0/255.0.0.0 -d 127.0.0.0/255.0.0.0 -o lo -j ACCEPT iptables -A OUTPUT -s 192.168.1.0/255.255.255.0 -d 192.168.1.0/255.255.255.0 -o eth0 -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp -m tcp --sport 22 -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp -m tcp --sport 80 -j ACCEPT #éventuellement le ftp iptables -A OUTPUT -o eth0 -p tcp -m tcp --sport 21 -j ACCEPT iptables -A INPUT -i eth0 -p tcp -m tcp --dport 21 -j ACCEPT Une erreur ?
May 20, 200521 yr Essaye peut etre avec ca ? # J`accepte les packets entrants relatifs à des connexions déjà établies iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
May 20, 200521 yr Author Non ça ne fonctionne pas :( J'espère que ce n'est pas un autre problème, non lié à iptables, masi ça me parait étrange.... Merci du conseil !
May 21, 200521 yr Il y a pas mal de trucs bizarres dans ton script: Déjà, pas besoin de "-m tcp". Ensuite, si j'ai bien compris, c'est la machine B qui sert de passerelle, puique tu utilises la chaine FORWARD. Poutant, tu n'as qu'une interface réseau (eth0). Sinon, ton problème vient du fait que tu n'autorises que le trafic qur le port 21, mais le protocole ftp utilise au moins 2 ports! #éventuellement le ftp iptables -A OUTPUT -o eth0 -p tcp -m tcp --sport 21 -j ACCEPT iptables -A INPUT -i eth0 -p tcp -m tcp --dport 21 -j ACCEPT Danger! Tu acceptes le trafic vers ton (éventuel) serveur ftp! Essaie avec: #le ftp iptables -P OUTPUT -p tcp --sport 1025:65634 -j ACCEPT iptables -A INPUT -i eth0 -p tcp -m state --state RELATED,ESTABLISHED --dport 1025:65634 -j ACCEPT A la limite, tu peux remplacer : iptables -A INPUT -i eth0 -p tcp -m state --state RELATED,ESTABLISHED --dport 1025:65634 -j ACCEPT par iptables -A INPUT -i eth0 -p tcp -m state --state RELATED,ESTABLISHED --sport 20 --dport 1025:65634 -j ACCEPT Pour être sûr qu'il s'agit de ftp. Si cela ne marche pas, flushe tout le scripte iptables -F iptables -X et essaie. Dis-moi si ça marche, et si tu veux, je te fais un script. neo Edited May 21, 200521 yr by neologix
May 21, 200521 yr Ou tu fais simplement un iptables -P INPUT ACCEPT le temps de faire l'apt-get et puis tu le remet en DROP une fois que c'est fait, pourquoi se casser la nenette.
May 21, 200521 yr -ce n'est pas comme ça qu'on apprend -des fois qu'il oublie de relancer son script après... neo
June 1, 200521 yr Author Bonjour, Apparement aucune de ces solutions ne fonctionnent. Il n'y a pourtant pas de port spécial à forwarder pour ça ?!
June 1, 200521 yr Author Quelques détails : :/home/tnorth# apt-get update0% [Connecting to mirror.switch.ch (2001:620:0:8:203:baff:fe52:38e5)] [Connecti gdj-server:/home/tnorth# ping mirror.switch.ch PING mirror.switch.ch (32.1.6.32) 56(84) bytes of data. --- mirror.switch.ch ping statistics --- 2 packets transmitted, 0 received, 100% packet loss, time 999ms Pinger google fonctionne pourtant. Ainsi que les pings vers tout les autres site !
June 2, 200521 yr Quelques détails :Pinger google fonctionne pourtant. Ainsi que les pings vers tout les autres site ! Ben peut etre tout simplement que ce site est down :)
June 2, 200521 yr Author Non ce n'est pas le problème, une seconde machine fonctionne parfaitement avec ces sources ! J'ai essayé apt-setup, évidement déja, et même en passant par http, ftp sur plusieurs serveurs, rien à faire !
June 2, 200521 yr Essaye en mettant le meme fichier d'iptables que ta machine A. Relance le reseau et regarde voir. Moi perso, j'accepte toute connexion sortante, donc j'ai pas de probleme. Essaye sans le OUTPUT DROP juste pour voir :)
June 4, 200521 yr Author Salut, ça ne passe toujours pas ! Le fichier est bien le même que chez moi... Merci des conseils !
June 4, 200521 yr Ton script est très bizarroïde, y'a plein de trucs en trop, mais bon. Essaye en ajoutant le tracking de connexions: iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT Si ça marche pas, passe ta policy de INPUT et OUTPUT à REJECT et non pas DROP, comme ça tu sauras si le problème vient du iptables de ta machine B ou d'un autre iptables entre B et le serveur debian (genre ta passerelle).
June 4, 200521 yr # Yop iptables -A OUTPUT -o eth0 -p tcp -m tcp --sport 22 -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp -m tcp --sport 80 -j ACCEPT je crois qu il y a une erreur la . c est pas plustot : # on autorise l interface eth0 a faire du ssh et du web . iptables -A OUTPUT -o eth0 -p tcp -m tcp --dport 22 -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp -m tcp --dport 80 -j ACCEPT
June 4, 200521 yr taiwan, je crois pas, c'est le retour de ses paquets qu'il a codé (option -o eth0 = output sur eth0). Avec le tracking, y'en a plus besoin
June 5, 200521 yr taiwan, je crois pas, c'est le retour de ses paquets qu'il a codé (option -o eth0 = output sur eth0). Avec le tracking, y'en a plus besoin Bah d apres se que je vois il a mal autoriser ca machine a faire du web et du ssh et il fait justement les mise a jour en web . Enfin on verra bien :)
June 12, 200521 yr Author Rahh je ne comprends plus rien avec iptables ! Voila mon script actuel, sortit de vos conseils : LAN=192.168.1.0/24 # plage d'adresses du LAN DEB=mirror.switch.ch # miroir Debian # autorise le trafic E/S sur l'interface de loopback iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT # autorise le trafic E/S appartenant ou relatif aux connexions etablies iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # chaines utilisateur pour les nouvelles connexions sur eth0 iptables -N in_new iptables -N out_new iptables -A INPUT -i eth0 -m state --state NEW -j in_new iptables -A OUTPUT -o eth0 -m state --state NEW -j out_new # autorise le trafic E/S avec le LAN iptables -A in_new -s $LAN -j ACCEPT iptables -A out_new -d $LAN -j ACCEPT # autorise les connexions HTTP(S) en entree iptables -A in_new -p tcp --dport 80 -j ACCEPT iptables -A in_new -p tcp --dport 443 -j ACCEPT # autorise les connexions SSH en entree iptables -A in_new -p tcp --dport 22 -j ACCEPT # autorise le ping en entree avec limite a 5/s iptables -A in_new -p icmp --icmp-type echo-request \ -m limit --limit 5/s -j ACCEPT # autorise les requêtes DNS en sortie iptables -A out_new -p udp --dport 53 -j ACCEPT iptables -A out_new -p tcp --syn --dport 53 -j ACCEPT # autorise les connexions HTTP en sortie vers le miroir Debian iptables -A out_new -d $DEB -p tcp --syn --dport 80 -j ACCEPT # rejette les autres paquets NEW en entree avec limite a 5/s iptables -A in_new -m limit --limit 5/s -j REJECT # bloque le reste (paquets invalides ou depassant la limite) iptables -A INPUT -j DROP iptables -A OUTPUT -j DROP je répète ce dont j'ai besoin : accès SSH de l'extérieur, Web de l'extérieur (port 81 et ptet 443). La machine est derrière un routeur, elle ne route personne. Merci ! p.S dsl du temps de réaction, mais j'ai plein de boulot, exas en vue !
June 12, 200521 yr La machine est derrière un routeur, elle ne route personne. Et ton routeur, il renvoie bien tout vers ta machine ?
June 12, 200521 yr Author Euh je ne sais pas c'est pas chez moi, mais c'est chez un ami. Y a juste le 81 et le 22 de forwardés dessus. En général, le reste marche non ? Chez moi y a un routeur tout con avec aucun port forwardé sur la machine, et tout roule.... De plus je rappelle que je peux pinger google.com
Archived
This topic is now archived and is closed to further replies.