Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Firewall / Routeur sous Linux

DAG, le mardi 15 janvier 2008 à 20:09:30
Bonjour, 

Je doit mettre en place un routeur sous Linux pour permettre de filtrer les échange entre l'internet un réseau local de l'entreprise.
Voici l'architecture réseau souhaitée pour l'entreprise :

------------------
|    Internet    |     
------------------
         |
         | 
         |   @IP publique
---------------------------
|    Routeur frontal    |
---------------------------
               |   10.14.200.250
               |   
               |
               |   eth0 = 10.14.200.150
------------------------------------
|    Roteur / Firewall LINUX    |
------------------------------------
                      |   eth1 = 192.168.1.1
                      |
                      |
                      |   Switch avec @ en : 192.168.1.xxx
--------------------------------------------
|    Réseau local de l'entreprise...    |
--------------------------------------------


Je n'arrive pour le moment à aucun résultats... Internet ne passe pas le firewall...

J'ai essayé avec les commandes suivante :

[        ]# iptables -F
[        ]# iptables -X
[        ]# iptables -t nat -F
[        ]# iptables -t nat -X
[        ]# iptables -t nat POSTROUTING -o eth0 -j nat
[        ]# echo 1 > /proc/sys/net/ipv4/ipforward

Ou en utilisant des routes :

[        ]# route add -net 10.14.200.150 netmask 255.0.0.0 eth0
[        ]# route add -net 192.168.1.1 netmask 255.255.255.0 eth0
[        ]# route add default eth0

Configuration d'un PC "client" (faisant partie du réseau local) 
@ = 192.168.1.xxx
mask = 255.255.255.0
gw = 192.168.1.150


Est-ce que quelqu'un aurai une idée de la configuration pour que je puisse utiliser la machine LINUX comme passerelle vers l'autre routeur, ou comme routeur et que je puisse par la suite appliquer des regles iptables ? 

Merci devos réponses.
Configuration: Windows XP
Firefox 2.0.0.11
Répondre à DAG  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
efflamm, le mardi 15 janvier 2008 à 21:36:42
Bonjour,

Pour plus de simplicité dans tes démarches je te conseille fortement les outils suivants :

iptables-save > un_fichier // pour sauver un travail dans un fichier
iptables-restore < un_fichier // pour restaurer ce même travail

Il manque des éléments essentiels dans ton approche : tu ne masquerade rien. Il te manque une règle pour cela (à la fin du code).
Ensuite ton approche du problème doit mieux passer si tu raisonnes en "flux" et en "interface réseau".

Une approche assez similaire à ton besoin faite en fin 2005/ début 2006, il s'agit d'un serveur linux Debian jouant le rôle de routeur. Deux carte réseaux, une branché sur le lan 10.0.1.x, l'autre à un modem routeur 192.168.0.x.L'idée c'etait de faire un pare feu logiciel assez léger pour de petite config, avec tout de meme des possibilités de log.

*filter

# 1ère étape on drop tout. On discute pas.
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]

#ici on crée les règles qui vont servir par la suite à trier tout ça.
:Cid4288B349.0 - [0:0]
:Cid4288B349.1 - [0:0]
:Cid4288B353.0 - [0:0]
:Cid4288B35D.0 - [0:0]
:Cid4288B35D.1 - [0:0]
:Cid4288B372.0 - [0:0]
:Cid4288B372.1 - [0:0]
:RULE_5 - [0:0]
:RULE_8 - [0:0]
:eth1_In_RULE_0 - [0:0]

### en premier on veut traiter INPUT
# on respecte les connections déja établies
#ne pas faire cela cest une garantie de quelque bon sprint vers le local serveur ;-)
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# on fait en sorte que tout les flux locaux passe par la règle eth1_In_RULE_0
-A INPUT -s 192.168.0.11 -i eth1 -j eth1_In_RULE_0
-A INPUT -s 10.0.1.1 -i eth1 -j eth1_In_RULE_0
-A INPUT -s 10.0.1.0/255.255.255.0 -i eth1 -j eth1_In_RULE_0

