Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
tuto:ipasserelle:vpn:vpn_wrt [09/05/2011 16:49] dani [configurer openvpn] |
tuto:ipasserelle:vpn:vpn_wrt [16/01/2012 10:16] pierre [Configurer DHCP pour que le serveur WINS soit le serveur SME] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== VPN inter-site avec un Linksys WRT54G ====== | ====== VPN inter-site avec un Linksys WRT54G ====== | ||
+ | |||
La contrib smeserver-openvpn-s2s permet de créer des liens sécurisés entre plusieurs sites équipés de serveurs SME, mais il est également possible d' | La contrib smeserver-openvpn-s2s permet de créer des liens sécurisés entre plusieurs sites équipés de serveurs SME, mais il est également possible d' | ||
+ | |||
===== Flasher le WRT avec OpenWRT ===== | ===== Flasher le WRT avec OpenWRT ===== | ||
- | La première étape est de flasher le linksys avec un firmware OpenWRT (testé avec la version Kamikaze, car la version Backfire ne fonctionne pas à cause d'un manque de mémoire sur le WRT). | + | |
- | Ce firmware peut se trouver ici: http:// | + | |
+ | La première étape est de flasher le linksys avec un firmware OpenWRT (testé avec la version Kamikaze, car la version Backfire ne fonctionne pas à cause d'un manque de mémoire sur le WRT). Ce firmware peut se trouver ici: [[http:// | ||
Le flash peut se faire depuis l' | Le flash peut se faire depuis l' | ||
+ | |||
<code bash> | <code bash> | ||
- | tftp | + | tftp> binary> trace> put openwrt-wrt54g-squashfs.bin |
- | > binary | + | |
- | > trace | + | |
- | > put openwrt-wrt54g-squashfs.bin | + | |
</ | </ | ||
+ | |||
+ | |||
Puis de démarrer rapidement le WRT, qui devrait alors télécharger le firmware. | Puis de démarrer rapidement le WRT, qui devrait alors télécharger le firmware. | ||
+ | |||
===== Configuration du WRT ===== | ===== Configuration du WRT ===== | ||
- | Maintenant que le firmware est en place, vous pouvez accéder à l' | + | |
+ | |||
+ | Maintenant que le firmware est en place, vous pouvez accéder à l' | ||
==== boot_wait ==== | ==== boot_wait ==== | ||
+ | |||
+ | |||
La première chose à faire est d' | La première chose à faire est d' | ||
+ | |||
+ | |||
<code bash> | <code bash> | ||
nvram set boot_wait=on | nvram set boot_wait=on | ||
nvram commit | nvram commit | ||
</ | </ | ||
+ | |||
==== installer openvpn ==== | ==== installer openvpn ==== | ||
+ | |||
+ | |||
Pour installer openvpn, deux solutions: | Pour installer openvpn, deux solutions: | ||
- | | + | |
- | * En ligne de commande: | + | |
+ | | ||
+ | * En ligne de commande: | ||
+ | |||
< | < | ||
opkg update | opkg update | ||
opkg install openvpn | opkg install openvpn | ||
</ | </ | ||
+ | |||
Il est aussi conseillé d' | Il est aussi conseillé d' | ||
+ | |||
==== configurer openvpn ==== | ==== configurer openvpn ==== | ||
+ | |||
+ | |||
la configuration d' | la configuration d' | ||
- | <code bash> | + | |
- | mkdir -p / | + | <code bash> |
</ | </ | ||
+ | |||
+ | |||
Puis, on place dans ce répertoire les fichiers suivants: | Puis, on place dans ce répertoire les fichiers suivants: | ||
- | | + | |
- | * cert.pem (le certificat qui sera utilisé par le WRT, à générer avec PHPki par exemple) | + | |
- | * key.pem (la clef secrète associé au certificat, cette clef ne **doit pas** être protégée par mot de passe | + | * cert.pem (le certificat qui sera utilisé par le WRT, à générer avec PHPki par exemple) |
- | * takey.pem (optionnelle, | + | * key.pem (la clef secrète associé au certificat, cette clef ne **doit pas** être protégée par mot de passe |
- | * myvpn.conf (le fichier de configuration, | + | * takey.pem (optionnelle, |
+ | * myvpn.conf (le fichier de configuration, | ||
<file ovpn myvpn.conf> | <file ovpn myvpn.conf> | ||
Ligne 60: | Ligne 87: | ||
persist-key | persist-key | ||
persist-tun | persist-tun | ||
+ | |||
tls-client | tls-client | ||
ca / | ca / | ||
Ligne 68: | Ligne 95: | ||
ns-cert-type server | ns-cert-type server | ||
tls-remote vpn_smeserver | tls-remote vpn_smeserver | ||
+ | |||
route 192.168.137.0 255.255.255.0 | route 192.168.137.0 255.255.255.0 | ||
+ | |||
ifconfig 10.2.0.8 10.2.0.7 | ifconfig 10.2.0.8 10.2.0.7 | ||
+ | |||
ping 10 | ping 10 | ||
ping-restart 20 | ping-restart 20 | ||
+ | |||
mtu-test | mtu-test | ||
passtos | passtos | ||
+ | |||
comp-lzo adaptive | comp-lzo adaptive | ||
</ | </ | ||
+ | |||
Il faut aussi autoriser le trafic à passer dans le VPN: | Il faut aussi autoriser le trafic à passer dans le VPN: | ||
- | <code bash> | + | |
- | echo "/ | + | <code bash> |
- | echo "/ | + | echo "/ |
</ | </ | ||
+ | |||
==== Configurer le VPN pour un démarrage automatique ==== | ==== Configurer le VPN pour un démarrage automatique ==== | ||
- | Pour que le VPN se lance automatiquement au démarrage du WRT, il faut éditer le fichier **/ | ||
- | <code bash> | ||
- | package | + | Pour que le VPN se lance automatiquement au démarrage du WRT, il faut éditer le fichier **/ |
+ | |||
+ | <code bash> | ||
+ | package openvpn | ||
+ | |||
################################################# | ################################################# | ||
# Sample to include a custom config file. # | # Sample to include a custom config file. # | ||
################################################# | ################################################# | ||
+ | |||
config openvpn custom_config | config openvpn custom_config | ||
+ | |||
# Set to 1 to enable this instance: | # Set to 1 to enable this instance: | ||
option enable 1 | option enable 1 | ||
+ | |||
# Include OpenVPN configuration | # Include OpenVPN configuration | ||
option config / | option config / | ||
+ | |||
[...] | [...] | ||
</ | </ | ||
+ | |||
+ | |||
+ | Puis, activez le lancement automatique au démarrage: | ||
+ | |||
+ | |||
+ | <code bash>/ | ||
+ | </ | ||
+ | |||
==== Configurer le service DHCP pour que les clients utilisent le serveur SME comme DNS ==== | ==== Configurer le service DHCP pour que les clients utilisent le serveur SME comme DNS ==== | ||
+ | |||
+ | |||
Vous voudrait probablement que les clients DHCP du WRT (filaire ou wifi) utilisent le serveur SME comme serveur DNS (si c'est pas le cas, vous pouvez sauter cette partie). Cette configuration peut se faire via l' | Vous voudrait probablement que les clients DHCP du WRT (filaire ou wifi) utilisent le serveur SME comme serveur DNS (si c'est pas le cas, vous pouvez sauter cette partie). Cette configuration peut se faire via l' | ||
- | Dans la partie Administration | + | |
+ | Dans la partie Administration | ||
< | < | ||
6, | 6, | ||
</ | </ | ||
+ | |||
Dans cet exemple: | Dans cet exemple: | ||
- | * 6 est le numéro de l' | ||
- | * 192.168.137.254 est l'IP interne de votre serveur SME | ||
- | * 8.8.8.8 est un serveur DNS publique (là, c'est celui de google, mais vous pouvez le remplacer par le DNS du FAI). On le mets en 2° choix pour que les clients du WRT puissent quand même accéder au net si le lien VPN tombe. | ||
- | Il faut aussi configurer le nom du domaine pour la recherche. Ceci se configure dans la section Administration | + | |
+ | * 6 est le numéro de l' | ||
+ | * 192.168.137.254 est l'IP interne de votre serveur SME | ||
+ | * 8.8.8.8 est un serveur DNS publique (là, c'est celui de google, mais vous pouvez le remplacer par le DNS du FAI). On le mets en 2° choix pour que les clients du WRT puissent quand même accéder au net si le lien VPN tombe. | ||
+ | |||
+ | |||
+ | Il faut aussi configurer le nom du domaine pour la recherche. Ceci se configure dans la section Administration | ||
Voilà, le reste est à configurer selon vos envies, mais le VPN devrait être fonctionnel | Voilà, le reste est à configurer selon vos envies, mais le VPN devrait être fonctionnel | ||
+ | |||
+ | |||
+ | {{tag> | ||
+ | |||
+ | ==== Configurer DHCP pour que le serveur WINS soit le serveur SME ==== | ||
+ | |||
+ | Pour éviter que les clients du nouveau Lan broadcastent, | ||
+ | |||
+ | Dans certains cas, le VPNS2S est sur un lan différents, | ||
+ | |||
+ | < | ||
+ | 44, | ||
+ | |||
+ | Dans cet exemple : | ||
+ | |||
+ | * 44 est le numéro de l' | ||
+ | * 192.168.33.254 est l' |