Configuration réseau, masque,passerelle,ou est le problème ?

Bonjour

Je me suis monté un serveur sous ubuntu serveur.

Celui ci est sur un réseau en 10.201.0.0 avec le masque 255.255.128.0 et une passerelle 10.201.0.254

Il doit communiquer avec un autre réseau en 10.31.0.0 dont je ne connais pas trop les caractéristiques (c’est un vpn géré par mon école)

Si je met le serveur sous windows la communication se fait sans problème au travers de la passerelle 10.201.0.254 sans que j’ai à configurer autre chose que l’ip du serveur, le masque et l’ip de la passerelle.

Sous linux par contre ca ne marche pas avec ces seuls paramètres : le client envoie ces paquets au serveur, celui ci les recoit, il répond… mais les paquets n’arrivent jamais au client ! (vérifié avec tcpdump)

Chose étrange, une fois sur 20 le client recoit les paquets et la communication s’établi, j’ai même réussi à resté logué en ssh plusieurs minutes.

Mais le reste du temps ca ne fonctionne pas, alors qu’avec un serveur windows cela marche tout le temps ! Vous comprendrez que je pourrais me contenter de mettre windows pour résoudre le problème mais bon…

J’aurais pensé qu’une petite route suffirait à résoudre le problème :
route add -net 10.31.0.0 netmask 255.255.0.0 gw 10.201.0.254 metric 1 dev eth0

Mais cela ne change absolument rien :confused:

Je suis preneur de toutes les idées quant à l’origine du problème et aussi à sa résolution :slightly_smiling:

Merci d’avance.

B’jour, je ne suis pas assez calé dans les réseaux pour t’aider correctement mais as tu testé avec ton firewall désactivé pour voir si ca ne venait pas de là.
Ce qui serait étonnant je l’avoue vu que tu arrive à te connecter 1fois/20 mais on peux déjà commencer par là.

As-tu essayé de regarder les parametres ip mask etc sous windows pour remettre les memes sous linux?

Oui j’ai tout ouvert avec iptables.
J’ai recopié les règles de routage qu’il y avait sur le serveur windows, mais ca n’a rien changé.

Sauf qu’en les recopiant, j’ai vu qu’il les prenait avec un “H” pour host et non pour un réseau, bien que j’ai spécifié “-net” lors de l’ajout de la route, je sais pas si ca peut venir de ca.

[quote=“bap2703”]Bonjour[/quote]Bonjour ![quote=“bap2703”]Je me suis monté un serveur sous ubuntu serveur.[/quote]Ca existe, ce nonsens ?[quote=“bap2703”]Celui ci est sur un réseau en 10.201.0.0 avec le masque 255.255.128.0 et une passerelle 10.201.0.254[/quote]Déjà, il y a peut être une erreur dans ta manière de noter ton CIDR en /25. Si tu veux la frange qui va de 10.201.0.128 à 10.201.0.254, le nom du reseau va être 10.201.0.128/255.255.255.128, pas 10.201.0.0/255.255.255.128 qui représente l’autre moitié de 10.201.0.0/24 .
Ensuite, je ne suis pas trés fort en CIDR, mais as tu essayé une autre adresse de passerelle que le 254 (le 253 par exemple). J’ai toujours des problêmes à savoir quelles sont les adresses valides et l’adresse du réseau en fin de frange CIDR.[quote=“bap2703”]Il doit communiquer avec un autre réseau en 10.31.0.0 dont je ne connais pas trop les caractéristiques (c’est un vpn géré par mon école)[/quote]Quel type de vpn ? as tu aussi bien verifié les masques ?[quote=“bap2703”]Si je met le serveur sous windows la communication se fait sans problème au travers de la passerelle 10.201.0.254 sans que j’ai à configurer autre chose que l’ip du serveur, le masque et l’ip de la passerelle.[/quote][quote=“bap2703”]
Sous linux par contre ca ne marche pas avec ces seuls paramètres : le client envoie ces paquets au serveur, celui ci les recoit, il répond… mais les paquets n’arrivent jamais au client ! (vérifié avec tcpdump)[/quote]Depuis le serveur linux qui se connecte ?
ou depuis un client du reseau 10.201.0.128/255.255.255.128 ?
ou dans les deux cas ?[quote=“bap2703”]Chose étrange, une fois sur 20 le client recoit les paquets et la communication s’établi, j’ai même réussi à resté logué en ssh plusieurs minutes.
Mais le reste du temps ca ne fonctionne pas, alors qu’avec un serveur windows cela marche tout le temps ! Vous comprendrez que je pourrais me contenter de mettre windows pour résoudre le problème mais bon…[/quote]Il ne faudrait tout de même pas que ta méconnaissance t’oblige à te rabattre sur une solution de merde :wink:[quote=“bap2703”]
J’aurais pensé qu’une petite route suffirait à résoudre le problème :
route add -net 10.31.0.0 netmask 255.255.0.0 gw 10.201.0.254 metric 1 dev eth0[/quote]Là aussi, tu es sûr de ton masque ?[quote=“bap2703”]Mais cela ne change absolument rien :confused:
Je suis preneur de toutes les idées quant à l’origine du problème et aussi à sa résolution :slightly_smiling:
Merci d’avance.[/quote]Le problême vient des paquets revenant de 10.31.0.0/16.
Verifies un truc: quand tu es sous windows, tes machines du 10.201.0.128/25 doivent pinger celles du 10.31.0.0/16, mais pas l’inverse.
Si c’est le cas, c’est que windows met un nat en sortie vers le 10.31.0.0/16. Dans ce cas, sous linux tu mets un masquerading dans tes iptables: iptables -A POSTROUTING -o ${IFACE-VPN} -j MASQUERADE
Si les machines se pinguent dans les deux sens, c’est que ton windows publie une route vers 10.201.0.128/25 au niveau du routeur du 10.31.0.0/16, et il faut trouver comment faire pareil avec la solution de vpn que tu utilises (et là, ça dépent).

