Problème serveur NAT, pas de réponse au ping

Bonjour à tous,

Je reviens vers vous car à l’époque vous m’aviez bien aidé pour mettre en place mon premier serveur NAT.

J’ai chopper un autre pc de vieille génération et je compte faire un nouveau serveur NAT plus évoluer que le précédent.

Cependant ça commence mal : je me connecte bien mais ca ne ping pas depuis le serveur vers Internet idem sur les pc connectés en dhcp sur le serveur.

voici le résultat de la commande ifconfig ppp0

ppp0      Lien encap:Protocole Point-à-Point
          inet adr:XX.XX.XX.XXX  P-t-P:1.1.1.1  Masque:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:31 errors:0 dropped:0 overruns:0 frame:0
          TX packets:60 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:3
          RX bytes:3232 (3.1 KiB)  TX bytes:5797 (5.6 KiB)

J’ai donc un ip logique.

voici le résultat de la commande ifconfig eth0 (l’interface réseau connecté au modem)

eth0      Lien encap:Ethernet  HWaddr 00:02:A5:56:34:9A
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interruption:16

avant d’avoir mis le fichier iptables-start j’arrivais à pinger le nat depuis le serveur… Voici mon fichier iptables-start dans son intégralité :


#!/bin/sh
# /etc/network/if-pre-up.d/iptables-start
# Script qui démarre les règles de filtrage "iptables"
# Formation Debian GNU/Linux par Alexis de Lattre
# http://www.via.ecp.fr/~alexis/formation-linux/

# REMISE à ZERO des règles de filtrage
iptables -F
iptables -t nat -F


# DEBUT des "politiques par défaut"

# Je veux que les connexions entrantes soient bloquées par défaut
iptables -P INPUT DROP

# Je veux que les connexions destinées à être forwardées
# soient acceptées par défaut
iptables -P FORWARD ACCEPT

# Je veux que les connexions sortantes soient acceptées par défaut
iptables -P OUTPUT ACCEPT

# FIN des "politiques par défaut"


# Accepte ce qui se passe sur le réseau local

iptables -A INPUT -s 192.168.3.0/24 -j ACCEPT
iptables -A OUTPUT -d 192.168.3.0/24 -j ACCEPT
iptables -A FORWARD -s 192.168.3.0/24 -j ACCEPT


# DEBUT des règles de filtrage

# Pas de filtrage sur l'interface de "loopback"
iptables -A INPUT -i lo -j ACCEPT

# J'accepte le protocole ICMP (i.e. le "ping")
iptables -A INPUT -p icmp -j ACCEPT

# J'accepte le protocole IGMP (pour le multicast)
iptables -A INPUT -p igmp -j ACCEPT

# J'accepte les packets entrants relatifs à des connexions déjà établies
####iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# La règle par défaut pour la chaine INPUT devient "REJECT"
# (il n'est pas possible de mettre REJECT comme politique par défaut)
iptables -A INPUT -j REJECT

# FIN des règles de filtrage

# DEBUT des règles pour le partage de connexion (i.e. le NAT)

# Décommentez la ligne suivante pour que le système fasse office de
# "serveur NAT" et remplaçez "eth0" par le nom de l'interface connectée
# à Internet
iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -o ppp0 -j MASQUERADE

# Si la connexion que vous partagez est une connexion ADSL, vous
# serez probablement confronté au fameux problème du MTU. En résumé,
# le problème vient du fait que le MTU de la liaison entre votre
# fournisseur d'accès et le serveur NAT est un petit peu inférieur au
# MTU de la liaison Ethernet qui relie le serveur NAT aux machines qui
# sont derrière le NAT. Pour résoudre ce problème, décommentez la ligne
# suivante et remplaçez "eth0" par le nom de l'interface connectée à
# Internet.
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS -o ppp0 --clamp-mss-to-pmtu

# FIN des règles pour le partage de connexion (i.e. le NAT)


# DEBUT des règles de "port forwarding"


# FIN des règles de "port forwarding"

A noter que la commande ping free.fr mets une trentaine de secondes avant de me répondre ping: unknown host free.fr

Voici enfin mon fichier interfaces eth1 correspond à mon serveur dhcp qui, lui fonctionne bien.


# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#auto eth1
#iface eth1 inet dhcp
#auto eth0
#iface eth0 inet dhcp


auto dsl-provider
iface dsl-provider inet ppp
     provider dsl-provider
# please do not modify the following line
     pre-up /sbin/ifconfig eth2 up # line maintained by pppoeconf

# configuration en dur de eth1
        auto eth1
        iface eth1 inet static
        address 192.168.3.3
        netmask 255.255.255.0
        broadcast 192.168.3.255

Merci de votre aide !

hello,

Tu sais que ton interface n’as pas d’adresse ip ?

Re,

    Merci pour la réponse. 

A priori y’a pas d’adresse ip à avoir sur cette carte réseau, non ?

Voilà ce que j’ai sur mon serveur NAT actuel (qui fonctionne):

# ifconfig eth0
eth0      Lien encap:Ethernet  HWaddr 00:A0:CC:A2:F4:51
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2112693 errors:0 dropped:0 overruns:0 frame:1
          TX packets:2158024 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000
          RX bytes:1822109358 (1.6 GiB)  TX bytes:737155127 (703.0 MiB)
          Interruption:16 Adresse de base:0xa000

Par contre la deuxième ligne diffère, pourquoi ?

En fait, tu as trois cartes réseaux:
eth0, qui est désactivée, utilisée par rien
eth1, la carte de ton service dhcp
eth2, sur lequel est monté l’internet, sans doutes en pppoe.
Sais tu à quoi correspond eth0, donc ?

Sinon, la résolution du nom est une chose (qui se résoud par l’install de resolvconf, ou une bonne configuration de /etc/resolv.conf), mais est ce que tu ping 217.12.3.11 (yahoo.fr), avant ?

Re,

En effet l’interface eth0 ne me sert pas.

Bravo, en effet quand je ping directement l’ip ca fonctionne.

Je renseigne les dns dans le fichier /etc/resolv.conf mais il me les change quand je fait un /etc/init.d/networking restart

La je vois pas comment me sortir de là !

Thanks

redémarrer un coup (je sais j’aime pas dire ça).

lol,

    J'ai redemarrer ca n'a pas fonctionné j'ai donc reconfiguré /etc/network/interfaces pour pouvoir installer resolvconf.

     J'ai remis le fichier interfaces comme d'origine, j'ai redemarrer et ca fonctionnais. Cependant c'est quand j'ai remis les règles iptables que ca n'a de nouveau plus fonctionné...

     Ping yahoo.fr ne fonctionne pas mais ping 217.12.3.11 fonctionne. 

       :cry: 

    Je n'ai pas eu ce problème avec mon premier serveur... Je comprends pas ce qui ce passe là...

      Qu'es-ce que je peux faire ?

Merci.

paranok, il doit y avoir dans /etc/ppp/peers/ l’option usepeerdns non mise, rajoutes là.

pkoi tu as commenté ça ?

Lut,

    Merci pour votre aide.

[quote]il doit y avoir dans /etc/ppp/peers/ l’option usepeerdns non mise, rajoutes là.
[/quote]

:cry: L’option y est bien :

# Try to get the name server addresses from the ISP. usepeerdns

[quote]pkoi tu as commenté ça ?
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
[/quote]

En fait j’avais recopier le fichier iptables-start de mon serveur existant, mais quand je redemarre le réseau j’avais plein d’erreur. J’ai donc tout virer les règles que j’avais mises :

/etc/init.d/networking restart Setting up IP spoofing protection: rp_filter. Enabling packet forwarding...done. Reconfiguring network interfaces...ifup: interface lo already configured iptables: No chain/target/match by that name Plugin rp-pppoe.so loaded. iptables: No chain/target/match by that name done.

Et en commentant la dite ligne je n’obtiens plus d’erreurs :

# /etc/init.d/networking restart Setting up IP spoofing protection: rp_filter. Enabling packet forwarding...done. Reconfiguring network interfaces...ifup: interface lo already configured Plugin rp-pppoe.so loaded. done.

Ce serait lié à mes soucis de dns ?

:blush:

Bon, c’est bizarre ça

Que donnes

  1. ls -l /etc/resolv.conf

