cClaude.rocks ☕ Le blog

[Nouvelles technologies, sciences et coups de gueule…]

Menu

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 Ă  la question comment utiliser votre connexion internet de votre domicile pour naviguer sur internet alors que vous n’ĂȘtes pas chez vous.

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.

  • 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, les droits administrateurs sont requis, on ajoute quand mĂȘme 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 - 2023 | 🏠 Accueil du domaine | 🏡 Accueil du blog