cClaude.rocks ☕ Le blog

[Nouvelles technologies du libre, sciences et coups de gueule…]

Menu
đŸ˜€ Ce billet a Ă©tĂ© Ă©ditĂ© le : 2023-07-18

Comment accĂ©der Ă  vos machines derriĂšre votre Freebox alors que vous n'ĂȘtes pas chez vous. Ou comment accĂ©der Ă  votre rĂ©seau local depuis internet.

Ce billet peut également répondre aux questions:

  • Comment utiliser votre connexion internet de votre domicile pour naviguer sur internet alors que vous n’ĂȘtes pas chez vous ?
  • Comment prendre la main sur des machines de votre rĂ©seau (ou celui d’un tiers ayant votre confiance) Ă  distance ?

Dans ce billet, nous allons regarder comment faire cela pour des personnes ayant une Freebox et une machine sous Linux.


ඏ

Ce billet implique que votre Freebox voit votre rĂ©seau interne, et ce n’est certainement pas une solution acceptable pour toute personne considĂ©rant que son rĂ©seau internet doit ĂȘtre protĂ©gĂ© par un Firewall physique (une machine dĂ©diĂ©e).

Cette configuration doit ĂȘtre faite avant d’en avoir besoin, derriĂšre votre Freebox.


Configuration de la « Freebox »

La premiĂšre Ă©tape consiste Ă  configurer et activer le service VPN de votre Freebox.

Depuis votre navigateur, ouvrez l’interface d’administration de votre Freebox: http://maFreebox.freebox.fr

  • Lancer l’application « ParamĂštres de la Freebox » et passez en « Mode avancé » si ce n’est pas dĂ©jĂ  le cas.
  • Lancer l’application « VPN Serveur ».

  • Initialement tous les services VPN sont dĂ©sactivĂ©s.

  • Dans « utilisateurs », cliquer sur ajouter un « utilisateur ».

  • CrĂ©er un utilisateur avec un « Login » et un « mot de passe » puis « sauvegarder ».

  • SĂ©lection « OpenVPN routé » qui est probablement dĂ©sactivĂ©.

  • Activer le service « OpenVPN routé » et « sauvegarder » la configuration pour l’utilisateur concernĂ©,
  • Cela tĂ©lĂ©chargera un fichier nommĂ© config_openvpn_routed_USERNAME.ovpn.

  • Dans « État », vĂ©rifier que le service soit actif.

ඏ

Configuration de votre Linux

En premier lieu vous aurez besoin de plusieurs paquets, que vous pouvez installer comme suit :

sudo apt install openvpn bridge-utils network-manager-openvpn network-manager-openvpn-gnome

Il se peut que certains de ces paquets soit dĂ©jĂ  prĂ©sent, l’installation les ignorera. Sur une machine « headless » (un serveur sans interface graphique) vous prendrez garde Ă  ne pas installer le paquet « gnome ».

Ensuite vous devez démarrer le service :

sudo systemctl start openvpn

Puis l’activer pour se lance au prochain redĂ©marrage de votre machine :

sudo systemctl enable openvpn

Vérifier son état est une bonne idée :

sudo systemctl status openvpn

Alors que vous n’avez pas encore configurĂ© le VPN, constater les interfaces rĂ©seaux disponibles sur votre machine :

ip --json link

Ou pour un affichage plus clair :

ip --json link |
  jq -c '.[] | select( .flags | index( "UP" ) ) | { ifindex, ifname }'
{"ifindex":1,"ifname":"lo"}
{"ifindex":2,"ifname":"enp3s0"}
{"ifindex":4,"ifname":"docker0"}

Rappelons-nous que la configuration d’OpenVPN se trouve dans le fichier config_openvpn_routed_USERNAME.ovpn tĂ©lĂ©chargĂ© depuis la Freebox Ă  partir de lĂ  deux options s’offre Ă  vous :

  • DĂ©marrer OpenVNP depuis la ligne de commande : C’est plus contraignant, mais j’obtiens un rĂ©seau plus stable avec cette solution,
  • DĂ©marrer OpenVNP depuis le bureau, c’est un peu plus compliquĂ© Ă  configurer, mais plus simple Ă  l’usage.