#on accepte tout les connections sur le loopback.
-A INPUT -i lo -m state --state NEW -j ACCEPT

# tous les broadcasts  sur toute les interfaces et vers toute les directions soient dirigés vers une règle
-A INPUT -d 255.255.255.255 -j Cid4288B349.1

#on accepte les nouvelles connections en provenance du lan et on les diriges dans une règle
-A INPUT -s 10.0.1.0/255.255.255.0 -m state --state NEW -j Cid4288B353.0

#on accepte les nouvelles connections en provenance de la carte réseau connecté au réseau modem routeur
-A INPUT -s 192.168.0.11 -m state --state NEW -j ACCEPT

#on accepte les nouvelles connections en provenance de la carte réseau connecté au lan
-A INPUT -s 10.0.1.1 -m state --state NEW -j ACCEPT

#on accepte les nouvelles connections à destination du modem routeur mais on les envoie dans une règle
-A INPUT -d 192.168.0.11 -m state --state NEW -j Cid4288B372.1

#on accepte les nouvelles connections à destination de la carte réseau connecté au lan mais on les envoie dans une règle
-A INPUT -d 10.0.1.1 -m state --state NEW -j Cid4288B372.1

#tout le  reste à destination de la carte réseau connecté au modem routeur et 
# et de la carte réseau connecté au lan fait l'objet d'un traitement dans une règle
-A INPUT -d 192.168.0.11 -j RULE_5
-A INPUT -d 10.0.1.1 -j RULE_5

#on laisse passer les messages port inacessible à destination du lan, c'est préférable pour un routeur ;-)
-A INPUT -d 10.0.1.0/255.255.255.0 -p icmp -m icmp --icmp-type 3 -m state --state NEW -j ACCEPT

#on accepte absolument toute nouvelle connection en provenance du lan
# c'est essentiel
-A INPUT -s 10.0.1.0/255.255.255.0 -m state --state NEW -j ACCEPT

#Si quelque chose n'a pas été filtré alors il y a un problème, un flux non géré en général, redirection de port et autre sucrerie.
-A INPUT -j RULE_8

### le bloc INPUT est terminé
### on attaque le bloc FORWARD

# même politique que précédement on est tolérant envers les connections déja établies.
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

#tout les paquets à transférer en provenance de l'interface connecté au réseau modem routeur sont traités dans une règle
-A FORWARD -s 192.168.0.11 -i eth1 -j eth1_In_RULE_0

#même chose pour ceux provenant de la carte réseau connecté au lan et passant bien par la bonne interface
-A FORWARD -s 10.0.1.1 -i eth1 -j eth1_In_RULE_0

#c'est la même chose que précedement sauf que cette fois ci ce sont les paquets en provenance du lan
-A FORWARD -s 10.0.1.0/255.255.255.0 -i eth1 -j eth1_In_RULE_0

# on laisse passer le code port inacessible à destination du lan
-A FORWARD -d 10.0.1.0/255.255.255.0 -p icmp -m icmp --icmp-type 3 -m state --state NEW -j ACCEPT

#toute nouvelle connection en provenance du lan est systématique accepté
-A FORWARD -s 10.0.1.0/255.255.255.0 -m state --state NEW -j ACCEPT

# une redirection particulière vers une IP précise du LAN
-A FORWARD -d 10.0.1.108 -i eth1 -o eth0 -p tcp -m tcp --dport 8100 -j ACCEPT

# si quelque chose n'est pas traité, il y a un problème, on envoie dans une règle.
-A FORWARD -j RULE_8

###le bloc FORWARD est terminé
### le bloc OUTPUT commence

# déja vu non ? en sortie cette fois
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# même chose pour le loopbak, oubliez ceci juste une fois pour voir :)
-A OUTPUT -o lo -m state --state NEW -j ACCEPT

