Question Le moyen le plus simple de configurer Ubuntu en tant que serveur VPN


Je sais qu'il existe de nombreux tutoriels sur le net pour configurer le client et le serveur VPN.

Je vous en trouve un qui est simple / court, Je ne m'intéresse qu'à la partie serveur.

Pour le client, je vais utiliser OS X, donc je préfère une solution qui utilise L2TP over IPsec ou PPTP parce que je suppose que Cisco IPsec coûterait quelque chose.

Je ne veux pas passer trop d'heures à le configurer. Vous savez, peut-être que quelqu'un a déjà créé un script d'installation :)

Note: J'utilise une micro-instance EC2 exécutant Ubuntu 12.04.


68
2018-04-06 20:47


origine


Note: CISCO IPSec peut être réalisé via StrongSwan et beaucoup de configuration, mais c'est difficile. PPTP n'est plus sécurisé. ANd L2TP over IPSec nécessite à la fois une configuration L2TP et IPSec. Choisissez à votre guise, bien que ma réponse explique PPTP - Thomas Ward♦


Réponses:


METTRE À JOUR: À partir de Sierra, macOS ne prend plus en charge le VPN PPTP. Cette réponse n'est pas valable pour les clients macOS Sierra et au-delà.

PPTP via PoPToP est facile

  1. apt-get install pptpd
  2. modifier /etc/pptpd.conf et définissez l'option remoteip sur une plage de votre réseau qui n'est PAS desservie par votre serveur DHCP.
  3. modifier /etc/ppp/chap-secrets et ajoutez un nom d'utilisateur et un mot de passe

par exemple.

vpnuser pptpd vpnpassword *

C'est tout ce qu'il faut pour configurer pptp. Maintenant, testez-le avec votre client OS X.


23
2018-04-06 21:24



Je me demande également quelles sont les valeurs de localip et de remoteip les plus sûres, étant donné que je vais me connecter à ce serveur depuis n'importe quel endroit. Définitivement les valeurs par défaut avec 192.168.0. et 192.168.1. sont probablement l'un des pires possibles. - sorin
12 mai 13:28:06 zork pppd [9447]: Plugin /usr/lib/pptpd/pptpd-logwtmp.so chargé. 12 mai 13:28:06 zork pppd [9447]: pppd 2.4.5 démarré par root, uid 0 mai 12 13:28:06 zork pppd [9447]: Utilisation de l'interface ppp0 12 mai 13:28:06 zork pppd [9447 ]: Connect: ppp0 <-> / dev / pts / 3 mai 12 13:28:36 zork pppd [9447]: Hangup (SIGHUP) 12 mai 13:28:36 zork pppd [9447]: raccrochage du modem 12 mai 13 : 28: 36 zork pppd [9447]: la connexion est terminée. 12 mai 13:28:36 zork pppd [9447]: Quitter. Ca ne marche pas encore! Votre guide est incomplet (encore);) - sorin
Ouais ça ne marche pas. - bkerensa
n'a pas fonctionné pour moi - Tyler Gillies
@SorinSbarnea ces ips sont privées et ne passent jamais par Internet, alors je ne sais pas ce que vous entendez par "plus sûr". Vous aurez de la chance si elles ne correspondent pas à la même plage d'adresses IP que le café ou le lieu de travail à partir duquel vous vous connectez. Essayez 192.168.42. * :) - Jay _silly_evarlast_ Wren


AVERTISSEMENT: PPTP EST UN PROTOCOLE D'INSECURE! Non seulement le chiffrement a été violé, mais il envoie votre authentification en texte clair et est facilement intercepté. Il a été estimé que le temps nécessaire pour forcer le mot de passe est à peu près équivalent au temps nécessaire pour forcer une seule clé DES. Pensez à utiliser OpenVPN ou une autre architecture VPN au lieu de PPTP!

j'ai utilisé ce guide configurer un serveur VPN PPTP sur mon serveur Ubuntu 12.04.


Pour résumer les principaux points du lien:

1: installer pptpd et ufw. iptables peut être utilisé à la place de ufw, mais par souci de facilité, ufw c'est mieux si tu ne sais pas iptables.

sudo apt-get install pptpd ufw

2: Ouvrez les ports nécessaires. Le guide suggère 22 (SSH) et 1723 pour le VPN pptp.

sudo ufw permettre 22
sudo ufw permettre 1723
sudo ufw activer

3: Modifier /etc/ppp/pptpd-options. Ouvrez le fichier avec votre éditeur favori (le nano du mien, donc la commande pour moi est sudo nano /etc/ppp/pptpd-options), et commenter ces lignes en mettant un # avant eux, si vous voulez que cela fonctionne universellement sur tous les systèmes d'exploitation:

déchet-pap
ordures
refuser-mschap

Vous pouvez commenter cette ligne si vous souhaitez désactiver le chiffrement: require-mppe-128

4: Pendant l'édition /etc/ppp/pptpd-options, ajoutez des serveurs DNS pour le VPN. Cet exemple utilise des serveurs OpenDNS:

ms-dns 208.67.222.222
ms-dns 208.67.220.220

