Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1289 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  réseaux et sécurité

  [Iptables] J'invoque un dieu de Iptables

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

[Iptables] J'invoque un dieu de Iptables

n°803580
le20k
un ordinateur? pour koi faire?
Posté le 20-04-2006 à 19:57:21  profilanswer
 

Salut à toi !
Si tu as cliqué sur ce post, c'est que (j'espère) tu te sens un peu un Dieu d'Iptables, donc ton aide me serait forte utile !
 
Voici ce que j'ai :
1) J'ai 5 adresses IP qui entrent par ma connexion internet.
2) J'ai le serveur Serveur_01 qui est un serveur de mail et web.
3) J'ai le serveur Serveur_02 qui est un serveur de plein de choses, en plus de mail et web.
4) J'ai une debian qui tourne actuellement comme antispam, filtrant tout ce qui arrive de l'adresse IP1:25, et redistribuant au serveur Serveur_01:25.
Je ne peux pas changer les parametres énoncés aux points 1, 2 et 3.
 
Voilà ce sur quoi je travaille, et souhaiterait avoir une aide :
La Debian doit etre "convertie" en passerelle d'entrée, redirigeant chaque requette pour chacune des 5 adresses ip publiques entrantes vers les divers serveurs en interne, tout en gardant sa fonctionnalité antispam.
 
--------           IP1 = XX.XX.XX.1    eth0  ----------    eth1      From IP1:25 To Serveur_01:25
Internet   --->  IP2 = XX.XX.XX.2    --->   Passerelle    ---->     From IP4:25 To Serveur_02:25
--------           IP3 = Xx.XX.XX.3            +antispam                 From IP1:80 To Serveur_01:80
                      IP4 = XX.XX.XX.4             ---------                 From IP2:1723 To Serveur_02:1723
                      IP5 = XX.XX.XX.5                                          From IP3:80 To Serveur_01:80
                                                                                        From IPX:XX To Serveur_0X:XX etc... (redirections données à titre d'exemple)
 
J'ai pas mal réussi à faire les redirections, mais je ne vois pas comment trier selon l'ip d'entrée ... Comment faire ?
 
 
mon script iptables :

Code :
  1. iptables -F
  2. iptables -t nat -F
  3. iptables -t mangle -F
  4. iptables -X
  5. iptables -P INPUT DROP
  6. iptables -P OUTPUT DROP
  7. iptables -P FORWARD DROP             // les noms de mes interfaces :
  8. iptables -N rezo-internet                // rezo = réseau lan
  9. iptables -N rezo-mon_fwl               // mon_fwl = le firewall
  10. iptables -N internet-mon_fwl          // internet = ... à votre avis ? ;)
  11. iptables -A INPUT -i lo -j ACCEPT
  12. iptables -A INPUT -m state --state INVALID -j DROP
  13. iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  14. iptables -A INPUT -p TCP --state NEW ! --syn -j DROP
  15. iptables -A INPUT -i eth0 -j internet-mon_fwl
  16. iptables -A INPUT -i eth1 -j rezo-mon_fwl
  17. iptables -A INPUT -j DROP
  18. iptables -A FORWARD -m state --state INVALID -j DROP
  19. iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
  20. iptables -A FORWARD -p TCP --state NEW ! --syn -j DROP
  21. iptables -A FORWARD -i eth1 -o eth0 -j rezo-internet
  22. iptables -A FORWARD -j DROP
  23. iptables -A OUTPUT -j ACCEPT
  24. iptables -A internet-mon_fwl -p TCP --dport smtp -j ACCEPT
  25. iptables -A internet-mon_fwl -p tcp -m tcp --dport 22 --syn -j ACCEPT
  26. iptables -A internet-mon_fwl -p tcp -m tcp --dport 10000 --syn -j ACCEPT
  27. iptables -A internet-mon_fwl -p udp -m udp --sport 53 -j ACCEPT
  28. iptables -A internet-mon_fwl -p tcp -m tcp --sport 53 -j ACCEPT
  29. iptables -A internet-mon_fwl -p udp -m udp --dport 123 -j ACCEPT
  30. iptables -A internet-mon_fwl -p udp -m udp --sport 6277 -j ACCEPT
  31. iptables -A internet-mon_fwl -p udp -m udp --sport 24441 -j ACCEPT
  32. iptables -A internet-mon_fwl -p udp -m udp -d 192.168.68.4 --dport 1723 -j ACCEPT
  33. iptables -A internet-mon_fwl -p udp -m udp -d 192.168.68.4 --dport 80 -j ACCEPT
  34. iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  35. iptables-save > /etc/firewall-rules
  36. iptables-restore < /etc/firewall-rules


(script pas mal inspiré de http://okki666.free.fr/docmaster/a [...] x128.html)


---------------
dieu créa l'homme et meuh fit la vache
mood
Publicité
Posté le 20-04-2006 à 19:57:21  profilanswer
 

n°803615
Zzozo
Modérateur
Un peu, passionément, à la fol
Posté le 20-04-2006 à 21:31:56  profilanswer
 

Serveur_01, Serveur_02, etc, ont des adresses IP privées ?


---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
n°803616
le20k
un ordinateur? pour koi faire?
Posté le 20-04-2006 à 21:34:07  profilanswer
 

Voui sur la planche d'adresses 192.168.68.X


---------------
dieu créa l'homme et meuh fit la vache
n°803623
Zzozo
Modérateur
Un peu, passionément, à la fol
Posté le 20-04-2006 à 21:44:21  profilanswer
 

Les adresses IP publiques sont "fixes" (définitivement attribuées, elles ne changent pas toutes les 24h par exemple) ?


---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
n°803624
Zzozo
Modérateur
Un peu, passionément, à la fol
Posté le 20-04-2006 à 21:49:02  profilanswer
 

J'aurais le droit à un bonbon si je réussis ?  [:rhetorie du chaos]


Message édité par Zzozo le 20-04-2006 à 21:49:35

---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
n°803625
le20k
un ordinateur? pour koi faire?
Posté le 20-04-2006 à 21:52:23  profilanswer
 

les adresses ip publiques sont fixes oui
 
(et t'auras le droit à un bonbon à la fraise si tu réussis ;) )


---------------
dieu créa l'homme et meuh fit la vache
n°803628
le20k
un ordinateur? pour koi faire?
Posté le 20-04-2006 à 21:58:06  profilanswer
 

et pour rigoler un peu, voilà mon /etc/network/interface :
 

Code :
  1. # The loopback network interface
  2. auto lo
  3. iface lo inet loopback
  4. pre-up iptables-restore < /etc/firewall-rules
  5. # The primary network interface
  6. auto eth0
  7. iface eth0 inet dynamic
  8. # The secondaty network interface
  9. auto eth1
  10. iface eth1 inet static
  11.         address 192.168.68.123
  12.         netmask 255.255.255.0
  13.         network 192.168.68.0
  14.         broadcast 192.168.68.255
  15.         gateway 192.168.68.1
  16.         dns-nameservers 192.168.68.1
  17.         dns-search mon_domaine_a_moi.com


---------------
dieu créa l'homme et meuh fit la vache
n°803637
Zzozo
Modérateur
Un peu, passionément, à la fol
Posté le 20-04-2006 à 22:21:18  profilanswer
 

Et toutes les adresses publiques sont assignées à la passerelle (elle seule est "visible" de l'extérieur en gros), c'est bien ça ?


---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
n°803640
le20k
un ordinateur? pour koi faire?
Posté le 20-04-2006 à 22:25:34  profilanswer
 

exactement docteur :)
 
parmis mes recherches, je suis tombé sur le point 7.30 de cet article :
http://www.e-infomax.com/ipmasq/ho [...] -fr-7.html
Il faut d'après eux, faire une configuration NAT Many:Many ...
 
jva cibler mes recherches sur ce fameux NAT Many:Many


---------------
dieu créa l'homme et meuh fit la vache
n°803648
Zzozo
Modérateur
Un peu, passionément, à la fol
Posté le 20-04-2006 à 22:48:38  profilanswer
 

Bon, bah à priori, pour chaque redirection associée à une IP publique et un port déterminé, tu dois ajouter trois règles du type :
 
IF_inet  : interface réseau connectée à Internet, par ex. eth0
IP_pub : IP publique concernée, par ex. 61.89.169.21
Serv     : Port du service concerné, par ex. 80
IP_priv : IP privée concernée, par ex. 192.168.68.85
 
1 - pour le Destination NAT (la redirection, en elle même, quoi) :
 
iptables -t nat -A PREROUTING -i <IF_inet> -p <le protocole, tcp ou udp> -d <IP_pub> --dport  <Serv> -j DNAT --to-destination <IP_priv>
 
2 - pour autoriser les paquets en entrée sur la passerelle :
 
iptables -t filter -A INPUT -i <IF_inet> -p <le protocole, tcp ou udp> -d <IP_pub> --dport  <Serv> -m state --state NEW -j ACCEPT
 
3 - pour autoriser le routage vers le serveur "privé", chargé de traiter la demande :
 
iptables -t filter -A FORWARD -p <le protocole, tcp ou udp> --dport  <Serv> -m state --state NEW -j ACCEPT
 
 
J'utilise le suivi de connection (connection tracking, c'est le -m state --state qqchose), ça permet de simplifier la vie, surtout si on a des protocoles comme Ftp à gérer. Par contre, pour que ces règles puissent fonctionner, il faut que le support de celui-ci soit activé dans le noyau (c'est le cas en général) et ajouter au bon endroit (en général, le plus tot possible), les deux règles suivantes, une seule fois :
 
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
 
Les paquets appartenants aux connexions déjà établies, sont directement prises en charge par ces deux règles, et le fait de les mettre le plus tot possible dans les tables INPUT et FORWARD, permet de les traiter très rapidement et de passer à autre chose.
 
Bon, ce n'est qu'un exemple, y'a des modifs à faire pour ton cas, et certaines choses à adapter à ton gout/besoin/utilisation, c'est donc à toi de t'en inspirer et de mettre ça sous la bonne forme et au bon endroit dans ton script/autre.
 
Amuses toi bien :hello:


Message édité par Zzozo le 20-04-2006 à 22:49:33

---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
mood
Publicité
Posté le 20-04-2006 à 22:48:38  profilanswer
 

n°803652
le20k
un ordinateur? pour koi faire?
Posté le 20-04-2006 à 23:20:28  profilanswer
 

Je pose 2 et je retiens 1, sans oublier la virgule, et j'obtiens (d'un point de vue simplifié) si je voulais
- laisser entrer le 80 de l'ip publique 1 (X.X.X.1) et le rediriger sur le 80 du serveur privé 1 (192.168.68.4), et
- laisser entrer le 25 de l'ip publique 2 (X.X.X.2) et le rediriger sur le 25 du serveur privé 2 (192.168.68.5) :
 
// les regles à ajouter le plus tot possible
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT  
iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
 
// je laisse entrer le 80 de l'ip publique X.X.X.1 sur l'interface eth0 pour le rediriger sur l'ip privée 192.168.68.4
iptables -t nat -A PREROUTING -i eth0 -p udp -d X.X.X.1 --dport  80 -j DNAT --to-destination 192.168.68.4
iptables -t filter -A INPUT -i eth0 -p udp -d X.X.X.1 --dport  80 -m state --state NEW -j ACCEPT
iptables -t filter -A FORWARD -p udp --dport  80 -m state --state NEW -j ACCEPT
 
//je laisse entrer le 25 de l'ip publique X.X.X.2 sur l'interface eth0 pour le rediriger sur l'ip privée 192.168.68.5
iptables -t nat -A PREROUTING -i eth0 -p udp -d X.X.X.2 --dport  25 -j DNAT --to-destination 192.168.68.5
iptables -t filter -A INPUT -i eth0 -p udp -d X.X.X.2 --dport  25 -m state --state NEW -j ACCEPT
iptables -t filter -A FORWARD -p udp --dport  25 -m state --state NEW -j ACCEPT
 
 
si c'est bien un truc comme ça, je t'envoie un bonbon à la fraise dès demain par la poste, promis juré :)


---------------
dieu créa l'homme et meuh fit la vache
n°803653
le20k
un ordinateur? pour koi faire?
Posté le 20-04-2006 à 23:23:14  profilanswer
 

en parlant de demain, je fais des heures supp et je me fais jeter, donc je reprends ça demain matin ;)
merki en tout cas !


---------------
dieu créa l'homme et meuh fit la vache
n°803850
le20k
un ordinateur? pour koi faire?
Posté le 21-04-2006 à 15:34:20  profilanswer
 

Ahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh !!!!
Je pense que je vais me trancher les veines aux cotons-tige !
 
L'interface eth0 doit etre définie comment dans mon /etc/network/interfaces ?
Vu que j'ai plusieurs ip publiques sur l'eth0, je fais quoi moi là ? :/
 
Au secours !


---------------
dieu créa l'homme et meuh fit la vache
n°803851
Cruchot
Posté le 21-04-2006 à 15:38:39  profilanswer
 

Tu peux pas utiliser des interfaces genre eth0:x (eth0:0, eth0:1, etc) :??:

Message cité 1 fois
Message édité par Cruchot le 21-04-2006 à 15:39:18
n°803853
Zzozo
Modérateur
Un peu, passionément, à la fol
Posté le 21-04-2006 à 15:45:56  profilanswer
 

Cruchot a écrit :

Tu peux pas utiliser des interfaces genre eth0:x (eth0:0, eth0:1, etc) :??:


 

le20k a écrit :

Ahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh !!!!
Je pense que je vais me trancher les veines aux cotons-tige !
 
L'interface eth0 doit etre définie comment dans mon /etc/network/interfaces ?
Vu que j'ai plusieurs ip publiques sur l'eth0, je fais quoi moi là ? :/
 