#les broadcast vont dans une règle spéciale
-A OUTPUT -d 255.255.255.255 -j Cid4288B349.0

# les paquet à destination du lan  passe aussi dans une règle
-A OUTPUT -d 10.0.1.0/255.255.255.0 -j Cid4288B35D.0

# on accepte toute nouvelle connection sortante provenant de la carte réseau connecté au modem routeur
-A OUTPUT -s 192.168.0.11 -m state --state NEW -j ACCEPT

#meme chose pour celle du lan
-A OUTPUT -s 10.0.1.1 -m state --state NEW -j ACCEPT

#tout paquet à destination de la carte réseau connecté au modem routeur est maintenant dirigé dans une règle.
-A OUTPUT -d 192.168.0.11 -m state --state NEW -j Cid4288B372.0

#meme chose pour la carte réseau connecté au lan
-A OUTPUT -d 10.0.1.1 -m state --state NEW -j Cid4288B372.0

#si quelque chose d'autre passe par la carte réseau connecté au modem routeur on envoie dans une règle.
-A OUTPUT -d 192.168.0.11 -j RULE_5

#meme chose pour la carte connecté au lan
-A OUTPUT -d 10.0.1.1 -j RULE_5

#on laisse passer le code 3 port inacessible à destination et en provenance du lan
-A OUTPUT -d 10.0.1.0/255.255.255.0 -p icmp -m icmp --icmp-type 3 -m state --state NEW -j ACCEPT
-A OUTPUT -s 10.0.1.0/255.255.255.0 -m state --state NEW -j ACCEPT

#si quelque chose d'autre passe on envoie dans une règle.
-A OUTPUT -j RULE_8

###le bloc OUTPUT est terminé
### le plus intéressant maintenant le TRAITEMENT à l'intérieur des règles 

#on drop un vieux protocole , anciennement dhcp
-A Cid4288B349.0 -p udp -m udp -m multiport --dports 68,67 -j DROP
-A Cid4288B349.1 -p udp -m udp -m multiport --dports 68,67 -j DROP

#on accepte les connections à destination de la carte connecté au modem routeur
-A Cid4288B353.0 -d 192.168.0.11 -j ACCEPT

#pareil pour la carte connecté au lan
-A Cid4288B353.0 -d 10.0.1.1 -j ACCEPT

#on précise quel type de protocole on veut filtrer ici, la réponse ping et le TTL
-A Cid4288B35D.0 -p icmp -m icmp --icmp-type 0/0 -j Cid4288B35D.1
-A Cid4288B35D.0 -p icmp -m icmp --icmp-type 11/0 -j Cid4288B35D.1
-A Cid4288B35D.1 -s 192.168.0.11 -j ACCEPT
-A Cid4288B35D.1 -s 10.0.1.1 -j ACCEPT

# ici on définit les service qu'on laisse passer pop,smtp,ftp,http,ssh,wgs
-A Cid4288B372.0 -p tcp -m tcp -m multiport --dports 110,25,21,20,80,22,8100 -j ACCEPT
-A Cid4288B372.1 -p tcp -m tcp -m multiport --dports 110,25,21,20,80,22,8100 -j ACCEPT

### le bloc TRAITEMENT étant terminé
### on passe maintenant aux traitement des logs via syslog

#c'est simple on log et on drop
-A RULE_5 -j LOG --log-prefix "RULE 5 -- DENY " --log-level 6
-A RULE_5 -j DROP
-A RULE_8 -j LOG --log-prefix "RULE 8 -- DENY " --log-level 6
-A RULE_8 -j DROP
-A eth1_In_RULE_0 -j LOG --log-prefix "RULE 0 -- DENY " --log-level 6
-A eth1_In_RULE_0 -j DROP
COMMIT
*nat

### DNAT et SNAT 
:PREROUTING ACCEPT [14120:1457190]
:POSTROUTING ACCEPT [24501:1885523]
:OUTPUT ACCEPT [24484:1884575]