Petites précisions vu que j’ai merdé dans mon 1er post ^^

C’est bien le client qui est sur 10.31.x.y (c’est un vpn cisco qui attribue des adresses aléatoires) qui essaye de se connecter sur le serveur en 10.201.39.105.

Le serveur recoit tous les paquets en provenance du client.
Le client ne recoit pas les paquets en provenance du serveur :confused:

A part l’adresse du serveur, je ne peux rien modifier du réseau qui appartient à l’école (donc la passerelle reste bien 10.201.0.254)

Le problème viens donc des paquets dans le sens 10.201.0.254 => 10.31.x.y
Avec le serveur windows ca marche bien, je vais voir si je trouve plus de détails dans ce que je sniffe.

Alors petit exemple de ce que je sniffe avec le serveur windows du point de vue du client (connexion à un serveur IRC)
Client : 10.31.43.40 (ip attribuée aléatoirement sur le vpn)
Serveur : 10.201.39.103 (ip choisie par moi)

  • Client envoi un paquet SYN vers le serveur, du port 1681 vers 6667
  • Client recoit un paquet SYN ACK depuis le serveur, du port 6667 vers 1681

Là c’est normal.

Mais en regardant le détail, je m’apercoit que :
Un paquet Client => Serveur passe en fait par “cisco_3c” en destination de “cisco_be”.
Un paquet Serveur => client passe par “cisco_be” en destination de “cisco_3c”

Si je comprend bien, “cisco_3c” serait l’entrée du chemin VPN=>pas VPN.
Et “cisco_be” serait l’entrée dans le sens : pas VPN => VPN.

Il faudrait donc que je vois si le serveur linux envoit bien ses réponses en destination de ce “cisco_be” ???

Je vais voir quelles sont leurs ip.

salut

question adresse ip je connai pas assez pour t’aider

mai un utilitaire qui peux te servire c’est un bon sniffeur sous linux/windows
Wireshark

il te suffi de loguer sous win pui sous nux et de les comparer, enfin c’est ce que je ferai :wink:

Arrètes de sniffer, je t’ai dit d’ou venait le problême, il te manque une route quelquepart, et si tu avais répondu à mes questions au lieu de compliquer tes descriptions, je t’aurais déjà donné la solution.
1/Quel type de VPN utilises tu ?
2/Si j’ai bien tout compris, c’est toi qui contrôle le serveur d’accès 10.201.39.105 ? Que donne ip route print sous windows et route sous linux ?

Le vpn est un vpn cisco, je ne connais pas les installations qui le gèrent, je ne le connais que du côte client.

Serveur windows

Itinéraires actifs :
Destination réseau    Masque réseau  Adr. passerelle   Adr. interface Métrique
          0.0.0.0          0.0.0.0     10.201.0.254   10.201.39.103       20
       10.201.0.0    255.255.128.0    10.201.39.103   10.201.39.103       20
    10.201.39.103  255.255.255.255        127.0.0.1       127.0.0.1       20
   10.255.255.255  255.255.255.255    10.201.39.103   10.201.39.103       20
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
        224.0.0.0        240.0.0.0    10.201.39.103   10.201.39.103       20
  255.255.255.255  255.255.255.255    10.201.39.103   10.201.39.103       1
Passerelle par défaut :      10.201.0.254
===========================================================================
Itinéraires persistants :
  Aucun

Serveur linux

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.201.0.0      0.0.0.0         255.255.128.0   U     0      0        0 eth0
0.0.0.0         10.201.0.254    0.0.0.0         UG    0      0        0 eth0

Client windows sur le vpn

Itinéraires actifs :
Destination réseau    Masque réseau  Adr. passerelle   Adr. interface Métrique
          0.0.0.0          0.0.0.0      10.31.40.52     10.31.40.52       1
         10.0.0.0        255.0.0.0      10.31.40.52     10.31.40.52       20
      10.31.40.52  255.255.255.255        127.0.0.1       127.0.0.1       20
       10.201.0.0    255.255.128.0    10.201.39.104   10.201.39.104       20
       10.201.0.0    255.255.128.0      10.31.40.52     10.31.40.52       20
     10.201.0.254  255.255.255.255    10.201.39.104   10.201.39.104       1
    10.201.39.104  255.255.255.255        127.0.0.1       127.0.0.1       20
   10.255.255.255  255.255.255.255      10.31.40.52     10.31.40.52       20
   10.255.255.255  255.255.255.255    10.201.39.104   10.201.39.104       20
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
        224.0.0.0        240.0.0.0      10.31.40.52     10.31.40.52       20
        224.0.0.0        240.0.0.0    10.201.39.104   10.201.39.104       20
  255.255.255.255  255.255.255.255      10.31.40.52     10.31.40.52       1
  255.255.255.255  255.255.255.255    10.201.39.104   10.201.39.104       1
Passerelle par défaut :       10.31.40.52
===========================================================================
Itinéraires persistants :
  Aucun

Mon serveur pour l’instant ne sert à rien, ce n’est pas lui qui donne les accès au vpn si c’est ce que tu demandais.