Au secours !


 
 
Voilà, le monsieur t'as donné la solution. :o
Tu crées des alias sur une interface (celle reliée à internet par exemple).


---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
n°803854
le20k
un ordinateur? pour koi faire?
Posté le 21-04-2006 à 15:46:19  profilanswer
 

ça c'est une bonne question ... ;)
 
apparemment ça se fait : http://lists.debian.org/debian-use [...] 00295.html


---------------
dieu créa l'homme et meuh fit la vache
n°803855
le20k
un ordinateur? pour koi faire?
Posté le 21-04-2006 à 15:47:27  profilanswer
 

Zzozo : damned, trop rapide ! :D
 
en tout cas à tous les 2 MERCI ! :)
je vais plancher là dessus


---------------
dieu créa l'homme et meuh fit la vache
n°803861
Zzozo
Modérateur
Un peu, passionément, à la fol
Posté le 21-04-2006 à 15:55:52  profilanswer
 

déjà pour tester, manuellement tu peux utiliser des commandes du style :
ipconfig <IF_inet>:n add  <une des adresses IP publiques>
et tu augmentes n pour chaque IP publique différente, et où IF_inet est le nom de l'interface reliée à internet
 
 
Après, il te restera plus qu'à automatiser ça en modifiant le bon fichier de config
Voilà :)


Message édité par Zzozo le 21-04-2006 à 15:56:15

---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
n°803869
le20k
un ordinateur? pour koi faire?
Posté le 21-04-2006 à 16:04:14  profilanswer
 

Zzozo, ça serait pas plutôt ifconfig ?  :ange:  
 
Sinon j'ai trouvé ça :
http://www.ibiblio.org/pub/Linux/d [...] Alias.html
 
Mais du coup, pour le firewall, est-ce que ça serait une bonne idée que j'utilise ces fameux alias à la place de déclarer l'ip publique à chaque fois ?
Genre :
 
iptables -t nat -A PREROUTING -i <IF_inet>:n -p <le protocole, tcp ou udp> --dport  <Serv> -j DNAT --to-destination <IP_priv>


---------------
dieu créa l'homme et meuh fit la vache
n°803880
Zzozo
Modérateur
Un peu, passionément, à la fol
Posté le 21-04-2006 à 16:14:59  profilanswer
 

Heu oui, je m'amusais avec Windows, spour ça :D
 
non, utilises bien l'interface physique "réelle".


---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
n°803889
le20k
un ordinateur? pour koi faire?
Posté le 21-04-2006 à 16:30:29  profilanswer
 

d'accord  :)  
 
Est-ce que ça conviendrait tout ça ?
 
Mon fichier /etc/network/interfaces :

Code :
  1. # The loopback network interface
  2. auto lo
  3. iface lo inet loopback
  4. pre-up iptables-restore < /etc/firewall-rules
  5. # The primary network interface
  6. auto eth0
  7. iface eth0 inet static
  8. address X.X.X.1 (mon <IF_inet> n°1 / Infos données par mon FAI)
  9. netmask 255.255.255.X
  10. network X.X.X.8
  11. broadcast X.X.X.255
  12. gateway X.X.X.9
  13. dns-nameservers Y.Y.Y.Y
  14. iface eth0:0 inet static
  15. address X.X.X.2 (mon <IF_inet> n°2 / Infos données par mon FAI)
  16. netmask 255.255.255.X
  17. network X.X.X.8
  18. broadcast X.X.X.255
  19. gateway X.X.X.9
  20. dns-nameservers Y.Y.Y.Y
  21. # The secondaty network interface
  22. auto eth1
  23. iface eth1 inet static
  24. address 192.168.68.123
  25. netmask 255.255.255.0
  26. network 192.168.68.0
  27. broadcast 192.168.68.255
  28. # dns-* options are implemented by the resolvconf package, if installed
  29. dns-nameservers 192.168.68.1
  30. dns-search mon_domaine_a_moi.com


 
 
et mon script de firewall :

Code :
  1. // on flush tout
  2. iptables -F
  3. iptables -t nat -F
  4. iptables -t mangle -F
  5. iptables -X
  6. // les 2 fameuses lignes importantes
  7. iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 
  8. iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
  9. // je laisse passer le 1723 venant de IF_inet1 vers 192.168.68.1
  10. iptables -t nat -A PREROUTING -i eth0 -p udp -d X.X.X.1 --dport  1723 -j DNAT --to-destination 192.168.68.1
  11. iptables -t filter -A INPUT -i eth0 -p udp -d X.X.X.1 --dport  1723 -m state --state NEW -j ACCEPT
  12. iptables -t filter -A FORWARD -p udp --dport  1723 -m state --state NEW -j ACCEPT
  13. // je laisse passer le 80 venant de IF_inet2 vers 192.168.68.4
  14. iptables -t nat -A PREROUTING -i eth0 -p udp -d X.X.X.2 --dport  80 -j DNAT --to-destination 192.168.68.4
  15. iptables -t filter -A INPUT -i eth0 -p udp -d X.X.X.2 --dport  80 -m state --state NEW -j ACCEPT
  16. iptables -t filter -A FORWARD -p udp --dport  80 -m state --state NEW -j ACCEPT
  17. // je fais un masquerade pour que chaque paquet émis vers Internet utilise l'adresse principale de eth0
  18. iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  19. // j'ouvre quelques ports propres à ma passerelle
  20. iptables -N FIREWALL
  21. iptables -F FIREWALL
  22. iptables -A INPUT -j FIREWALL
  23. iptables -A FORWARD -j FIREWALL
  24. iptables -A FIREWALL -p tcp -m tcp --dport 22 --syn -j ACCEPT
  25. iptables -A FIREWALL -i lo -j ACCEPT
  26. // je dégage ce qui n'est pas désiré
  27. iptables -A FIREWALL -p tcp -m tcp --syn -j REJECT
  28. iptables -A FIREWALL -p udp -m udp -j REJECT
  29. // et je laisse passer tout ce qui vient de l'intérieur
  30. iptables -A OUTPUT -j ACCEPT


 
Alors docteur ? c'est bon ?  :ange:


Message édité par le20k le 21-04-2006 à 23:14:19

---------------
dieu créa l'homme et meuh fit la vache
n°803895
Zzozo
Modérateur
Un peu, passionément, à la fol
Posté le 21-04-2006 à 16:36:01  profilanswer
 

Par contre, penses à mettre les "policy" par défaut à DROP sinon le fw il sert pas à grand chose :D


---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
n°803907
le20k
un ordinateur? pour koi faire?
Posté le 21-04-2006 à 16:57:28  profilanswer
 

Genre je le placerai ici ?
 
// on flush tout
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
[là-->]iptables -A INPUT -j DROP


---------------
dieu créa l'homme et meuh fit la vache
n°803908
Zzozo
Modérateur
Un peu, passionément, à la fol
Posté le 21-04-2006 à 17:00:43  profilanswer
 

Oui mais t'arrêtes pas en si bon chemin, oublies pas de faire la même chose pour FORWARD [:dawao]


---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
n°803915
le20k
un ordinateur? pour koi faire?
Posté le 21-04-2006 à 17:12:26  profilanswer
 

oops petit oubli  :ange:  
récapitulatif :
 

Code :
  1. // on flush tout
  2. iptables -F
  3. iptables -t nat -F
  4. iptables -t mangle -F
  5. iptables -X
  6. iptables -P INPUT DROP
  7. iptables -P OUTPUT DROP // ok c'est pas très utile surtout que j'ouvre tout apres ...
  8. iptables -P FORWARD DROP
  9. // les 2 fameuses lignes importantes
  10. iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 
  11. iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
  12. // je laisse passer le 1723 venant de IF_inet1 vers 192.168.68.1
  13. iptables -t nat -A PREROUTING -i eth0 -p udp -d X.X.X.1 --dport  1723 -j DNAT --to-destination 192.168.68.1
  14. iptables -t filter -A INPUT -i eth0 -p udp -d X.X.X.1 --dport  1723 -m state --state NEW -j ACCEPT
  15. iptables -t filter -A FORWARD -p udp --dport  1723 -m state --state NEW -j ACCEPT
  16. // je laisse passer le 80 venant de IF_inet2 vers 192.168.68.4
  17. iptables -t nat -A PREROUTING -i eth0 -p udp -d X.X.X.2 --dport  80 -j DNAT --to-destination 192.168.68.4
  18. iptables -t filter -A INPUT -i eth0 -p udp -d X.X.X.2 --dport  80 -m state --state NEW -j ACCEPT
  19. iptables -t filter -A FORWARD -p udp --dport  80 -m state --state NEW -j ACCEPT
  20. // je fais un masquerade pour que chaque paquet émis vers Internet utilise l'adresse principale de eth0
  21. iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  22. // j'ouvre quelques ports propres à ma passerelle
  23. iptables -N FIREWALL
  24. iptables -F FIREWALL
  25. iptables -A INPUT -j FIREWALL
  26. iptables -A FORWARD -j FIREWALL
  27. iptables -A FIREWALL -p tcp -m tcp --dport 22 --syn -j ACCEPT
  28. iptables -A FIREWALL -i lo -j ACCEPT
  29. // je dégage ce qui n'est pas désiré
  30. iptables -A FIREWALL -p tcp -m tcp --syn -j REJECT
  31. iptables -A FIREWALL -p udp -m udp -j REJECT
  32. // et je laisse passer tout ce qui vient de l'intérieur
  33. iptables -A OUTPUT -j ACCEPT


---------------
dieu créa l'homme et meuh fit la vache
n°803919
Zzozo
Modérateur
Un peu, passionément, à la fol
Posté le 21-04-2006 à 17:15:41  profilanswer
 

tu laisses accéder à SSH de l'extérieur, aussi ? :o


---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
n°803924
le20k
un ordinateur? pour koi faire?
Posté le 21-04-2006 à 17:20:58  profilanswer
 

Malheureusement oui ...
Il me le faut depuis le lan comme depuis le wan, donc c'est correct ma règle ?


---------------
dieu créa l'homme et meuh fit la vache
n°803929
Zzozo
Modérateur
Un peu, passionément, à la fol
Posté le 21-04-2006 à 17:42:10  profilanswer
 

oui, c'est bon pour laisser l'accès à SSH
Ceci dit, tant que tu y es, pourquoi pas utiliser le connection tracking aussi pour l'accès SSH ?
genre iptables -A FIREWALL -p tcp --dport 22 -m state --state NEW -j ACCEPT


---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
n°803932
le20k
un ordinateur? pour koi faire?
Posté le 21-04-2006 à 17:56:25  profilanswer
 

Certes, très bonne idée ;)


---------------
dieu créa l'homme et meuh fit la vache
n°803994
le20k
un ordinateur? pour koi faire?
Posté le 21-04-2006 à 22:09:25  profilanswer
 

ok, c'est en place mais j'ai quelques petits soucis ...
 
Passerelle --> internet = ok
Internet --> passerelle:22 = ok
Internet --> serveurs internes (exemple:80) = pas ok
Serveurs internes --> Passerelle:22 = ok
Serveurs internes --> Internet = pas ok
 
grrr.... any idea ?


---------------
dieu créa l'homme et meuh fit la vache
n°804004
Zzozo
Modérateur
Un peu, passionément, à la fol
Posté le 21-04-2006 à 22:30:35  profilanswer
 

Normal, j'avais pas regardé dans le détail mais je viens de m'apercevoir que t'as commis une petite erreur ... pour le web, c'est bien le port 80 en général, mais en TCP pas en UDP  :D


Message édité par Zzozo le 21-04-2006 à 22:31:39

---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
n°804007
le20k
un ordinateur? pour koi faire?
Posté le 21-04-2006 à 22:37:52  profilanswer
 