### squid en mode prxy cache transparent nécessite cette règle
-A PREROUTING -s 10.0.1.0/255.255.255.0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.0.1.1:3128

### redirection de port pour wgs
-A PREROUTING -i eth1 -p tcp -m tcp --dport 8100 -j DNAT --to-destination 10.0.1.108

### et pour finir on fait le masquerading du réseau local
### c'est essentiel
-A POSTROUTING -s 10.0.1.0/255.255.255.0 -o eth1 -j MASQUERADE
COMMIT


Espérant t'avoir donné quelque pistes. Ho, j'allais oublier hésite pas à consulter des liens de ce type pour acquérir les notions de base de netfiler!
Par exemple :
http://www.linux-france.org/prj/edu/archinet/systeme/ch62.html
Répondre à efflamm

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 louis, le mardi 22 avril 2008 à 15:21:10
Salut Efflam,

J'ai besoin d'installer ça chez moi est-ce que tu pourrait t'en occuper moyennant rémunération?

Merci

Louis
lvachette@gmail.com
Répondre à louis

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
DAG, le mardi 15 janvier 2008 à 22:13:26
Merci beaucoup, je vais étudier ta conf, et essayer de l'adapter à la mienne. Je te remercie de m'avoir répondu.

Juste une petite question, est-ce qu'il y a des routes à mettre au niveau du fairewall ? Et qelle doit etre la conf des clients (doivent-ils avoir comme passerelle l'adresse du firewall, et doivent-ils avoir des routes spécifiques) ?

Désolé pour toutes ces questions, mais je débute...

Merci encore.
Répondre à DAG

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
efflamm, le mardi 15 janvier 2008 à 23:58:37
Tes postes utilisateurs doivent avoir comme passerelle l'adresse de ton firewell linux, oui. Pas de route à spécifier, cela se fait en général tout seul. Tu dois la changer que dans des cas exceptionnels,cela concerne plutot des serveurs.

pour te simplifier la vie, si c'est compatible avec ton réseau , ça serait de créer un serveur DHCP.L'avantage est triple :

-tu peux quand meme fixer par ip fixe les adresse physiques des cartes(MAC) si besoin, et en général il y a besoin pour certaines applis.

-tu peux gérer sans souci les pc nomades qui se connecte ponctuellement

- si tu dois changer les paramètres réseaux des postes utilisateurs justement (passerelle, dns,netmask,etc..), tu peux le faire d'un coup d'un seul pour tous ou poste par poste directement du serveur, puis en lancant une simple commande sur le poste client ( ipconfig /renew )
Répondre à efflamm

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
DAG, le mercredi 16 janvier 2008 à 11:18:11
oui je vais mettre en place un serveur DHCP sur l'interface coté LAN, j'avais prévu de faire ceci.

Autre chose : la conf que que tu as déposée précédament, comment puis-je faire pour la mettre sur mon réseau ? Je ne peux pas la copier, la modifier, puis la mettre sur mon firewall en utilisant la commande iptables-restore ? Utilisais-tu un proxy squid ?

Merci encore une fois pour ton aide.
Répondre à DAG

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
efflamm, le mercredi 30 janvier 2008 à 00:45:12
salut,

désolé du retard, pas eu vraiment le temps de venir ici..

Tu copie dans un fichier le code.Tu l'adaptes à ton réseau. et lorsque tu es prêt à tester tu fais iptables-restore < ton_fichier.
Mais tout ne t'es pas forcément utile, de même il peut manquer des services à laisser passer, etc.. il te faudra tatoner beaucoup, mais c'est une façon d'apprendre même si c'est pas la plus simple ;-)

Pour reprendre ton schéma si cela peut t'aider, voici à quoi ressemblais le réseau :

