Routage vpn

Bonjour

Je suis en train de decouvrir un peu le vpn
donc j’ai mis en place un openvpn serveur ainsi qu’un openvpn client (tous deux sous lenny)

J’ai un reseau maison
192.168.30.xxx

  • ma box 192.168.30.1
  • serveur vpn inet adr:192.168.30.13 Bcast:192.168.30.255 Masque:255.255.255.0
  • autres 192.168.30.10, 11, …

le serveur vpn possede l’interface virtuelle tun0
inet adr:10.8.0.1 P-t-P:10.8.0.2 Masque:255.255.255.255

de l’autre coté le client est pour l’instant un kimsufi ovh, mais ça pourrait etre n’importe quoi d’autre

avec une ip publique xx.xx.xx… dont on s’en fou un peu je pense

une interface virtuelle tun
inet adr:10.8.0.6 P-t-P:10.8.0.5 Masque:255.255.255.255

routes du serveur vpn:

Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
10.8.0.2        *               255.255.255.255 UH    0      0        0 tun0
10.8.0.0        10.8.0.2        255.255.255.0   UG    0      0        0 tun0
localnet        *               255.255.255.0   U     0      0        0 bond0
default         box.house.lan   0.0.0.0         UG    0      0        0 bond0

route du client

Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
10.8.0.5        *               255.255.255.255 UH    0      0        0 tun1
10.8.0.0        10.8.0.5        255.255.255.0   UG    0      0        0 tun1
ip.pub.lic..    *               255.255.255.0   U     0      0        0 eth0
192.168.30.0    10.8.0.5        255.255.255.0   UG    0      0        0 tun1
default         rbx-42-gw.route 0.0.0.0         UG    0      0        0 eth

route add -net 192.168.30.0 netmask 255.255.255.0 gw 10.8.0.5
est la seule que j’ai rajouté manuellement

conf serveur

port 1194
proto udp
dev tun

ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh1024.pem

server 10.8.0.0 255.255.255.0
push .route 192.168.30.0 255.255.255.0.
push .dhcp-option DNS 192.168.30.13.
client-to-client
keepalive 10 120
comp-lzo
persist-key
persist-tun
verb 3

conf client

client
tls-client
remote xxx.xxx.xxx.xxx 1194
proto udp
dev tun

ca /etc/openvpn/ca.crt
cert /etc/openvpn/client.crt
key /etc/openvpn/client.key

ns-cert-type server
reneg-sec 21600
comp-lzo
verb 3

donc avec tous ça
j’arrive a ping de client vers serveur (10.8.0.6 vers 10.8.0.1) et 10.8.0.6 vers 192.168.30.13

et de serveur vers client (10.8.0.1 vers 10.8.0.6)
mais c’est tout

et ce que j’aimerais et c’est un peu l’interet principal du vpn, c’est de pouvoir sur le client ping 192.168.30.10, .11 et que ça réponde
c’est a dire voir les autres machines du reseau local du serveur à partir du client

mais je patauge dans les routes
quel réseau quel masque quelle passerelle :confused:
faut il faire du NAT ?

j’ai épluché pas mal de tutos sans succès depuis plus d’1 jour & demi

voilà
merci pour vos futures aides

En attendant une réponse des experts réseau, et avec mes petites connaissances: tu as un client sur internet, et tu veux lui faire accéder à toutes les machines de ton réseau local derrière une box ?
A part faire du port forwarding sur ta box (si elle le permet), je ne vois pas comment tu peux rendre visible toutes tes machines de ton réseau via le net (puisque ton réseau n’a qu’une seule adresse internet, il faut différencier chaque machine par autre chose, par ex un port d’entrée).
Mais coté sécurité, c’est à tes risques et périls!

[quote=“piratebab”]En attendant une réponse des experts réseau, et avec mes petites connaissances: tu as un client sur internet, et tu veux lui faire accéder à toutes les machines de ton réseau local derrière une box ?
A part faire du port forwarding sur ta box (si elle le permet), je ne vois pas comment tu peux rendre visible toutes tes machines de ton réseau via le net (puisque ton réseau n’a qu’une seule adresse internet, il faut différencier chaque machine par autre chose, par ex un port d’entrée).
Mais coté sécurité, c’est à tes risques et périls![/quote]

c’est justement le but du VPN. Virtual Private Network.

tu créé un tunnel crypté entre deux adresses IP publiques. à l’intérieur de ce tunnel tu utilise un autre plan d’adresses IP, diffèrent des adresses publiques, et diffèrent des adresses LAN (pour plus de sécurité).

l’idéal etant que le tunnel soit directement ouvert par la machine qui a l’adresse IP publique plutôt que faire du port forwarding sur une box. free propose que la box soit transparente (installation par défaut des freebox) comme cale c’est la machine en frontal qui obtient l’adresse IP publique.

le serveur VPN effectuera le routage nécessaire pour te donner accès aux machines désirées.

donc non tu ne rend pas tes machines directement visibles sur le net, il faut pour cela être authentifié et le serveur VPN se reserve le droit ou non de te donner accès à certaines machines. c’est aussi pour cele qu’il ne faut pas que le tunnel utilise le même plan d’adresses que la LAN. pour chaque ID de connexion tu utilisera un plan d’adresses IP different.

donc imagine, deux particuliers fana d’informatique qui ont leur propre LAN @home, tu monte un VPN entre les deux passerelles, et les pc des deux personnes peuvent s’échanger des infos en live sans s’authentifier davantage car l’authentification est gérée dans les passerelles. tu obtient un Réseau Privé Virtuel.

@exeral, desolé je ne repond pas à ta question. bon je vais lire tes conf.

EDIT : bon, après lecture.

tu ping 192.168.30.10 depuis 10.8.0.6
donc 192.168.30.10 doit te répondre, elle utilise sa route par défaut, et envoie la réponse vers … ta box car elle ne connait pas 10.8.0.6.

donc plusieurs solutions s’offrent à toi (deja j’espere que le routage est activé)

1 * renseigner une route pour 10.8.0.0/24 dans toutes les machines de ton réseau (fastidieux des lors que tu vas gérer plusieurs VPN).

2 * sinon faire du nat, comme cela le ping sera envoyé à 192.168.30.10 avec l’ip source 192.168.100.13, et donc la réponse est possible.

3 * éventuellement si le serveur VPN était deja la passerelle par défaut de ton réseau ça devrait fonctionner d’office

attention ces choses feront que les gens qui se connectent auront potentiellement accès à tout ton réseau. donc il faut faire en sorte de limiter les accès si possible. et l’astuce d’utiliser des plans d’adressages IP séparés pour chaque ID de connexion VPN fait que tu pourras gérér les règles différemment pour chaque ID si tu fait le filtrage d’accès selon l’adressage IP.

de plus quand on fait du VPN on évite de donner ses adresses IP privées au correspondant. donc il faut des tables de correspondance.
par exemple que

10.8.0.10 -> 192.168.30.10
10.8.0.11 -> 192.168.30.11

et limiter les accès aux machines prévues dans cette table.

comme cela le correspondant qui utilise le service VPN ne verra qu’un réseau “virtuel” 10.8.0/24 et n’aura accès qu’aux machines prévues dans ce réseau virtuel (et eventuellement à certaines applications ou ports tcp/udp. et voila.

un autre correspondant utilisera lui le reseau “virtuel” 10.8.1/24 et verra éventuellement d’autres machines, utilisera d’autres services et d’autres ports.