5: Modifier /etc/pptpd.conf. Ouvrez le fichier avec votre éditeur favori (le nano du mien, donc la commande pour moi est sudo nano /etc/pptpd.conf). Vous devez ajouter les adresses IP VPN locales pour le système, alors ajoutez:

localip 10.99.99.99
remoteip 10.99.99.100-199

Si votre système est un VPS, utilisez l'adresse IP publique pour "localip". Si ce n'est pas le cas et se trouve sur un réseau local, utilisez l'adresse IP réseau de votre ordinateur. Utilisez des adresses IP et des plages différentes si ces adresses IP existent sur votre sous-réseau! Si vous ne connaissez pas votre adresse IP publique de votre VPS, trouvez-la en cours d'exécution dig +short myip.opendns.com @resolver1.opendns.com

6: Modifier /etc/ppp/chap-secrets. Ouvrez le fichier avec votre éditeur favori (le nano du mien, donc la commande pour moi est sudo nano /etc/ppp/chap-secrets), et ajoutez les données d’authentification.
Le format pour /etc/ppp/chap-secrets est:

[Nom d'utilisateur] [Service] [Mot de passe] [Adresse IP autorisée]

Un exemple serait: sampleuser pptpd samplepassword *

7: Redémarrez pptpd. Exécutez cette commande dans le terminal: sudo /etc/init.d/pptpd restart

8: Modifier /etc/sysctl.conf. Ouvrez le fichier avec votre éditeur favori (le nano du mien, donc la commande pour moi est sudo nano /etc/sysctl.conf). Supprimer la commentaire suivante (en supprimant la # au début) en /etc/sysctl.conf: net.ipv4.ip_forward=1
Rechargez la configuration: sudo sysctl -p

9: Cette étape suppose que vous avez ufw.
modifier /etc/default/ufw et changez l'option DEFAULT_FORWARD_POLICY de DROP à ACCEPT

dix: Cette étape suppose que vous avez ufw.
modifier /etc/ufw/before.rules, et ajoutez ce qui suit soit au début de /etc/ufw/before.rules ou juste avant le *filter règles (recommandé):

# Règles de la table NAT
* nat

: POSTROUTING ACCEPT [0: 0]
# Autoriser le trafic vers eth0
-A POSTROUTING -s 10.99.99.0/24 -o eth0 -j MASQUERADE

# Traiter les règles de la table NAT
COMMETTRE

Si vous avez la version de noyau 3.18 et plus récente (vous pouvez vérifier cela en exécutant uname -r), ajoutez également les lignes suivantes avant le # drop INVALID packets ... ligne:

-A ufw-before-input -p 47 -j ACCEPT

11: Redémarrez le pare-feu, pour actualiser les jeux de règles et appliquer les règles que nous avons ajoutées au /etc/ufw/*.rules des dossiers: sudo ufw disable && sudo ufw enable

Attention: Si vous avez d'autres ports à ouvrir, tels que HTTPS si votre serveur héberge un site Web, vous devez ajouter individuellement ces ports à la liste autorisée avec sudo ufw allow <PORT>


86
2018-06-07 19:47



Maintenant, que dois-je faire: D Je travaille sur le serveur, je ne sais pas comment s'y connecter lol - Jamie Hutber
@Jamie Il y a une tonne d'autres documents et entrées ici sur Ask Ubuntu sur la connexion à un VPN pour ne pas mentionner la documentation dans Network Manager. Cette question concerne uniquement la configuration du VPN et du côté serveur. PAS la connexion à la partie. - Thomas Ward♦
: D réponse rapide: D Je pense que je l'ai peut-être réglé, je dois juste mettre quelque chose de mal. Ceci dit, ufw est actif et autorise la plupart des ports. Je vais jouer avec iptables voir si ça me fait quand même - Jamie Hutber
@Jamie Je peux vous donner les commandes iptables à utiliser quand je rentre à la maison, vous préférez iptables à ufw. - Thomas Ward♦
iptables / netfilter est utilisé avec ufw, ufw est juste plus agréable avec les règles et la gestion des commandes pour les utilisateurs finaux. - Thomas Ward♦


PPTP VPN sur Ubuntu 12.04 Exemple

Voici un tutoriel rapide pour configurer un serveur VPN PPTP de base sur Ubuntu 12.04.

Installer les paquets nécessaires

                          sudo apt-get install ppp pptpd

Configurer les plages IP PPTP sur le serveur

                          sudo nano /etc/pptpd.conf

Ajoutez les lignes suivantes à la fin

                          localip 10.89.64.1
                          remoteip 10.89.64.100-150

Cela configure le serveur PPTP pour utiliser IP 10.89.64.1 lors de la distribution de la plage d'adresses IP 10.89.64.100 à 10.89.64.150 aux clients PPTP. Changez-les comme vous le souhaitez tant qu'elles sont des adresses IP privées et n'entrent pas en conflit avec les adresses IP déjà utilisées par votre serveur.

Configurer les serveurs DNS à utiliser lorsque les clients se connectent à ce serveur PPTP

                          sudo nano /etc/ppp/pptpd-options

Modifier OU Ajoutez les lignes suivantes à la fin

                          ms-dns 8.8.8.8
                          ms-dns 8.8.4.4

Créer un utilisateur PPTP

                          sudo nano /etc/ppp/chap-secrets

Ajoutez une ligne en bas pour que votre fichier ressemble à:

                          # client    server  secret          IP addresses
                          test        pptpd   abcd1234        *

Configurer le NAT pour les connexions PPTP

Sans cette étape, vous pourrez vous connecter mais votre connexion ne pourra pas charger de connexion Web à partir de ce serveur.

                          sudo nano /etc/rc.local

Ajoutez ce qui suit en bas à droite avant la ligne «exit 0»:

                          iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

En supposant que eth0, vous pouvez utiliser ifconfig pour vérifier le nom du réseau.

Activer IPv4 pour le wading:

                          sudo nano /etc/sysctl.conf

Décommentez la ligne suivante:

                          net.ipv4.ip_forward=1

Ensuite, rechargez la configuration:

                          sudo sysctl -p

Redémarrez votre VPS et tout devrait fonctionner parfaitement depuis n'importe quel client PPTP.


Configuration côté client

Pour Mac, assurez-vous d'avoir ajouté une connexion VPN PPTP. En outre, il vous suffit de configurer l'adresse du serveur, le nom du compte et le mot de passe dans les paramètres d'authentification. Pas de douleur ici.

Pour Linux, NetworkManager ajoute des connexions VPN. Assurez-vous d'avoir ajouté la connexion VPN PPTP. Et la configuration que j'utilise est ici:

Comment déboguer et réparer la connexion client PPTP / VPN

enter image description here

Et pour Windows

enter image description here


19
2018-06-10 14:09



Cette méthode fonctionne-t-elle également sur Ubuntu 12.04 édition non serveur? Quel numéro IP le client doit-il utiliser pour se connecter à ce réseau VPN? - Rasoul
Oui, c'est aussi pour l'édition non-serveur, vous devez utiliser ip serveur sur le client pour vous connecter à vpn @Rasoul - Qasim
Ne fonctionne pas, serveur Ubuntu 13.04. Client bloqué à la recherche de DNS. - knutole
@knutole vérifiez que vos règles IPTables sont correctement routées. Assurez-vous que vous avez l’interface en0 et qu’elle n’a pas d’autre nom. Vous devriez voir une adresse IP publique répertoriée. - Nick Woodhams
ok, donc, dans votre exemple quelle ip est ip du serveur? 10.89.64.1? Ensuite, dans le gestionnaire de réseau Ubuntu, le client listerait 10.89.64.1 comme passerelle? - dranxo


Les autres réponses sur ce fil n'étaient que des réponses partielles dans mon cas. Voici ce qui a fonctionné pour moi sur Ubuntu 12.04.3

sudo apt-get install pptpd

Ajoutez ce qui suit à /etc/pptpd.conf (l'adresse IP n'a pas d'importance, ce ne sont que des adresses IP pour votre interface ppp0).

localip 10.0.0.1
remoteip 10.0.0.100-200

Ajouter des serveurs DNS à / etc / ppp / pptpd-options

ms-dns 8.8.8.8
ms-dns 8.8.4.4

Activer le transfert IP

sudo vim /etc/sysctl.conf

Décommentez cette ligne

net.ipv4.ip_forward=1

Sauvegarder les modifications

sudo sysctl -p /etc/sysctl.conf

Editez / etc / ppp / chap-secrets, ajoutez un utilisateur VPN dans ce format:

# Secrets for authentication using CHAP
# client    server  secret          IP addresses
username pptpd supersecretpassword *

Redémarrer PPTP

service pptpd restart

Courir ifconfiget trouvez votre interface par défaut, dans mon cas c'était br0 (Je l’ai changé pour permettre aux machines virtuelles sur ma machine physique de partager l’interface. en0)

enter image description here

Sauvegarder iptables

iptables-save > ~/iptables.save

Maintenant, apportez vos modifications iptables en utilisant votre interface par défaut, comme révélé par ifconfig.

iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE
iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
iptables -I INPUT -s 10.0.0.0/8 -i ppp0 -j ACCEPT
iptables --append FORWARD --in-interface br0 -j ACCEPT

Pour le maintenir persistant lorsque votre système redémarre;

sudo apt-get install iptables-persistent

Ajouter un VPN sur un ordinateur client (Mac)

Préférences Système> Réseau> [+]> VPN

enter image description here

enter image description here

Choisissez ensuite Paramètres d'authentification> Mot de passe, puis entrez votre mot de passe ici

enter image description here


9
2017-11-20 06:58





Voici un joli projet qui résout la douleur d'OpenVPN:

https://github.com/Nyr/openvpn-install

Il suffit de l'exécuter et il installera open vpn et le configurera. A la fin, il va sortir un fichier client.ovpn que vous pouvez utiliser pour configurer votre client. Semble bien fonctionner.


6
2018-01-18 20:53



Vache sacrée Cela fonctionne juste. Je me demande pourquoi il n'a pas été largement reconnu. - Marcus