Internet |
------------------
|
|
| @IP publique
---------------------------
| Routeur frontal |
---------------------------
| xxx.xxx.xxx.xxx
|
|
| eth0 = 192.168.0.11
------------------------------------
| Routeur / Firewall LINUX |
------------------------------------
| eth1 = 10.0.1.1
|
|
| Switch en : 10.0.1.xxx
--------------------------------------------
| Réseau local de l'entreprise... |
--------------------------------------------

Ce qui est identique à ton réseau, ou quasi, hormis les classes qui changent.

Pour Squid, oui effectivement il tournait en mode cache transparent, comme l'illustre cette règle :

-A PREROUTING -s 10.0.1.0/255.255.255.0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.0.1.1:3128

Elle permet de renvoyer toute les requetes sur le port 80 vers le 3128 uniquement sur l'interface ou squid écoute ( LAN ) et avant le masquerading.

J'ai mis un suivi par mail, histoire de pas oublier à nouveau
Répondre à efflamm

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Dag, le mercredi 30 janvier 2008 à 14:26:02
Merci pour ta réponse.

En fait j'avais eu le temps de trouver, mais ton model m'a bcp servit !

Merci encore,

Ciao.
Répondre à Dag

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
specimen35, le mercredi 30 janvier 2008 à 15:08:31
drag peut tu mettre resolue merci a toi et si c'est possible peut tu nous donné l'exemple que tu a crée cela m'interesse aussi
Répondre à specimen35

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Dag, le jeudi 31 janvier 2008 à 14:13:04
Pour l'exemple, j'ai repris la meme conf que efflamm, sauf que j'ai modifier les adresses ip pour l'appliquée à mon réseau, j'ai changé le nom des chaines, et je l'est exécuter en tant que script bash ! Rien de bien méchant ! lol
Mais pour comprendre, j'ai tester les regles quasiment 1 par 1 pour voir ce qu'elles faisaient.
Répondre à Dag

Résultats pour Firewall / Routeur sous Linux

Quel firewall sous Linux ?? (Résolu) Salut, La protection et la securite etant sans cesse en evolution, j'aimerai vos avis sur les Firewall sous Linux. Quels sont les meilleurs? En existe un qui permette un mode invisible, facon Zone Alarm et compatible Linux? Merci www.commentcamarche.net/forum/affich-4760163-quel-firewall-sous-linux
Problème ipatbles linux (Résolu) Bonjours je vous ecrit car je vien de monté un serveur web pour heberger une application php de ressources et de reservation . j'ai donc securisé le tout avec un firewall. Au debut j'ai commencer a firestarter : firewall de linux . Mais... www.commentcamarche.net/forum/affich-2525671-probleme-ipatbles-linux

Résultats pour Firewall / Routeur sous Linux

[Linux] Installation d'un FirewallInstallation d'un Firewall Avant-propos II - Iptables II.1 - Introduction II.2 - P comme Policy : Politique II.3 - A comme Append : Ajouter II.4 - I comme Insert : Insérer II.5 - L comme List : Lister II.6 - D comme Delete :... www.commentcamarche.net/faq/sujet-1317-linux-installation-d-un-firewall
Comment connaitre son adresse IP publique ?ipconfig (sous Windows) ou ifconfig (sous Linux) vous donneront votre adresse IP. Mais si vous êtes derrière un routeur qui fait du NAT, cela ne correspondra pas à votre adresse IP publique. Pour cela, il faut utiliser des sites externes. Voici... www.commentcamarche.net/faq/sujet-8734-comment-connaitre-son-adresse-ip-publique
[Windows XP] Activer ou désactiver le firewall (pare-feu) de XPA partir d'une session Windows XP ayant les droits d'administration suffisants, veuillez suivre les instructions suivantes : Aller dans le menu "Démarrer" Cliquer sur l'icône "Paramètres", Choisir "Panneau de configuration". Double-clic sur... www.commentcamarche.net/faq/sujet-1190-windows-xp-activer-ou-desactiver-le-firewall-pare-feu-de-xp