(la date)

  1. cat /etc/resolv.conf

  2. Dans le cas où il y a un truc dedans, mettons 123.45.67.8

que donnes
$ host google.fr 123.45.67.8

(Tu peux éventuellement taper

)

Re,

La commande : grep nameserver /etc/resolv.conf | sed -e ‘1,$s/nameserver /host google.fr /’ | sh
donne :

 [code]Connection timed out; no servers could be reached[/code]

J’ai pu constater que lorsque je modifiais manuelement le fichier resolv.conf en mettant les dns de mon FAI et qu’ensuite je faisait ping free.fr pas de résultat et pas de changement dans resolv.conf. Par contre lorsque je faisais ping 217.12.3.11 (par exemple) le fichier resolv.conf est modifié avec des adresses ip que je ne connais pas.

Sinon en parallèle j’ai lancé une installation (netinstall) sur un autre dd l’installation c’est bien passé avec le noyau 2.4.? :j’ai ma connection, mon serveur dhcp fonctionne, tout nickel koi.

J’ai installé le dernier noyau en date [2.6.18] et lorsque je veut lancer la connection internet (pppoe) il me renvoie l’erreur suivante :

:unamused: Le pppoe ne serait donc pas activé dans ce noyau ? comment faut-il faire pour l’activer ?

Merci de votre aide précieuse !

Lut,

     Je viens de me rendre compte que les dns uploader dans le fichier resolv.conf sont en fait les bons ! C'est bien ceux qui figure dans le resolv.conf de mon serveur actuel...

     Ce qui fait que c'est un problème encore plus bizarre...

:blush:

Quels sont ces serveurs, sont-ils atteignables?

Bonjour,

     Voici mon fichier resolv.conf :
nameserver 84.103.237.141
nameserver 86.64.145.141

Ces serveurs répondent au ping… franchement je sais plus trop quoi faire…

EDIT :

Je viens de remarquer une chose mes cartes réseau n’ont pas le même non suivant le noyau chargé :
la carte réseau intel à l’adresse eth1 avec le noyau 2.4.27-3-386 et passe à eth0 avec le noyau 2.6.18… et inversement avec mon autre carte réseau. C’est normal ca ? Ca peut causer des soucis ?

J’ai redemarrer avec le noyau 2.4.27-3-386 et la commande ping free.fr fonctionne. Mon serveur dhcp fonctionne, j’ai bien l’adresse ip au niveau des pc connectés sur le serveur mais je n’ai pas de connection internet.

help ! :unamused:

Bon, donne le contenu de /etc/resolv.conf et de /etc/host.conf

Bonjour fran.b, as tu vu mon edit sur le message précédent ?

je suis sur le noyau 2.4.27-3-386

mon fichier host.conf :

order hosts,bind
multi on

Mon fichier resolv.conf

nameserver 84.103.237.144
nameserver 86.64.145.144

Voilà,

Merci pour ton aide !

Oui, ça joue, regarde ton fichier /etc/network/interfaces.

Le plus simple est de trouver l’adresse MAC de tes deux interfaces (via ifconfig) et de mettre au début de ton fichier /etc/network/interfaces

pre-up nameif eth0 Adresse MAC de eth0
pre-up nameif eth1 Adresse MAC de eth1

prend les adresses MAC sous le noyau 2.4.

Re,

   J'ai mis ceci au tout début du fichier
pre-up nameif eth0 00:00:00:00:00:00
pre-up nameif eth1 00:00:00:00:00:00

cependant il me met deux erreur lorsque je fait un redémarrage du réseau et il ne tient pas compte du forcage des cartes réseau :

/etc/network/interfaces:4: misplaced option
ifdown: couldn't read interfaces file "/etc/init.d/interfaces"

et

etc/network/interfaces:4: misplaced option ifup: couldn't read interfaces file "/etc/init.d/interfaces"

Bizarre ça, vérifies quand même tes adresse MAC (ça n’est pas 00:00:00:00:00 j’imagine).

Essayes à la main en faisant

ifdown eth0

ifdown eth1

nameif eth0 …

nameif eth1 …

ifup eth1

ifup eth0

et regardes si les interfaces sont bien nommés comme tu veux.