Si vous avez des suggestion a me faire pour le choix du VPN, je mis perd un peu.
Je vais surement prendre 2 serveurs avec un hébergeur qui propose 16ip par machine, j’ai a ma disposition chez moi plusieurs serveurs. Je voudrai faire un VPN entre l’hébergeur et chez moi.
Première IP publique, que la redirection soit sur le réseau local en ex 192.168.10.x et ainsi de suite.
J’ai lu plein de truc différents, du coup c’est le bordel dans ma tête, merci pour vos lumières
d’où la question qui est tout sauf claire
Si tu cherches un applicatif OpenVpn est la référence…
Entre l’hébergeur et chez moi, ssh (scp, rsync over ssh, …) est nécessaire et suffisant …
Si tu cherches un fournisseur, il y a bcps et il faut regarder les tarfis, les zones proposées et surtout la politique de confidentialité/pays de référence.
En gros je souhaite remonter mes ip local vers un serveur.
1 serveur en location avec proxmox + nginx, je fait du proxy_pass sur des ip local donc qui sont chez moi.
Je pense qu’il faut faire du VPN pour que les ip local (qui sont chez moi) remonter sur les serveur loué. Donc au final je fait de la location de serveur pour avoir 32 IP mes avec les serveurs chez moi at home.
J’ai vu L2TP ethernet pseudowires par contre je ne sais pas si c’est le bon choix
Désoler mais je ne vois pas comment expliquer cela autrement
On remonte une horloge par exemple, mais en 2020 on doit bien pouvoir remonter des IP locales
Blague à part, il me semble qu’une option -L (ou -R) dans la page
man ssh
devrait être explorée. C’est plus bas niveau et besogneux qu’un Virtual Private Network, mais au moins on peut expérimenter pas à pas.
Il se peut que je sois complètement à côté de la plaque, l’expression « remonter des IP locales vers un serveur » m’échappe complètement.
Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة
F. Petitjean
Ingénieur civil du Génie Maritime.
« Ce que l’on conçoit bien s’énonce clairement,
Et les mots pour le dire arrivent aisément. »
Boileau De L’Art poétique (Chant I)
« Avant donc que d’écrire, apprenez à penser »
Boileau De L’Art poétique (Chant I)
Pour l’instant je fait des tests avec strongswan le tunnel monte bien juste un souci pour le vmbr qui n’arrive pas a communiquer avec l’interface
establishing CHILD_SA athome-vpn{28}
generating CREATE_CHILD_SA request 7 [ SA No KE TSi TSr ]
sending packet: from 148...[4500] to 46...[4500] (576 bytes)
received packet: from 46...[4500] to 148...[4500] (480 bytes)
parsed CREATE_CHILD_SA response 7 [ SA No KE TSi TSr ]
selected proposal: ESP:AES_CBC_256/HMAC_SHA2_256_128/MODP_2048/NO_EXT_SEQ
CHILD_SA athome-vpn{28} established with SPIs c74a6032_i ccfa4100_o and TS 10.0.1.0/24 === 10.0.2.1/32
connection ‘athome-vpn’ established successfully
@Doudou67 - Hello, je pense que tu ne maîtrises pas encore tout à fait les différentes couches du modèle OSI mais qu’il est important que tu te penches dessus.
En gros :
Ethernet, MAC, pseudo-wire ou les interfaces tap sont la couche / layer 2. Aiguiller des données de cette couche se fait avec des commutateurs / switchs ou des bridges (des switchs purement logiciels) comme le bridge vmbr0 mis en place par Proxmox VE.
IPv4 ou IPv6 sont la couche / layer 3. Qui, selon le modèle OSI, utilisent (sont encapsulés dans) la couche 2. Aiguillier les données de cette couche est appelé du routage / routing, ce qui est fait par des routeurs / passerelles / gateways. Du routage est nécessaire entre les différents domaines en couche 2, comme par exemple entre deux réseaux Ethernet.
TCP, UDP et autres sont la couche / layer 4. Qui sont encapsulés dans la couche 3.
Il existe des dizaines de technologies différentes pour faire un tunnel / VPN. Tu utilises apparemment IPSEC/ESP, qui fait transiter de l’IP, de la couche 3.
Il faut donc mettre du routage pour que ta VM faisant fonctionner nginx puisse envoyer des données / des paquets IP à destination des serveurs web situés chez toi.
Si besoin, nous pourrons t’expliquer les bases du routage pour réaliser ce que tu veux faire. Mais il me semblait important de clarifier ces aspects fondamentaux des réseaux informatiques.
Il faut donc mettre du routage pour que ta VM faisant fonctionner nginx puisse envoyer des données / des paquets IP à destination des serveurs web situés chez toi.
Pour les couches merci des explications, j’avais vraiment du mal a saisir. du coup c’est quand même plus claire dans ma tête.
Je résume : Le VPN c’est ok, IP distant vers IP at home.
Ping de distant vers athome
64 bytes from 10.0.2.1: icmp_seq=1 ttl=64 time=17.3 ms
Pour le test je monte une 2em vmbr sur athome
64 bytes from 10.0.2.2: icmp_seq=1 ttl=64 time=17.0 ms
Yes ça répond
Install de nginx conf d’un domaine test.****.com
avec proxy_pass http://10.0.2.2:80;
Je passe sur la conf d’apache c’est pas le sujet…
On y va dans la vrai vie navigateur http://test.***.com et bing ça répond avec ma belle page de test
Encore un grand merci pour l’aide, là du coup je vais refaire la manip entièrement histoire de me faire une doc et de publier la solution, ça servira surement pour d’autre personnes.
Actuellement, tu utilises nginx en tant que “reverse proxy” pour les serveurs web à ton domicile.
Comme tu as l’air d’avoir souscrit à une adresse IPv4 supplémentaire par serveur hébergé chez toi, tu peux utiliser iptables pour renvoyer tout ce qui arrive pour une IP genre 62.210.1.X vers ton 10.0.2.X à la maison.
Pour cela, il faut que toutes tes IPs supplémentaires soient configurées sur une VM ou directement sur ton hôte Proxmox VE avec un /etc/network/interfaces du genre :
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 195.154.176.66/24
gateway 62.210.0.1
# failover 1
iface eth0 inet static
address 51.15.150.50
# failover 2
iface eth0 inet static
address 51.15.150.51
# failover 3
iface eth0 inet static
address 51.15.150.52
Cet exemple fictif permet de s’assurer que ton système montre au routeur de l’hébergeur (via ARP) que oui, tu réponds pour cette adresse IPv4.
Ensuite, tu fais du Destination NAT (DNAT) en ajoutant une règle comme ci-dessous par adresse IP que tu veux renvoyer :
La grosse différence par rapport à nginx avec proxy_pass, c’est que tes machines à la maison vont devoir utiliser le VPN comme route par défaut.
Puisque avec nginx, les requêtes web avaient comme IP source l’adresse du nginx alors que là, l’adresse IP source sera celle du véritable client sur Internet.
Donc au programme relire la Doc du modèle OSI, relire et comprendre les différents /layer*, TP sur iptables histoire de pas faire de boulettes, rependre les aspects des différents Vpn cela même si je pense avoir saisie .
Je vais faire une test ce week grandeur nature avec 2 machines propre, histoire de reprendre l’installation du Vpn, proxmox, nginx ect.. et iptables-persistent
La grosse différence par rapport à nginx avec proxy_pass , c’est que tes machines à la maison vont devoir utiliser le VPN comme route par défaut.
Puisque avec nginx, les requêtes web avaient comme IP source l’adresse du nginx alors que là, l’adresse IP source sera celle du véritable client sur Internet.
Effectivement dans la configuration actuelle impossible d’avoir l’IP du véritable client sur athome, on a forcément les IP du VPN.
Encore merci @AnonymousCoward les explications que tu ma donner… c’est du gâteau
Nginx n’est pas capable de transmettre l’adresse IP source d’origine dans un champ de l’en-tête HTTP du genre X-Forwarded-for ?
Non pas forcément. Seulement pour router le trafic retour avec du routage avancé. Il y a différentes techniques pour identifier ce trafic, la plus simple à mon avis étant d’utiliser une adresse IP secondaire pour les communications via le VPN.
C’est toujours possible avec Nginx par contre cela fait une conf de plus, donc inutile.
D’après les explication d’@AnonymousCoward le serveur hébergent les IP servira uniquement au routage, ce qui me convient parfaitement. IP public iptables > Vpn et coter local Vpn Nginx ect…
root@vps792393:~# ip tunnel add gre1 mode gre remote 45.15.22.122 local 51.90.59.119 ttl 255
root@vps792393:~# ip link set gre1 up
root@vps792393:~# ip addr add 10.10.10.1/24 dev gre1
root@vps792393:~# iptables -t nat -A PREROUTING -d 51.15.150.50 -j DNAT --to-destination 10.10.10.2
root@vps792393:~# iptables -t nat -A POSTROUTING -o gre1 -d 10.10.10.2 -j SNAT --to-source 10.10.10.1
coter serveur a la maison
root@vzc:~# ip tunnel add gre1 mode gre remote 51.90.59.119 local 45.15.22.122 ttl 255
root@vzc:~# ip link set gre1 up
root@vzc:~# ip addr add 10.10.10.2/24 dev gre1
du coup on monte les interfaces automatiquements
coter VPS distant
auto tun0
iface tun0 inet static
address 10.10.10.1
netmask 255.255.255.0
up ifconfig tun0 multicast
pre-up iptunnel add tun0 mode gre remote 45.15.22.122 local 51.90.59.119 ttl 255
pointopoint 10.10.10.2
post-down iptunnel del tun0
auto tun0
iface tun0 inet static
address 10.10.10.2
netmask 255.255.255.0
up ifconfig tun0 multicast
pre-up iptunnel add tun0 mode gre remote 51.90.59.119 local 45.15.22.122 ttl 255
pointopoint 10.10.10.1
post-down iptunnel del tun0
Reboot des 2 serveurs histoire de voir si le Gre monte bien et que les règles iptable sont bien présente pas de souci ca marche.
Donc j’ai bien un souci avec IPSEC, j’ai refait un test avec GRE+IPSEC avec openswan a partir du moment ou j’active ipsec plus rien ne passe j’ai l’impression qu’il manque quelque chose dans la conf d’ipsec
Je vais faire des testes, après là lecture d’ipsec.