Résultats pour Firewall / Routeur sous Linux

3Com® OfficeConnect® ADSL Wireless 54 Mbps (Résolu)Bonjour, j'ai acheté un router 3Com OfficeConnect ADSL Wireless 54 Mbps 11g Firewall Router. Après configuration , j arrive a me connetcter a internet a partir de mon portable, mais je ne peux pas voir le repertoire de mon pc que j ai partagé,... www.commentcamarche.net/forum/affich-2410598-3com-officeconnect-adsl-wireless-54-mbps
Probleme de firewall routeur linksys WRT54G (Résolu)salut a tous voila mon probleme je suis en reso par le bié d'un routeur linksys wrt54g l'orsque que je me connecte sur emule je me retrouve en lowID et plus en HigtID je pense avoir un probleme de fireewall du routeur? comment puis-je faire... www.commentcamarche.net/forum/affich-1308044-probleme-de-firewall-routeur-linksys-wrt54g
Routeur Linux->RJ45->desktopXP->WIFI-> (Résolu)Bonjour, J'ai un problème assez galère car j'ai une configuration assez spécifique et je ne sais pas comment me dépatouiller... Mon réseau chez moi est assez vaste : (attention faut suivre) Ma freebox est relié à un machine Linux via un... www.commentcamarche.net/forum/affich-1569178-routeur-linux-rj45-desktopxp-wifi

Résultats pour Firewall / Routeur sous Linux

3Com OfficeConnect ADSL Wireless 108 Mbps 11g Firewall Router3 Com,Type:Router/Gateway,Interne ou externe:Externe,Standard WLAN:IEEE 802.11b/g,Réseau local sans fil,Vitesse max du réseau:100 Mbps,Vitesse max du réseau sans fil:108 Mbps,Protocole Data Link :Ethernet,Fast Ethernet,IEEE 802.11b,IEEE... www.commentcamarche.net/guide-achat/3com-officeconnect-adsl-wireless-108-mbps-11g-firewall-router-765774-fiche-technique
3Com OfficeConnect ADSL Wireless 54 Mbps 11g Firewall Router3 Com,Protocole Data Link :Ethernet,Fast Ethernet,IEEE 802.11b,IEEE 802.11g,Vitesse max du réseau sans fil:54 Mbps,Vitesse max du réseau:100 Mbps,Réseau local sans fil,Standard WLAN:IEEE 802.11b/g,Interne ou externe:Externe,Type:Cable/DSL... www.commentcamarche.net/guide-achat/3com-officeconnect-adsl-wireless-54-mbps-11g-firewall-router-635439-fiche-technique
TRENDnet Wireless N-Draft Firewall RouterType:Router/Gateway,Interne ou externe:Externe,Standard WLAN:IEEE 802.11b/g/n,Réseau local sans fil,Vitesse max du réseau:100 Mbps,Vitesse max du réseau sans fil:300 Mbps,Protocole Data Link :Ethernet,Fast Ethernet,IEEE 802.11b,IEEE 802.11g,IEEE... www.commentcamarche.net/guide-achat/trendnet-wireless-n-draft-firewall-router-743132-fiche-technique

Résultats pour Firewall / Routeur sous Linux

TracerouteIntroduction à Traceroute Traceroute est un outil de diagnostic des réseaux, présents sur la plupart des systèmes d'exploitation, permettant de déterminer le chemin suivi par un paquet. La commande traceroute permet ainsi de dresser une... www.commentcamarche.net/contents/outils-reseau/traceroute.php3
Routage d'un réseau PPP vers un réseau local sous LinuxPartager une connexion Internet Cet article a pour but de vous permettre d'utiliser une connexion Internet (fonctionnant par exemple avec le protocole PPP) grâce au routage des paquets IP par la machine connectée à Internet. Routage des paquets... www.commentcamarche.net/contents/reslinux/reslproxy.php3