Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[openvpn] Multiples connexions (résolu)
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
El_Goretto
Moderator
Moderator


Joined: 29 May 2004
Posts: 3169
Location: Paris

PostPosted: Sat Nov 05, 2005 8:34 pm    Post subject: [openvpn] Multiples connexions (résolu) Reply with quote

Bonjour,

Aujourd hui, au programme, mettre en place un VPN sur mon serveur domestique. Ceci, dans le but explicitement honteux d'y faire transiter des données issues de jeux pour leur faire croire à un fonctionnement en LAN.

Après avoir galéré qqs jours avec cette infâme bouillie de L2TP/IPsec/PPP sans rien avoir réussi à en tirer (malgr" mes très bonnes connaissances IPsec, sans compter la pauvreté prévisible du résultat en terme de latence supplémentaire à chaque couche), mes ludo-collègues ont réussi à faire çà aujourd hui même sous XP par OpenVPN (basé sur SSL)... Oui, j'étais vexé.

Passé un délai incompressible pendant lequel j'ai boudé sec dans mon coin, je m'attèle à la tâche sur mon serveur. Cool pour moi, on peut désactiver le chiffrement, voire la compression (j'ai pas encore vu où). Donc latence minime en vue. J'ai aussi réussi à faire fonctionner mon VPN en point à point par secret partagé, de façon à ne pas s'emm..der avec tout un tas de certificat à chaque client à ajouter.

Oui... MAIS!
Je voudrais faire du secret partagé sans faire du point à point, moi. J'ai pas envie de créer 15 interfaces réseaux pour 15 serveurs VPNs écoutant sur 15 ports avec les règles iptables qui vont avec (soit 30 minimum dans l'exemple)... C'est du délire.

Comment faire? 8O

Exemple du fichier de configuration épuré:
Code:
port PORT
proto udp
dev tun
secret static.key
ifconfig IP_VPN_SERVEUR IP_VPN_CLIENT


--
edit:
bien sûr, j'ai essayé de mettre un masque de réseau en paramètre du ifconfig du fichier, mais nan, ça a pas l'air de passer.

reedit:
je précise aussi que lancer le serveur VPN avec secret (donc la clé partagée) et la directives server (qui fait ce que je veux) est impossible.
_________________
-TrueNAS & jails: µ-serv Gen8 E3-1260L, 16Go ECC + µ-serv N40L, 10Go ECC
-Réseau: APU2C4 (OpenWRT) + GS726Tv3 + 2x GS108Tv2 + Archer C5v1 (OpenWRT)


Last edited by El_Goretto on Tue Nov 08, 2005 5:12 pm; edited 2 times in total
Back to top
View user's profile Send private message
El_Goretto
Moderator
Moderator


Joined: 29 May 2004
Posts: 3169
Location: Paris

PostPosted: Sat Nov 05, 2005 9:05 pm    Post subject: Reply with quote

Quote:
Can I run multiple OpenVPN tunnels on a single machine?

Yes, of course.

If you are running 2 or more OpenVPN instances on the same machine, you will need a separate virtual TUN/TAP adapter and a separate port (using the port directive) for each instance.

Make sure each TUN/TAP adapter has a unique, non-overlapping subnet using server, server-bridge, or ifconfig.


J'ai peur.
Houuuuu, j'ai peur. :x
_________________
-TrueNAS & jails: µ-serv Gen8 E3-1260L, 16Go ECC + µ-serv N40L, 10Go ECC
-Réseau: APU2C4 (OpenWRT) + GS726Tv3 + 2x GS108Tv2 + Archer C5v1 (OpenWRT)
Back to top
View user's profile Send private message
guilc
Bodhisattva
Bodhisattva


Joined: 15 Nov 2003
Posts: 3326
Location: Paris - France

PostPosted: Sat Nov 05, 2005 10:03 pm    Post subject: Reply with quote

Ma conf du serveur :
Code:
proto udp
port 24441
dev tun
ca /etc/ssl/certs/XwingCA.pem
cert openvpn.crt
key openvpn.key
crl-verify /pub/www/ssl/ca-crl.pem
dh dh2048.pem
server 192.168.14.0 255.255.255.0
ifconfig-pool-persist ipp.txt
client-to-client
keepalive 10 120
tls-auth ta.key 0
cipher AES-256-CBC
comp-lzo
user nobody
group nogroup
status openvpn-status.log
verb 2
client-config-dir client-config
route 192.168.0.0 255.255.255.0
push "route 192.168.0.0 255.255.255.0"

Et sur les clients (au certificat près, qui est spécifique a chaque machine bien sur) :
Code:
client
dev tun
proto udp
remote MON_IP 24441
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
ca /etc/ssl/certs/XwingCA.pem
cert r2d2-openvpn-client.crt
key r2d2-openvpn-client.key
ns-cert-type server
tls-auth ta.key 1
cipher AES-256-CBC
comp-lzo
verb 2

Et avec ça, les clients se voient entre eux avec un seul vpn bien sur (grace a client-to-client)
_________________
Merci de respecter les règles du forum.

Mon site perso : https://www.xwing.info
Mon PORTDIR_OVERLAY : https://gentoo.xwing.info ou layman -a xwing
Back to top
View user's profile Send private message
El_Goretto
Moderator
Moderator


Joined: 29 May 2004
Posts: 3169
Location: Paris

PostPosted: Sun Nov 06, 2005 3:17 pm    Post subject: Reply with quote

JE te remercie pour ton paramètre magique guilc, je vais abandonner, car ifconfig ne permet que d'avoir un seul tunnel à la fois.
Tan pix. Ceci dit, avant que je parte sur full certifs, est-ce qu'il y a moyen de ne créer qu'une seule paire clé/certif pour un client, et les distribuer à tous les clients sans que ça mette la zone?
_________________
-TrueNAS & jails: µ-serv Gen8 E3-1260L, 16Go ECC + µ-serv N40L, 10Go ECC
-Réseau: APU2C4 (OpenWRT) + GS726Tv3 + 2x GS108Tv2 + Archer C5v1 (OpenWRT)
Back to top
View user's profile Send private message
guilc
Bodhisattva
Bodhisattva


Joined: 15 Nov 2003
Posts: 3326
Location: Paris - France

PostPosted: Sun Nov 06, 2005 3:27 pm    Post subject: Reply with quote

El_Goretto wrote:
JE te remercie pour ton paramètre magique guilc, je vais abandonner, car ifconfig ne permet que d'avoir un seul tunnel à la fois.

Je vois pas le problème, avec ça, chez moi, j'ai une seule interface tun0 sur chacun des clients, une seule interface sur le serveur VPN, et les clients se voient entre eux pâr l'intermédiaire du serveur VPN... :
Code:
# ip addr | grep tun
90: tun0: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1500 qdisc pfifo_fast qlen 100
    inet 192.168.14.1 peer 192.168.14.2/32 scope global tun0
xwing 16:32 - 0.01 ~
# cat /etc/openvpn/openvpn-status.log
OpenVPN CLIENT LIST
Updated,Sun Nov  6 16:31:51 2005
Common Name,Real Address,Bytes Received,Bytes Sent,Connected Since
r2d2-openvpn-client,192.168.6.28:33030,2898764,3474081,Thu Nov  3 23:19:06 2005
idealx-openvpn-client,213.41.87.82:57385,3109864,2673568,Thu Nov  3 23:19:08 2005
tiscali-openvpn-client,213.36.81.212:45939,2523120,2449883,Thu Nov  3 23:19:09 2005
ROUTING TABLE
Virtual Address,Common Name,Real Address,Last Ref
192.168.0.0/24,idealx-openvpn-client,213.41.87.82:57385,Thu Nov  3 23:19:25 2005
192.168.14.10,idealx-openvpn-client,213.41.87.82:57385,Sat Nov  5 14:21:01 2005
192.168.14.22,tiscali-openvpn-client,213.36.81.212:45939,Sun Nov  6 16:27:56 2005
192.168.14.6,r2d2-openvpn-client,192.168.6.28:33030,Sun Nov  6 16:27:56 2005
GLOBAL STATS
Max bcast/mcast queue length,1
END

El_Goretto wrote:
Tan pix. Ceci dit, avant que je parte sur full certifs, est-ce qu'il y a moyen de ne créer qu'une seule paire clé/certif pour un client, et les distribuer à tous les clients sans que ça mette la zone?

Ca doit etre possible, mais par contre les clients ne retrouveront pas leur ip toujours la même : le paramètre "ifconfig-pool-persist ipp.txt" qui permet de mémoriser les ip des machines les identifies par leur certificat... donc si elles ont toutes le meme certificat, elles prendront la première ip dispo a chaque fois...
Mais bon, je t'encourage quand meme a faire ça proprement, ça te permettra de bien vérouiller ton vpn et te pouvoir bloquer des machines le cas échéant (une machine compromise, ça arrive)...
_________________
Merci de respecter les règles du forum.

Mon site perso : https://www.xwing.info
Mon PORTDIR_OVERLAY : https://gentoo.xwing.info ou layman -a xwing
Back to top
View user's profile Send private message
El_Goretto
Moderator
Moderator


Joined: 29 May 2004
Posts: 3169
Location: Paris

PostPosted: Sun Nov 06, 2005 3:40 pm    Post subject: Reply with quote

guilc wrote:
El_Goretto wrote:
JE te remercie pour ton paramètre magique guilc, je vais abandonner, car ifconfig ne permet que d'avoir un seul tunnel à la fois.

Je vois pas le problème, avec ça, chez moi, j'ai une seule interface tun0 sur chacun des clients, une seule interface sur le serveur VPN, et les clients se voient entre eux pâr l'intermédiaire du serveur VPN... :

Erf, désolé, je me suis mal exprimé, je voulais dire "j'abandonne mon idée de passer par preshared key". Parce que OpenVPN je compte quand même bien l'utiliser avec les certificats finalement :)

guilc wrote:
Ca doit etre possible, mais par contre les clients ne retrouveront pas leur ip toujours la même : le paramètre "ifconfig-pool-persist ipp.txt" qui permet de mémoriser les ip des machines les identifies par leur certificat... donc si elles ont toutes le meme certificat, elles prendront la première ip dispo a chaque fois...
Mais bon, je t'encourage quand meme a faire ça proprement, ça te permettra de bien vérouiller ton vpn et te pouvoir bloquer des machines le cas échéant (une machine compromise, ça arrive)...

Si j'ai bien compris, je dirais que ce n'est pas un problème si les IPs ne sont pas "fixes" dans le VPN pour un client. Je suis tout à fait d'accord pour la sécurité (parano, mais presque), mais encore une fois, vu l'objectif (... les jeux... sans compression ni chiffrement dans le VPN) et vu que je ne lancerai le VPN côté serveur qu'à la demande, je pense que çà ira largement.

Sans compter que je vais configurer iptables pour que le subnet du VPN ne puisse aller nulle part ailleurs (sur mon LAN ou la sortie WAN en particuliers).
D'ailleurs, sur ce point je suis un peu dérouté. Si ma politique est par défaut Drop, j'ai une règle à mettre en place ou pas, finalement? Le serveur ne devrait du coup pas avoir à faire de routage intra-VPN, avec le paramètre client-to-client (puisque c'est openvpn qui s'en charge en interne, si j'ai bien compris)?
_________________
-TrueNAS & jails: µ-serv Gen8 E3-1260L, 16Go ECC + µ-serv N40L, 10Go ECC
-Réseau: APU2C4 (OpenWRT) + GS726Tv3 + 2x GS108Tv2 + Archer C5v1 (OpenWRT)
Back to top
View user's profile Send private message
guilc
Bodhisattva
Bodhisattva


Joined: 15 Nov 2003
Posts: 3326
Location: Paris - France

PostPosted: Sun Nov 06, 2005 3:47 pm    Post subject: Reply with quote

El_Goretto wrote:
D'ailleurs, sur ce point je suis un peu dérouté. Si ma politique est par défaut Drop, j'ai une règle à mettre en place ou pas, finalement? Le serveur ne devrait du coup pas avoir à faire de routage intra-VPN, avec le paramètre client-to-client (puisque c'est openvpn qui s'en charge en interne, si j'ai bien compris)?

Il faut que tu autorises sur l'interface réseau sur laquelle openvpn écoute les connexions depuis les clients du VPN (normal).
Ensuite, les communications intra-vpn sont réglées par des regles classiques sur l'interface tun0, mais pas de routage. Tu firewalle ça comme si c'était des interfaces eth0... Exemple : si tu veux que le client A du VPN ait acces au port X du client B, il faut autoriser en INPUT les connexions sur le port X du client B. Mais rien de spécial au niveau du serveur VPN, en particulier, aucune regle de FORWARD n'est nécessaire.
Si c'est pas clair, je peux faire ça en détail ;)
_________________
Merci de respecter les règles du forum.

Mon site perso : https://www.xwing.info
Mon PORTDIR_OVERLAY : https://gentoo.xwing.info ou layman -a xwing
Back to top
View user's profile Send private message
El_Goretto
Moderator
Moderator


Joined: 29 May 2004
Posts: 3169
Location: Paris

PostPosted: Sun Nov 06, 2005 3:54 pm    Post subject: Reply with quote

Mmmmm, en gros je voudrais ne rien limiter à l'intérieur du VPN, que tous les clients ne soient pas limités en plus par mon FW (pas facile de faire paramétrer correctement à tous le monde son fw personnel, alors si en plus je complique avec le mien...).
Est que 2 règles comme ceci suffiraient: autoriser le subnet VLAN en entrant et en sortie sur tun0.
_________________
-TrueNAS & jails: µ-serv Gen8 E3-1260L, 16Go ECC + µ-serv N40L, 10Go ECC
-Réseau: APU2C4 (OpenWRT) + GS726Tv3 + 2x GS108Tv2 + Archer C5v1 (OpenWRT)
Back to top
View user's profile Send private message
guilc
Bodhisattva
Bodhisattva


Joined: 15 Nov 2003
Posts: 3326
Location: Paris - France

PostPosted: Sun Nov 06, 2005 4:07 pm    Post subject: Reply with quote

El_Goretto wrote:
Mmmmm, en gros je voudrais ne rien limiter à l'intérieur du VPN, que tous les clients ne soient pas limités en plus par mon FW (pas facile de faire paramétrer correctement à tous le monde son fw personnel, alors si en plus je complique avec le mien...).
Est que 2 règles comme ceci suffiraient: autoriser le subnet VLAN en entrant et en sortie sur tun0.

Si tu veux tout autoriser sur le VPN, c'est simple :
Sur le serveur :
Code:
iptables -A INPUT -i VLAN_INTERFACE -p udp --dport PORT_VPN -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o VLAN_INTERFACE -p udp --sport PORT_VPN -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i tun0 -j ACCEPT
iptables -A OUTPUT -o tun0 -j ACCEPT


Sur les clients :
Code:
iptables -A INPUT -i VLAN_INTERFACE -p udp --sport PORT_VPN -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o VLAN_INTERFACE -p udp --dport PORT_VPN -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i tun0 -j ACCEPT
iptables -A OUTPUT -o tun0 -j ACCEPT

Et hop, c'est fini, le VPN n'est pas limité. (deux dernières regles dans chaque cas). Les deux premieres regles permettent aux clients de se connecter sur le serveur VPN.

[EDIT] Il faut bien voir que le VLAN ne sert ici qu'a connecter les clients aux VPN. Après, les limitations de trafic sur le VPN ne se font plus que sur les interfaces tun0. le tout étant encapsulé dans le VPN, donc au niveau VLAN tout passe par la connexion établie par le port PORT_VPN en udp (donc aucun moyen a ce niveau de mettre une quelconque limitation : c'est tout ou rien)...
_________________
Merci de respecter les règles du forum.

Mon site perso : https://www.xwing.info
Mon PORTDIR_OVERLAY : https://gentoo.xwing.info ou layman -a xwing
Back to top
View user's profile Send private message
El_Goretto
Moderator
Moderator


Joined: 29 May 2004
Posts: 3169
Location: Paris

PostPosted: Sun Nov 06, 2005 4:32 pm    Post subject: Reply with quote

Raaaah, merci guilc, toute ma reconnaissance et le michoko de l'amitié :)
Maintenant, à bibi de jouer.
_________________
-TrueNAS & jails: µ-serv Gen8 E3-1260L, 16Go ECC + µ-serv N40L, 10Go ECC
-Réseau: APU2C4 (OpenWRT) + GS726Tv3 + 2x GS108Tv2 + Archer C5v1 (OpenWRT)
Back to top
View user's profile Send private message
El_Goretto
Moderator
Moderator


Joined: 29 May 2004
Posts: 3169
Location: Paris

PostPosted: Tue Nov 08, 2005 5:11 pm    Post subject: Reply with quote

voilà, c'est fini, et çà fait ce que je veux, le paramètre magique étant duplicate-cn pour n'avoir qu'un seul couple certif/clé pour tous les clients. Ca m'a permis de créer une archive (fichier de conf, clé et certifs) directement distribuable et utilisable par les client VPN.

En détail:
Code:
port 1194
proto udp

dev tap

ca ca.crt
cert server.crt
key server.key
dh dh1024.pem

server 10.8.0.0 255.255.255.0
push "route 10.8.0.0 255.255.255.0"
duplicate-cn

keepalive 10 120
mssfix 1300
#comp-lzo
cipher none

persist-key
persist-tun
ping-timer-rem
verb 3
mute 5

client-to-client

user nobody
group nobody
daemon

_________________
-TrueNAS & jails: µ-serv Gen8 E3-1260L, 16Go ECC + µ-serv N40L, 10Go ECC
-Réseau: APU2C4 (OpenWRT) + GS726Tv3 + 2x GS108Tv2 + Archer C5v1 (OpenWRT)
Back to top
View user's profile Send private message
kopp
Advocate
Advocate


Joined: 09 Apr 2004
Posts: 2885
Location: Grenoble, France

PostPosted: Tue Nov 08, 2005 6:07 pm    Post subject: Reply with quote

Au passage, si y en a qui ne sont pas des malades du emerge sync && emerge -uD world
https://forums.gentoo.org/viewtopic.php?t=399369
...
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum