Iptables, j'y comprend pas grand chose


#1

Bonjour,

Je suis un tout nouvel utilisateur de linux en général, et j’ai choisi une debian. Certe je n’ai pas pris la plus simple pour commencer, mais c’est la plus libre.

J’expose mon problème, et j’espère qu’une personne pourrai m’aider.
J’ai deux serveurs sous debian, mon serveur1 qui me sert de passerrelle internet et mon serveur2 de developpement.

J’ai accès à internet sur tout mes postes clients grace à ipmasq et dnsmasq. Mais j’aimerais rendre ma config plus sérieuse que sa car mon apache, mon ftp et mon ssh qui ce trouvent sur le serveur2 sont invisbles sur le net.

J’utilise un proxy qui est sur le serveur1 squid. J’aimerais donc, en faite supprimé ipmasq et mettre iptables. Mais j’ai 3 interface réseau, le ppp0 qui est pour internet, eth0 qui est juste pour internet pour chez mes parents, et eth1 qui est pour chez moi internet, accès au serveur ssh, apache et ftp.

Le problème, j’y comprend pas grand chose à iptable, j’ai trouvé plein d’exemple mais sa ce concerne pas trop mes besoins. Car j’ai envie que iptable sois configurer pour partager internet sur eth0 et eth1, faire profiter squid de manière transparente sur eth1 et eth0, rendre mes serveurs apache, ftp et ssh de mon eth1 disponible sur internet.

Donc j’ai squid qui ce trouve sur le serveur1 (192.168.0.1=eth0 et 192.168.1.1=eth1) sur le port 8080 avec authentifaction nca_auth (tuto pris chez christian caleca).

Donc voilà mon problème, mes besoins, et j’aimerais avoir de l’aide si ce n’ai pas trop demander. En vous remercient d’avance.


#2

euh… le probleme c’est que iptables et netfilters sont assez complexe (bien que…) il est difficile de l’expliquer en quelques lignes, personnellement j’ai appris la synthaxe avec ce tuto http://people.via.ecp.fr/~alexis/formation-linux/firewall.html et ce tuto http://iptables-tutorial.frozentux.net/iptables-tutorial.html. Tu trouvera des exmples ou la premiere partie correspond au filtrage des paquets entrant dans ton pc et la deuxieme partie correspond au regle de forward ce qui veut dire quel paquet le pc qui distribue internet doit gerer les paquets destiné au autres pc.
Je pense que le meilleur moyen d’apprendre iptables est de remonter ces manches et de taffer un peu pour comprendre des script tout fait, ensuite quand tu aura maitrisé ces scripts, tu pourra passerau suptilité de iptables comme les redirctions de port (ftp par exemple).
Voila, je sais que je n’apporte pas la reponse esperé mais pour ta maitrise future de l’outil, c’est la seule solution meme si je sais que ces tuto sont long et fatiguant, il n’y a pas de solution miracle.

santino


#3

Oui c’est bien qui me semblais que c’étais assez complexe :frowning:
Je me doute bien qu’il est difficile de m’expliquer en quelque ligne d’autant plus que je début avec linux bien que j’apprend assez vite! En tout cas je te remercie pour ta réponse, je vais me pencher dessus cette nuit quand personne surfera chez moi, en espérant d’avoir des conseils… :wink:


#4

Pour iptables je prefere la version de Ricardo :slightly_smiling:

forum.debian-fr.org/viewtopic.php?t=1901

Tres bien expliqué je trouve


#5

Je dit ah!

J’ai pu relier mes deux eth en un seul grace au bridge people.via.ecp.fr/~alexis/format … l#AEN11139 du coup j’ai internet qui passe avec iptable sans problème et tout mes ordinateurs ont enfin le même réseau.

Par contre une personne aurais t’il une idée pour que je rende mon proxy transparent? Et de manière si c’est possible que je m’identifie. Car là je m’identifie mais j’ai cru comprendre que si on met le proxy transparent ce n’ai plus le cas…


#6

Là je bloque! Je n’ai pas accès a l’extérieur a mon serveur ftp et à apache.
Ma passerelle est 192.168.10.1 et mon serveur02 sur 192.168.10.2

Dans mon iptables j’ai bien:

iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

Je ne comprend pas, et pour le port 22 (ssh), sa fonctionne.
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Une idée par hazard?


#7

il est difficile de te dire si une règle antèrieure que tu ne nous a pas donnée ne REJECT pas les ports que tu ouvres avant d’arriver aux règles ACCEPT. Il faudrait TOUTE la chaine pour juger.
Autre chose: il faudrait aussi savoir ce que tu acceptes en sortie.
Par ailleurs, il me semble me souvenir que le ftp est en udp, pas en tcp.
Finalement, un proxy transparent, c’est plutot facile à faire, mais ca ne fonctionne pas sur un bridge, et il faudrait savoir ce que tu veux proxyfier (http seul ? ftp aussi ?).
tu as regardé ça ?
forum.debian-fr.org/viewtopic.php?t=1901


#8

En effet je post mon fichier pour que sa sois plus clair! Pris sur un post du forum je ne sais plus lequel! J’ai changer depuis cette nuit de fichier. Et j’obtient le même problème :frowning:

Mon proxy n’ai pas transparent ce n’ai pas dramatique! Je préfère l’utilisation du bridge! J’utiliserai mon proxy comme je l’utilise maintenant.


#9

[quote=“MattOTop”]il est difficile de te dire si une règle antèrieure que tu ne nous a pas donnée ne REJECT pas les ports que tu ouvres avant d’arriver aux règles ACCEPT. Il faudrait TOUTE la chaine pour juger.
Autre chose: il faudrait aussi savoir ce que tu acceptes en sortie.
Par ailleurs, il me semble me souvenir que le ftp est en udp, pas en tcp.
Finalement, un proxy transparent, c’est plutot facile à faire, mais ca ne fonctionne pas sur un bridge, et il faudrait savoir ce que tu veux proxyfier (http seul ? ftp aussi ?).
tu as regardé ça ?
forum.debian-fr.org/viewtopic.php?t=1901[/quote]

Le ftp est bien en tcp, c’est le tftp qui est en udp.
Par contre, je comprends pas pourquoi il n’est pas possible de faire du proxy transparent avec un bridge. Le PREROUTING n’est pas possible sur une interface br?


#10

Le proxy fonctionne bien sous eth0 et eth1 et depuis que j’ai le bridge, le proxy fonctionne à merveille sur br0.