Configuration du VPN sur Linux depuis la ligne de commande

Pour dĂ©marrer le VPN depuis la ligne de commande c’est plutĂŽt simple mais, les droits administrateurs sont requis, car on ajoute une interface rĂ©seau au niveau du systĂšme.

sudo openvpn --config /chemin/fichier/config_openvpn_routed_USERNAME.ovpn

Par exemple :

sudo openvpn --config ~/Downloads/config_openvpn_routed_cclaude.ovpn

Vous devrez donner le mot de passe correspondant Ă  votre compte local pour la commande sudo, ensuite le nom d’utilisateur dĂ©fini pour le rĂ©seau VPN ainsi que le mot de passe correspondant.

2022-11-28 13:05:25 DEPRECATED OPTION: --cipher set to 'AES-128-CBC' but missing in --data-ciphers (AES-256-GCM:AES-128-GCM). Future OpenVPN version will ignore --cipher for cipher negotiations. Add 'AES-128-CBC' to --data-ciphers or change --cipher 'AES-128-CBC' to --data-ciphers-fallback 'AES-128-CBC' to silence this warning.
2022-11-28 13:05:25 OpenVPN 2.5.5 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Jul 14 2022
2022-11-28 13:05:25 library versions: OpenSSL 3.0.2 15 Mar 2022, LZO 2.10
Enter Auth Username: cclaude
🔐 Enter Auth Password: ******************************
2022-11-28 13:05:43 TCP/UDP: Preserving recently used remote address: [AF_INET]123.456.78.90:14814
2022-11-28 13:05:43 UDP link local: (not bound)
2022-11-28 13:05:43 UDP link remote: [AF_INET]123.456.78.90:14814
2022-11-28 13:05:43 [Freebox OpenVPN server deadf00ddeadf00d432bb2b3deadf00d] Peer Connection Initiated with [AF_INET]82.123.456.78:14814
2022-11-28 13:05:44 TUN/TAP device tun0 opened
2022-11-28 13:05:44 net_iface_mtu_set: mtu 1500 for tun0
2022-11-28 13:05:44 net_iface_up: set tun0 up
2022-11-28 13:05:44 net_addr_ptp_v4_add: 192.168.27.66 peer 12.34.56.78 dev tun0
2022-11-28 13:05:44 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
2022-11-28 13:05:44 Initialization Sequence Completed
ip --json link |
  jq -c '.[] | select( .flags | index( "UP" ) ) | { ifindex, ifname }'
{"ifindex":1,"ifname":"lo"}
{"ifindex":2,"ifname":"enp3s0"}
{"ifindex":4,"ifname":"docker0"}
{"ifindex":10,"ifname":"tun0"}

De maniÚre générale pour récupérer les informations de la connexion VPN si elle est active, vous pouvez utiliser :

Concernant le périphérique réseau :

ip --json link | jq -c '.[] | select( (.flags | index( "POINTOPOINT")) and (.flags | index ("UP")) )'

Si c’est la couche IP, vous pouvez utiliser :

ip --json address | jq -c '.[] | select( (.flags | index( "POINTOPOINT")) and (.flags | index ("UP")) )'

Configuration du VPN sur Linux depuis le bureau

Cette partie fera l’objet d’un autre billet.


ඏ

Considération autour de la sécurité

  • Utilisez votre propre serveur VPN, pas celui de votre opĂ©rateur rĂ©seau.
  • N’activer le serveur VPN qu’à la demande
  • Mettez vos machines derniĂšres un Firewall physique, qui sur lequel sera votre serveur VPN.

ඏ

Liens

኿


â„č 2006 - 2024 | 🏠 Accueil du domaine | 🏡 Accueil du blog