Iptables

Résolu
eliza_b Messages postés 365 Statut Membre -  
eliza_b Messages postés 365 Statut Membre -
Bonjour à tous,

J'ai installé un serveur web dans une mahcine local. Et je voudrai y accéder depuis une autre machine qui est sur le même réseau. Quand je désactive le par feu avec la commande service iptables stop, j'arrive à accéder au serveur web. Maintenant ce que je voudrai, c'est de pouvoir y accéder sans arréter le par feu. Pour celà, j'ai essayer la commande suivane: iptables -A INPUT -p tcp -i eth0 --dport http -j ACCEPT mais sa marche pas.

Est ce que quelqu'un à des idées?

Merci d'avance.
Configuration: Linux
Firefox 3.0.6

22 réponses

  • 1
  • 2
Résumé de la discussion

Pour accéder à un serveur web sur le réseau local sans désactiver le pare-feu, il faut autoriser le trafic HTTP via iptables.
La solution consiste à configurer le pare-feu pour autoriser le port 80, par exemple en sélectionnant HTTP comme service dans les règles.
En cas de modification, afficher le contenu d'iptables-save permet de vérifier que les règles sont bien appliquées, les changements passant par iptables même si cela n'apparait pas.
D'autres indices de diagnostic incluent la vérification du niveau de sécurité global et l'usage de iptables -L ou iptables -S pour confirmer les règles actives.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. chanky Messages postés 164 Statut Membre 11
     
    Bonjour, tu as essayé de mettre 80 à la place de http ?
    0
    1. eliza_b Messages postés 365 Statut Membre 10
       
      Oui, c'est ce que je viens d'essayer là mais ca marche pas ?

      d'autres idées?
      0
  2. chanky Messages postés 164 Statut Membre 11
     
    Je viens de rechercher et j'ai trouvé une solution:
    iptables -A INPUT -i eth0 -p tcp --sport www -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

    essaies et dis moi
    0
    1. eliza_b Messages postés 365 Statut Membre 10
       
      Toujours pas. Et ce qui m'étonne c'est que le ping lui il passe!!!

      Merci
      0
    2. eliza_b Messages postés 365 Statut Membre 10
       
      alors chanky, t'as pas d'autres idées?
      0
  3. chanky Messages postés 164 Statut Membre 11
     
    Et si tu remplaces --sport www par --dport 80 ? Cela donne quoi ?
    0
  4. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    C'est bien le numéro de port de destination qu'il faut mettre
    iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT 

    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. chanky Messages postés 164 Statut Membre 11
     
    Oui c'est bien ce qui me semblait.
    0
    1. eliza_b Messages postés 365 Statut Membre 10
       
      J'ai essayé ces tois commandes et toujours rien.

      iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT

      iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

      iptables -A INPUT -i eth0 -p tcp --sport www -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

      Et ce que je voudrai savoir, ces commandes il faut les tapées sur la machine du serveur ??
      0
  7. chanky Messages postés 164 Statut Membre 11
     
    Oui sur la machine faisant le serveur web.
    Peux-tu faire un netstat -l afin de vérifier que ton serveur écoute bien sur le port 80 ?
    0
  8. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    Oui, sur le serveur.
    Mais que la 1ère.
    iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT 
    0
    1. eliza_b Messages postés 365 Statut Membre 10
       
      Oui, j'ai commencé par sa, mais sa marche pas!
      0
  9. chanky Messages postés 164 Statut Membre 11
     
    As-tu vérifié que le port 80 est ouvert ?
    0
    1. eliza_b Messages postés 365 Statut Membre 10
       
      Comment tu fais pour savoir s'il est ouvert ou pas ?
      0
  10. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,

    Ca marche pas quoi?
    Affiche le résultat de
    iptables -v -L -n
    ps aux | grep apache

    Commandes à faire sur la machine qui fait le serveur
    0
    1. eliza_b Messages postés 365 Statut Membre 10
       
      Résultat de la commande iptables -v -L -n:

      Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
      pkts bytes target prot opt in out source destination

      Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
      pkts bytes target prot opt in out source destination

      Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
      pkts bytes target prot opt in out source destination



      Résultat de la commande ps aux | grep apache:
      apache 6137 0.0 0.1 227032 4320 ? S 10:16 0:00 /usr/sbin/httpd
      apache 6138 0.0 0.1 227032 4320 ? S 10:16 0:00 /usr/sbin/httpd
      apache 6139 0.0 0.1 227032 4320 ? S 10:16 0:00 /usr/sbin/httpd
      apache 6140 0.0 0.1 227032 4320 ? S 10:16 0:00 /usr/sbin/httpd
      apache 6141 0.0 0.1 227032 4320 ? S 10:16 0:00 /usr/sbin/httpd
      apache 6142 0.0 0.1 227032 4320 ? S 10:16 0:00 /usr/sbin/httpd
      apache 6143 0.0 0.1 227032 4320 ? S 10:16 0:00 /usr/sbin/httpd
      apache 6144 0.0 0.1 227032 4320 ? S 10:16 0:00 /usr/sbin/httpd
      root 30997 0.0 0.0 63212 788 pts/1 S+ 11:25 0:00 grep apache
      0
    2. eliza_b Messages postés 365 Statut Membre 10
       
      J'ai fait de nouveau la commande: iptables -v -L -n

      Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
      pkts bytes target prot opt in out source destination
      12 840 RH-Firewall-1-INPUT all -- * * 0.0.0.0/0 0.0.0.0/0

      Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
      pkts bytes target prot opt in out source destination
      4 336 RH-Firewall-1-INPUT all -- * * 0.0.0.0/0 0.0.0.0/0

      Chain OUTPUT (policy ACCEPT 12 packets, 840 bytes)
      pkts bytes target prot opt in out source destination

      Chain RH-Firewall-1-INPUT (2 references)
      pkts bytes target prot opt in out source destination
      12 840 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
      4 336 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 255
      0 0 ACCEPT esp -- * * 0.0.0.0/0 0.0.0.0/0
      0 0 ACCEPT ah -- * * 0.0.0.0/0 0.0.0.0/0
      0 0 ACCEPT udp -- * * 0.0.0.0/0 224.0.0.251 udp dpt:5353
      0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:631
      0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:631
      0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
      0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
      0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW udp dpt:137
      0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW udp dpt:138
      0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:139
      0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:445
      0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
      0
  11. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,

    Affiche aussi le résultat de la commande
    netstat -lpn | grep :80
    --
    106485010510997108
    0
    1. eliza_b Messages postés 365 Statut Membre 10
       
      Résultat de la commande: netstat -lpn | grep :80
      tcp 0 0 :::80 :::* LISTEN 6110/httpd

      Donc là, le port 80 est ouvert!!
      0
  12. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,

    Dans le résultat de message 19 je ne vois pas la règle pour le port 80
    Tape est affiche le résultat de (à faire en root sur la machine serveur)
    iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT  && iptables -v -L -n
    --
    106485010510997108
    0
    1. eliza_b Messages postés 365 Statut Membre 10
       
      Résultat de la commande: iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT && iptables -v -L -n

      Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
      pkts bytes target prot opt in out source destination
      52 3620 RH-Firewall-1-INPUT all -- * * 0.0.0.0/0 0.0.0.0/0
      0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80

      Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
      pkts bytes target prot opt in out source destination
      8799 1435K RH-Firewall-1-INPUT all -- * * 0.0.0.0/0 0.0.0.0/0

      Chain OUTPUT (policy ACCEPT 51 packets, 3552 bytes)
      pkts bytes target prot opt in out source destination

      Chain RH-Firewall-1-INPUT (2 references)
      pkts bytes target prot opt in out source destination
      51 3552 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
      0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 255
      0 0 ACCEPT esp -- * * 0.0.0.0/0 0.0.0.0/0
      0 0 ACCEPT ah -- * * 0.0.0.0/0 0.0.0.0/0
      0 0 ACCEPT udp -- * * 0.0.0.0/0 224.0.0.251 udp dpt:5353
      0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:631
      0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:631
      8799 1435K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
      0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
      0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW udp dpt:137
      0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW udp dpt:138
      0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:139
      0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:445
      1 68 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
      0
  13. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,

    Ok, maintenant on voit la règle
    Chain INPUT (policy ACCEPT 0 packets, 0 bytes) 
    pkts bytes target prot opt in out source destination 
    52 3620 RH-Firewall-1-INPUT all -- * * 0.0.0.0/0 0.0.0.0/0 
    0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 

    Essaie de te connecter sur ton serveur web depuis une machine client de ton LAN http://ip.de.ton.serveur
    0
    1. eliza_b Messages postés 365 Statut Membre 10
       
      Résultat:

      La connexion a échoué

      Firefox ne peut établir de connexion avec le serveur à l'adresse 192.168.122.90.

      Bien que le site semble valide, le navigateur n'a pas pu établir de connexion.

      * Le site est peut-être temporairement indisponible ? Réessayez plus tard.
      * D'autres sites sont aussi inaccessibles ? Vérifiez la connexion au réseau de votre ordinateur.
      * Votre ordinateur ou votre réseau est-il protégé par un pare-feu ou un proxy ? Des paramètres incorrects peuvent interférer avec la navigation sur le Web.
      * Vous avez toujours des problèmes ? Consultez votre administrateur réseau ou votre fournisseur d'accès à Internet pour obtenir de l'aide.

      C'est toujours le pare-feu!!!
      0
  14. chanky Messages postés 164 Statut Membre 11
     
    Je crois qu'il faut ajouter index.html à la fin pour voir une page. Si tu vois It works tu as gagné !
    0
  15. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,

    Depuis le client fait
    ping -c1 192.168.122.90 
    et affiche le résultat
    0
    1. eliza_b Messages postés 365 Statut Membre 10
       
      Oui, le client peut pinger le serveur sans probléme.
      0
  16. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,

    Sur le serveur tape et affiche le résultat (j'aimerais bien de m'afficher les résultats pour voir moi même)
    /sbin/ifconfig -a

    J'aimerais bien aussi de savoir le numéro d'érreur http quand tu essaie te connecter--
    106485010510997108
    0
    1. eliza_b Messages postés 365 Statut Membre 10
       
      résultat /sbin/ifconfig -a:


      eth0 Link encap:Ethernet HWaddr 00:E0:4C:49:77:EC
      inet adr:192.168.122.90 Bcast:192.168.1.255 Masque:255.255.255.0
      adr inet6: fe80::2e0:4cff:fe49:77ec/64 Scope:Lien
      UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
      RX packets:311575 errors:0 dropped:0 overruns:0 frame:0
      TX packets:312666 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 lg file transmission:0
      RX bytes:23211450 (22.1 MiB) TX bytes:88658151 (84.5 MiB)
      0
  17. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,

    Et le numéro d'erreur quand tu essaies te connecter?
    0
    1. eliza_b Messages postés 365 Statut Membre 10
       
      J'ai fait autrement et la ça marche. Système ==> administration ==> Niveau de sécurité et pare-feu et j'ai selectionné http et la pouf sa marche. Mais ce que je vroudrai savoir c'est quoi la différence entre cette méthode et l'autre (c'est à dire la commande iptables)?
      0
  18. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,

    Niveau de sécurité et pare-feu et j'ai selectionné http et la pouf sa marche.
    Affiche le résultat de iptables-save pour voir
    De toute façon quand tu modifies le niveau de sécurité c'est toujours iptables qui est utilisé même si tu ne le vois pas.
    0
    1. eliza_b Messages postés 365 Statut Membre 10
       
      J'ai une petite question:

      Quand je fais un iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT && iptables -v -L -n, on voit bin qu'il la ajouté. Mais quand je redémarre le pare-feu avec la commande service iptables restart, il le supprime est ce que c'est normal?


      Voici le résiltat de iptables-save

      # Generated by iptables-save v1.3.5 on Tue Mar 24 13:33:21 2009
      *filter
      :INPUT ACCEPT [0:0]
      :FORWARD ACCEPT [0:0]
      :OUTPUT ACCEPT [4402:1388244]
      :RH-Firewall-1-INPUT - [0:0]
      -A INPUT -j RH-Firewall-1-INPUT
      -A FORWARD -j RH-Firewall-1-INPUT
      -A RH-Firewall-1-INPUT -i lo -j ACCEPT
      -A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
      -A RH-Firewall-1-INPUT -p esp -j ACCEPT
      -A RH-Firewall-1-INPUT -p ah -j ACCEPT
      -A RH-Firewall-1-INPUT -d 224.0.0.251 -p udp -m udp --dport 5353 -j ACCEPT
      -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
      -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
      -A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
      -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
      -A RH-Firewall-1-INPUT -p udp -m state --state NEW -m udp --dport 137 -j ACCEPT
      -A RH-Firewall-1-INPUT -p udp -m state --state NEW -m udp --dport 138 -j ACCEPT
      -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 139 -j ACCEPT
      -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 445 -j ACCEPT
      -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
      -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
      COMMIT
      # Completed on Tue Mar 24 13:33:21 2009
      0
  19. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,

    Donc tu vois bien la règle
    A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

    qui correspond à ce qu'on t'as donné.

    service iptables restart, il le supprime est ce que c'est normal?
    Oui, c'est normal.

    Il faut plutôt faire un script iptables ou utiliser un frontend en mode graphique (par exemple firestarter)
    0
    1. eliza_b Messages postés 365 Statut Membre 10
       
      D'accord. Et merci pour votre aide!!
      0
    2. eliza_b Messages postés 365 Statut Membre 10
       
      Bonjour,

      Je voudrai ajouter la ligne suivante, dans ''mon pare-feu'' en utilisant la commande iptables

      Chain POSTROUTING (policy ACCEPT)

      num target prot opt source destination

      1 MASQUERADE all -- 192.168.122.0/24 0.0.0.0/0


      Quelle commande dois-je tappé pour sa ?

      Merci d'avance!!
      0
      1. eliza_b Messages postés 365 Statut Membre 10 > eliza_b Messages postés 365 Statut Membre
         
        J'ai trouvé une commande qui marche bien:

        echo > 1 /proc/sys/net/ipv4/ip_forward
        iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE


        Mais Quand je tape service iptables status voilà le résultat:
        1 MASQUERADE all -- 0.0.0.0/0 0.0.0.0/0

        Et moi je veux que l'adresse IP source c'est à dire le premier 0.0.0.0/0 soit 192.168.122.0/0.
        Est ce que vous avez des idées ?

        Merci d'avance!!!
        0
      2. eliza_b Messages postés 365 Statut Membre 10 > eliza_b Messages postés 365 Statut Membre
         
        J'ai trouvé:

        iptables -t nat -A POSTROUTING -s 192.168.122.0/0 -o eth0 -j MASQUERADE

        Merci
        0
  20. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    Tu fais du NAT?
    Ton PC fait le routeur?
    0
    1. eliza_b Messages postés 365 Statut Membre 10
       
      Oui, parceque mes machines virtuelles sont sur un réseau différent de la machine haute, donc il faut ajouter cette commande.
      0
    2. eliza_b Messages postés 365 Statut Membre 10
       
      Dis moi, quand j'essaye de faire un yum update sur ma machine j'ai l'erreur suivante:

      warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID e8562897
      Importing GPG key 0xE8562897 "CentOS-5 Key (CentOS 5 Official Signing Key) <centos-5-key@centos.org>" from http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5


      Je pense que c'est un probléme de clé publique. Est ce que tu sais comment le résoudre?

      Merci d'avance
      0
  21. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,

    Ce n'est pas une erreur, mais un warning.
    D'ailleurs il t'informe qu'une clé a éte importée.
    0
    1. eliza_b Messages postés 365 Statut Membre 10
       
      OK, donc il faut taper y pour continuer ?
      0
  • 1
  • 2