Les Forums

Les Forums

Les forums sont fermés. Ils restent présent pour consultation et archivage.
Vous pouvez désormais poser vos questions directement dans les commentaires en bas de chaque page du site.
Alors n'hésitez pas à participer

OpenVPN Client / tunnel inefficace sous Linux (CORBA)

Bonjour,

Dans le cadre d'un projet d'entreprise, j'ai mis en place openVPN 2.1.1 entre un PC sous Windows XP SP2 et un PC sous Linux Redhat Entreprise 5.
Sur le PC Windows XP, il y a deux softs propriétaires (A1 et A2) qui s'exécutent et sur le PC Linux il y a un soft propriétaire (B1) développés (en Java) qui s'exécute.
Entre les softs A1 et B1 il y a une connexion TCP/IP (A1 est serveur et B2 est client).
Entre les softs A2 et B1, il y a une liaison CORBA (donc du TCP/IP avec des clients et des serveurs sur A2 et B1)

OpenVPN serveur est installé sur le PC Windows XP et OpenVPN client est installé sur le PC Linux (mode tun, UDP, port 1194).
Lorsque je lance l'ensemble des softs (A1, A2, B1) et que je vérifie sous Wireshark le traffic, je constate que le traffic entre le soft A1 et B1 passe bien dans le tunnel, je constate également que le traffic entre le client "CORBA" TCP/IP du soft B1 et le serveur "CORBA" du soft A2 passe par le tunnel (UDP, port 1194) par contre le traffic (dans les deux sens) entre les serveurs "CORBA" TCP/IP (trames GIOP et COSEVENT COMM) du soft B1 et les clients "CORBA" du soft A2 ne passe pas par le tunnel.

En gardant la même configuration (soft et réseau), si je fait tourner le soft B1 (le même sans recompilation car Java) sur un PC sous Windows XP (Open VPN Client), alors je constate sous Wireshark que tous le traffic entre les softs A1 et B2 et A2 et B1 passent par le tunnel (UDP, port 1194).

Auriez vous une idée d'où peut venir ce problème en configuration PC Linux ?

Merci de votre aide.

PS : OpenVPN est utilisé dans le but de répondre à deux exigences (pas de serveur TCP/IP sur le PC B1 : que des clients, pas de port dynamique d'ouvert sur le PC B1 : que des ports statiques).
Il faudrait voir les tables de routage et ipconfig/ifconfig des deux cotés.
Bonjour,

Voici les infos de config. et de routage des deux PC :



Carte Ethernet X1 Network:

Suffixe DNS propre à la connexion :
Adresse IP . . . . . . . . . . . . : 172.16.6.1
Masque de sous-réseau . . . . . . : 255.255.0.0
Passerelle par défaut . . . . . . :

Carte Ethernet X2 Network:

Suffixe DNS propre à la connexion :
Adresse IP . . . . . . . . . . . . : 102.165.1.1
Masque de sous-réseau . . . . . . : 255.0.0.0
Passerelle par défaut . . . . . . :

Carte Ethernet TAP Network:

Suffixe DNS propre à la connexion :
Adresse IP . . . . . . . . . . . . : 10.8.0.1
Masque de sous-réseau . . . . . . : 255.255.255.252
Adresse IP . . . . . . . . . . . . : 0.0.0.0
Masque de sous-réseau . . . . . . : 0.0.0.0
Passerelle par défaut . . . . . . :



Itinéraires actifs :
Destination réseau Masque réseau Adr. passerelle Adr. interface Métrique
10.8.0.0 255.255.255.252 10.8.0.1 4 30
10.8.0.0 255.255.255.0 10.8.0.2 4 1
10.8.0.1 255.255.255.255 127.0.0.1 127.0.0.1 30
10.255.255.255 255.255.255.255 10.8.0.1 4 30
102.165.0.0 255.255.0.0 102.165.1.1 102.165.1.1 1
102.165.1.1 255.255.255.255 127.0.0.1 127.0.0.1 20
102.255.255.255 255.255.255.255 102.165.1.1 102.165.1.1 20
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
172.16.0.0 255.255.0.0 172.16.6.1 172.16.6.1 1
172.16.6.1 255.255.255.255 127.0.0.1 127.0.0.1 20
172.16.255.255 255.255.255.255 172.16.6.1 172.16.6.1 20
224.0.0.0 240.0.0.0 10.8.0.1 4 30
224.0.0.0 240.0.0.0 172.16.6.1 172.16.6.1 20
224.0.0.0 240.0.0.0 102.165.1.1 102.165.1.1 1
255.255.255.255 255.255.255.255 10.8.0.1 4 1
255.255.255.255 255.255.255.255 102.165.1.1 102.165.1.1 1
255.255.255.255 255.255.255.255 172.16.6.1 172.16.6.1 1
===========================================================================
Itinéraires persistants :
Adresse réseau Masque réseau Adresse passerelle Métrique
224.0.0.0 240.0.0.0 102.165.1.1 1
102.165.0.0 255.255.0.0 102.165.1.1 1
176.16.0.0 255.255.0.0 172.16.6.1 1
===========================================================================




eth0 Link encap:Ethernet HWaddr 00:1E:4F:C1:F5:7B
inet adr:102.165.2.1 Bcast:102.165.255.255 Masque:255.255.0.0
adr inet6: fe80::21e:4fff:fec1:f57b/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:232 errors:0 dropped:0 overruns:0 frame:0
TX packets:233 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:23914 (23.3 KiB) TX bytes:28241 (27.5 KiB)

lo Link encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0
adr inet6: ::1/128 Scope:Hôte
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:1948 errors:0 dropped:0 overruns:0 frame:0
TX packets:1948 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:7666516 (7.3 MiB) TX bytes:7666516 (7.3 MiB)

tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet adr:10.8.0.6 P-t-P:10.8.0.5 Masque:255.255.255.255
UP POINTOPOINT RUNNING NOARP 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:100
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)



Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
10.8.0.5 * 255.255.255.255 UH 0 0 0 tun0
10.8.0.0 10.8.0.5 255.255.255.0 UG 0 0 0 tun0
102.165.0.0 * 255.255.0.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0[/quote]
La solution OpenVPN fonctionne maintenant sur le PC Linux.

Les trames "CORBA" (des serveurs TCP/IP créés sur le PC Linux) ne passaient pas dans le tunnel car lors de la création d'un serveur TCP/IP, l'API CORBA (JDK) récupére l'adresse IP de la carte réseau physique et non celle de la carte réseau virtuelle (API getLocalHost).
Sur le PC XP cela fonctionnait car la même API récupérait l'adresse IP de la carte réseau virtuelle et non celle de la carte réseau physique.

Pour faire fonctionner cela sous Linux, le fichier /etc/hosts a été modifié pour indiquer au système de prendre en priorité l'adresse de la carte réseau virtuelle plutôt que celle de la carte réseau physique.

Si vous connaissez d'autre moyens de faire cela, je suis preneur.