4 votes

Acheminer le trafic de la VM à travers le VPN, mais pas le trafic de l'hôte.

J'ai un service VPN que je paie, et je voudrais acheminer le trafic d'une machine virtuelle (boîte virtuelle) à travers lui, mais pas le trafic de l'hôte (linux).

Le service VPN utilise openvpn. J'ai un tas de fichiers de configuration pour me permettre de me connecter à différents serveurs. Je peux changer le type d'interface (tun/tap).

D'après ce que j'ai lu, il semble que je doive créer un pont entre tap0 et vboxnet0 (l'interface de la boîte virtuelle réservée à l'hôte). J'ai essayé quelques solutions pour cela, mais rien ne semble avoir fonctionné. Je crains qu'il ne soit nécessaire d'utiliser iptables foo, mais je ne sais même pas par où commencer.

Toute aide, ou même un coup de pouce dans la bonne direction, sera très appréciée.

2voto

Fede Points 295

Je suppose que vous utilisez OpenVPN dans routage (le périphérique tun ne peut pas être utilisé en mode ponté). Lorsque OpenVPN est en mode ponté, il devrait être suffisant d'attacher le dispositif tap à votre pont du côté client.

En mode routage, vous devez décider de la manière dont vous configurez le routage. Vous pouvez utiliser le NAT pour vos machines virtuelles et ensuite acheminer le trafic via le vpn. Pour activer le forwarding pour toutes les interfaces :

sysctl net.ipv4.conf.all.forwarding=1

Et configurer les règles iptable pertinentes pour autoriser le trafic transféré et activer le NAT en utilisant MASQUERADE cible :

iptables -A FORWARD -i vboxnet0 -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o vboxnet0 -j ACCEPT

iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

Enfin, vous pouvez utiliser routage politique pour acheminer tout le trafic de vos invités via un vpn :

# name routing table as vguest
echo 100 vguest >> /etc/iproute2/rt_tables

# use vguest routing table for traffic from 10.0.0.0/24 (guest network) 
ip rule add from 10.0.0.0/24 table vguest

# default route via openvpn gateway
ip route add default via 10.8.0.1 dev tun0 table vguest

# flush route cache
ip route flush cache

Vous pouvez également configurer un autre invité pour exécuter openvpn ou exécuter openvpn dans un autre système linux. espace de noms du réseau . Le NAT et la redirection peuvent être effectués en suivant les mêmes étapes que ci-dessus.

1voto

Appleoddity Points 11013

Installer le client OpenVPN sur la machine virtuelle.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X