Il existe des tâches où vous devez accéder à un équipement situé sur un réseau local avec accès à Internet, mais sans adresse IP externe. Dans ce cas, il peut y avoir plusieurs réseaux et appareils locaux. Il existe plusieurs services différents pour cela. Dans cet exemple, nous examinerons l'installation d'un service PPTP sur un serveur VDS exécutant Debian 12.
Notre objectif est de configurer la partie serveur du service, à laquelle nous pouvons connecter des appareils du réseau local et ainsi y accéder à distance, puisque le serveur VDS dispose d'une IP dédiée.
Par exemple : Vous avez installé dans votre bureau ou votre maison de campagne un serveur qui se connecte via Internet mobile. Souvent, les opérateurs mobiles ne fournissent pas d’adresse IP permanente et dédiée aux particuliers. Afin de pouvoir s'y connecter via Internet, nous configurerons la partie serveur du service PPTP sur VDS Debian 12, et votre serveur domestique comme partie client, où il se connectera au serveur.
1. Installation de services
apt install ppp pptpd
1.1 Configuration du service PPTP /etc/pptpd.conf
Décidons du réseau local et apportons la configuration au formulaire
localip 10.10.10.1
remoteip 10.10.10.2-254
Si vous avez commandé un serveur avec plusieurs adresses IP externes, vous pouvez ajouter une ligne qui indiquera clairement sur quelle IP notre service fonctionnera.
listen external_ip
1.2 Ajouter des options à la fin du fichier /etc/ppp/pptpd-options
mtu 1400
mru 1400
auth
require-mppe
Modifier les paramètres si nécessaire
ms-dns 8.8.8.8
ms-dns 8.8.4.4
1.3 Décommentez l'option /etc/sysctl.conf
net.ipv4.ip_forward=1
Appliquez les paramètres :
sysctl -p
1.4 Mettons en place un pare-feu, dans notre cas iptables
apt install iptables
1.4.1 Ajouter des règles, où eth0 est le nom de l'interface externe
iptables -A INPUT -p gre -j ACCEPT
iptables -A INPUT -m tcp -p tcp --dport 1723 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
1.4.2 Activation du réseau local entre les clients connectés, où eth0 est le nom de l'interface externe
iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
iptables -I INPUT -s 10.10.10.0/24 -i ppp0 -j ACCEPT
iptables --append FORWARD --in-interface eth0 -j ACCEPT
1.4.3 Désactivation de l'accès à Internet via le serveur VDS
Si nécessaire, lorsque le but est de combiner les réseaux locaux et d'accéder aux équipements locaux pour que les appareils continuent à utiliser leur Internet, ajoutez une règle où eth0 est l'interface avec l'ip externe.
iptables -I FORWARD -s 10.10.10.0/24 -o eth0 -j DROP
Faites attention à la partie client, vous devrez décocher l'option Utiliser la passerelle par défaut sur le réseau distant. Nous fédérerons les réseaux locaux, mais l'accès à Internet se fera via un fournisseur local, et non via un serveur VDS.
1.4.4 Sauvons les règles
iptables-save > /etc/iptables.conf
1.4.5 Ajouter des règles au démarrage, ajouter une ligne à la fin du fichier /etc/network/interfaces
pre-up /sbin/iptables-restore < /etc/iptables.conf
1.5 Ajouter des utilisateurs au fichier /etc/ppp/chap-secrets
Dans cet exemple, l'utilisateur 1 se voit attribuer n'importe quelle adresse IP libre, tandis que l'utilisateur 2 recevra toujours une adresse IP statique.
user1 pptpd password1 "*"
user2 pptpd password2 "10.10.10.10"
1.6 Ajouter au démarrage et appliquer les paramètres
systemctl enable pptpd
service pptpd restart
2. Afficher les connexions actives
Vous pouvez voir toutes les connexions actives et leurs adresses IP à l'aide de commandes.
2.1 Utiliser ifconfig
ppp0 : flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1396
inet 10.10.10.1 masque de réseau 255.255.255.255 destination 10.10.10.2
ppp txqueuelen 3 (protocole point à point)
Paquets RX 323 octets 49503 (48,3 Ko)
Erreurs RX 0 abandonné 0 dépassement 0 image 0
Paquets TX 22 octets 626 (626,0 B)
Erreurs TX 0 abandonné 0 dépassement 0 transporteur 0 collision 0
ppp1 : flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1396
inet 10.10.10.1 masque de réseau 255.255.255.255 destination 10.10.10.10
ppp txqueuelen 3 (protocole point à point)
Paquets RX 24 octets 896 (896,0 B)
Erreurs RX 0 abandonné 0 dépassement 0 image 0
Paquets TX 24 octets 890 (890,0 B)
Erreurs TX 0 abandonné 0 dépassement 0 transporteur 0 collision 0
2.2 Utiliser l'itinéraire
10.10.10.2 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
10.10.10.10 0.0.0.0 255.255.255.255 UH 0 0 0 ppp1
2.3 Utilisation du statut pptpd du service
pptpd.service - PoPToP Point to Point Tunneling Server
Loaded: loaded (/lib/systemd/system/pptpd.service; enabled; preset: enabled)
Active: active (running) since Thu 2024-03-07 13:42:51 MSK; 4h 5min ago
Docs: man:pptpd(8)
man:pptpctrl(8)
man:pptpd.conf(5)
Main PID: 480 (pptpd)
Tasks: 5 (limit: 1099)
Memory: 4.3M
CPU: 9.462s
CGroup: /system.slice/pptpd.service
├─480 /usr/sbin/pptpd --fg
├─605 "pptpd [123.123.123.123:97EE - 0400]"
├─606 /usr/sbin/pppd local file /etc/ppp/pptpd-options 115200 10.10.10.1:10.10.10.3 ipparam 123.123.123.123 plugin /usr/lib/pptpd/pptpd-logwtmp.so pptpd-original-ip 123.123.123.123>
├─986 "pptpd [123.123.123.123:D114 - 0580]"
└─987 /usr/sbin/pppd local file /etc/ppp/pptpd-options 115200 10.10.10.1:10.10.10.2 ipparam 123.123.123.123 plugin /usr/lib/pptpd/pptpd-logwtmp.so pptpd-original-ip 123.123.123.123>
Le serveur est configuré et prêt pour les connexions.
Voir également:
- Configurer un client PPTP pour accéder à distance à un poste de travail Debian 12
- Configuration d'un client PPTP pour accéder à distance à un poste de travail Windows 10