Disons que j'ai 2 serveurs
Serveur A et Serveur B
Je veux que tout le trafic du serveur B passe par le serveur A (comme un proxy pour l’ensemble du système). Je comprends qu’une façon de le faire est d’utiliser un serveur VPN sur le serveur A. Mais, autant que je sache, il existe un moyen de: Pour ce faire, utilisez iptables ou ip route qui sera très fiable.
Comment cela peut il etre accompli? les deux machines utilisent Debian Linux.
Chaque serveur est hébergé chez un fournisseur d'accès différent
Réponses:
Cela ne peut être réalisé que si les deux ordinateurs sont dans le même sous-réseau.
Si tel est le cas, vous devez d’abord configurer le serveur A en tant que "passerelle par défaut" pour B - et de la même manière, la passerelle réelle a besoin de la route opposée vers B via A:
to 0.0.0.0/0 via <A's IP>
to <B's IP>/32 via <A's IP>
Mais s'ils sont sur des réseaux différents (comme vous l'avez dit "hébergé chez un autre fournisseur d'accès"), la seule façon d'utiliser A comme passerelle serait de configurer un réseau virtuel de couche 2 - ce qui est, oui, un VPN.
(Cela exclut le "routage source" IP, qui a été supprimé de la plupart des piles réseau modernes en raison de problèmes de sécurité.)
Si vous êtes préoccupé par la confidentialité (trafic "fuit"), configurez le serveur B de telle sorte que le seul itinéraire par défaut utilisé soit via le VPN - s'il ne communique qu'avec le serveur A, il n'a / 32 ou a / 128) vers A. Par exemple:
to ::/0 via <A's internal IP>
to <A's external IP>/128 via <real default gateway>
la source
en utilisant iptables:
essayez ceci: changez évidemment l'interface en fonction de votre configuration.
iptables -t nat -A PREROUTING -i eth0 -j DNAT - vers-destination 192.168.3.2
la source