acheminer tout le trafic via un autre serveur sans utiliser de serveur VPN?

0

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

Arya
la source
Vous pouvez également utiliser un proxy hébergé sur le serveur par
lequel
Comment savez-vous que cette méthode "sera très fiable"?
Grawity
@grawity avec VPN, le client pourrait perdre la connexion et commencer à utiliser la connexion principale, mais avec iptables ou ip route, il n'y a pas de session, il semble donc s'agir d'une approche plus simple
Arya
Si je comprends ce que vous demandez, avez-vous examiné sshuttle?
Gman Smith
Si les deux serveurs sont situés à des emplacements et sur des réseaux différents, vous avez besoin d’ une sorte de tunnel. Un VPN est un moyen (et il peut être configuré pour se reconnecter automatiquement, donc ce n'est pas peu fiable). D'autres moyens sont un tunnel GRE ou IPIP, mais ils ne sont pas cryptés et tout le monde peut utiliser MITM. Je préférerais donc vraiment un VPN à votre place ...
dirkt Le

Réponses:

1

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:

  • sur le serveur B: to 0.0.0.0/0 via <A's IP>
  • sur passerelle réelle: 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>
Grawity
la source
-1

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

cybernard
la source