Saperlipopette ! quels yeux de lynx ! :)
Cependant, meme après cette modification (sur chacune des 3 lignes identifiant l'ouverture du 80), je n'ai pas de réponse sur le 80 en utilisant l'IF_inet2.
 
Et par la meme occasion, j'ai fait un joli iptables -L, et ça me donne quelque chose que je n'aime pas : (je n'ai aucune regle qui mentionne un des serveurs internes)

Code :
  1. web02-gti:~# iptables -L
  2. Chain INPUT (policy DROP)
  3. target     prot opt source               destination
  4. ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
  5. ACCEPT     udp  --  anywhere           identification_ip_offerte_par_le_fai.pouet.ca   udp dpt:1723 state NEW
  6. ACCEPT     udp  --  anywhere           identification_ip_offerte_par_le_fai.pouet.ca   udp dpt:www state NEW
  7. FIREWALL   all  --  anywhere             anywhere
  8. Chain FORWARD (policy DROP)
  9. target     prot opt source               destination
  10. ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
  11. ACCEPT     udp  --  anywhere             anywhere            udp dpt:1723 state NEW
  12. ACCEPT     udp  --  anywhere             anywhere            udp dpt:www state NEW
  13. FIREWALL   all  --  anywhere             anywhere
  14. Chain OUTPUT (policy DROP)
  15. target     prot opt source               destination
  16. ACCEPT     all  --  anywhere             anywhere
  17. Chain FIREWALL (2 references)
  18. target     prot opt source               destination
  19. ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh state NEW
  20. ACCEPT     all  --  anywhere             anywhere
  21. REJECT     tcp  --  anywhere             anywhere            tcp flags:SYN,RST,ACK/SYN reject-with icmp-port-unreachable
  22. REJECT     udp  --  anywhere             anywhere            udp reject-with icmp-port-unreachable


Message édité par le20k le 21-04-2006 à 22:39:32

---------------
dieu créa l'homme et meuh fit la vache
n°804008
Zzozo
Modérateur
Un peu, passionément, à la fol
Posté le 21-04-2006 à 22:42:29  profilanswer
 

normal, pour voir les règle de dnat, faut utiliser cette ligne de commande là
iptables -t nat -L -v (le -v est pas forcément nécessaire, mais ça affiche un supplément d'infos bien utile parfois)
 
là tu n'affiches que les règles de filtrage (-t filter   implicite et par défaut)


Message édité par Zzozo le 21-04-2006 à 22:47:00

---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
n°804010
Zzozo
Modérateur
Un peu, passionément, à la fol
Posté le 21-04-2006 à 22:44:32  profilanswer
 

Essaies de te connecter à tes serveurs Web, depuis l'extérieur
 
puis lances un
iptables -t nat -L -v --line -n
et un
iptables -t filter -L -v --line -n
 
stp
 
 
histoire de savoir quelles règles "matchent" les paquets.


---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
n°804015
le20k
un ordinateur? pour koi faire?
Posté le 21-04-2006 à 22:51:42  profilanswer
 

je commence à loucher à force de voir tout ça :D
si t'arrives à t'y retrouver là dedans ......
 

Code :
  1. web02-gti:~# iptables -t nat -L -v
  2. Chain PREROUTING (policy ACCEPT 604 packets, 167K bytes)
  3. pkts bytes target     prot opt in     out     source               destination
  4.     0     0 DNAT       udp  --  eth0   any     anywhere             identification_ip_offerte_par_le_fai.pouet.ca udp dpt:1723 to:192.168.68.1
  5.     0     0 DNAT       tcp  --  eth0   any     anywhere             identification_ip_offerte_par_le_fai.pouet.ca tcp dpt:www to:192.168.68.4
  6. Chain POSTROUTING (policy ACCEPT 2 packets, 298 bytes)
  7. pkts bytes target     prot opt in     out     source               destination
  8.    10   922 MASQUERADE  all  --  any    eth0    anywhere             anywhere
  9. Chain OUTPUT (policy ACCEPT 12 packets, 1220 bytes)
  10. pkts bytes target     prot opt in     out     source               destination
  11. web02-gti:~# iptables -t nat -L -v --line -n
  12. Chain PREROUTING (policy ACCEPT 929 packets, 261K bytes)
  13. num   pkts bytes target     prot opt in     out     source               destination
  14. 1        0     0 DNAT       udp  --  eth0   *       0.0.0.0/0            X.X.X.1         udp dpt:1723 to:192.168.68.1
  15. 2        0     0 DNAT       tcp  --  eth0   *       0.0.0.0/0            X.X.X.2         tcp dpt:80 to:192.168.68.4
  16. Chain POSTROUTING (policy ACCEPT 3 packets, 368 bytes)
  17. num   pkts bytes target     prot opt in     out     source               destination
  18. 1       15  1302 MASQUERADE  all  --  *      eth0    0.0.0.0/0            0.0.0.0/0
  19. Chain OUTPUT (policy ACCEPT 18 packets, 1670 bytes)
  20. num   pkts bytes target     prot opt in     out     source               destination
  21. web02-gti:~# iptables -t filter -L -v --line -n
  22. Chain INPUT (policy DROP 0 packets, 0 bytes)
  23. num   pkts bytes target     prot opt in     out     source               destination
  24. 1      118 10725 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
  25. 2        0     0 ACCEPT     udp  --  eth0   *       0.0.0.0/0            X.X.X.1         udp dpt:1723 state NEW
  26. 3        0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            X.X.X.2         tcp dpt:80 state NEW
  27. 4      179 40036 FIREWALL   all  --  *      *       0.0.0.0/0            0.0.0.0/0
  28. Chain FORWARD (policy DROP 0 packets, 0 bytes)
  29. num   pkts bytes target     prot opt in     out     source               destination
  30. 1        0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
  31. 2        0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:1723 state NEW
  32. 3        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:80 state NEW
  33. 4        0     0 FIREWALL   all  --  *      *       0.0.0.0/0            0.0.0.0/0
  34. Chain OUTPUT (policy DROP 0 packets, 0 bytes)
  35. num   pkts bytes target     prot opt in     out     source               destination
  36. 1      154 13081 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0
  37. Chain FIREWALL (2 references)
  38. num   pkts bytes target     prot opt in     out     source               destination
  39. 1        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:22 state NEW
  40. 2        0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
  41. 3        0     0 REJECT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x16/0x02 reject-with icmp-port-unreachable
  42. 4      179 40036 REJECT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp reject-with icmp-port-unreachable


---------------
dieu créa l'homme et meuh fit la vache
n°804016
Zzozo
Modérateur
Un peu, passionément, à la fol
Posté le 21-04-2006 à 22:52:19  profilanswer
 

Mouais .... tu peux aussi lancer un ifconfig stp ?
J'ai l'impression que tes IP publiques sont pas assignées là où il faut ...


---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
n°804018
le20k
un ordinateur? pour koi faire?
Posté le 21-04-2006 à 22:55:45  profilanswer
 

et hop !
 

Code :
  1. web02-gti:~# ifconfig
  2. eth0      Link encap:Ethernet  HWaddr ploum:ploum:ploum
  3.           inet addr:X.X.X.1  Bcast:X.X.X.255  Mask:255.255.255.X
  4.           inet6 addr: tralala:tralala:tralala/64 Scope:Link
  5.           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
  6.           RX packets:950 errors:0 dropped:0 overruns:0 frame:0
  7.           TX packets:813 errors:0 dropped:0 overruns:0 carrier:0
  8.           collisions:0 txqueuelen:1000
  9.           RX bytes:1046509 (1021.9 KiB)  TX bytes:65505 (63.9 KiB)
  10.           Interrupt:5 Base address:0x9800
  11. eth1      Link encap:Ethernet  HWaddr ploum2:ploum2:ploum2
  12.           inet addr:192.168.68.9  Bcast:192.168.68.255  Mask:255.255.255.0
  13.           inet6 addr: tralala2:tralala2:tralala2/64 Scope:Link
  14.           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
  15.           RX packets:9159 errors:0 dropped:0 overruns:1 frame:0
  16.           TX packets:1715 errors:0 dropped:0 overruns:0 carrier:0
  17.           collisions:0 txqueuelen:1000
  18.           RX bytes:1582747 (1.5 MiB)  TX bytes:208631 (203.7 KiB)
  19.           Interrupt:11 Base address:0x9400
  20. lo        Link encap:Local Loopback
  21.           inet addr:127.0.0.1  Mask:255.0.0.0
  22.           inet6 addr: ::1/128 Scope:Host
  23.           UP LOOPBACK RUNNING  MTU:16436  Metric:1
  24.           RX packets:8 errors:0 dropped:0 overruns:0 frame:0
  25.           TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
  26.           collisions:0 txqueuelen:0
  27.           RX bytes:656 (656.0 b)  TX bytes:656 (656.0 b)


---------------
dieu créa l'homme et meuh fit la vache
n°804019
Zzozo
Modérateur
Un peu, passionément, à la fol
Posté le 21-04-2006 à 22:57:11  profilanswer
 

tant qu'on y est, un route -n aussi
Si tu préfères, envoies moi ça en MP  ;)


---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
n°804020
Zzozo
Modérateur
Un peu, passionément, à la fol
Posté le 21-04-2006 à 22:59:55  profilanswer
 

bon bah c'est bien ce que je pensais  :)
T'as "oublié" d'assigner ton adresse en x.x.x.2 sur ton interface reliée à Internet (créér un alias quoi)   :D
Et comme ton adresse en x.x.x.2 c'est celle qui est censée gérer les services web, d'après tes règles netfilter/iptables, ça risque pas de marcher ;)
 
Créé l'alias et ça devrait marcher  :)


---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
n°804022
Zzozo
Modérateur
Un peu, passionément, à la fol
Posté le 21-04-2006 à 23:00:40  profilanswer
 

Le route -n est pas indispensable du coup  :)


---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  réseaux et sécurité

  [Iptables] J'invoque un dieu de Iptables

 

Sujets relatifs
[Iptables] probleme de NATproblème passerelle internet (Iptables, je pense)
iptables & rejet des acquittementsIPTABLES avec MASQUERADE
Iptables -L qui ne fonctionne pas ![Iptables] Config de ftp (résolu)
Multiposte (free tv) >> configuration de Arno's iptablesIptables, restreindre l'acces internet pour certains postes
[Debian / IPTables] Création du script ?Options Squid et IPtables intéressantes pour une entreprise
Plus de sujets relatifs à : [Iptables] J'invoque un dieu de Iptables


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR