web-dev-qa-db-fra.com

Comment router tout le trafic via l'adaptateur VPN?

J'utilise SoftEther, mais ce n'est peut-être pas pertinent.

J'ai l'adaptateur suivant:

vpn_myadapter: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 [redacted]  prefixlen 64  scopeid 0x20<link>
        ether [redacted]  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

et j'ai les itinéraires suivants:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         dslrouter.netge 0.0.0.0         UG    600    0        0 wlp4s0
link-local      0.0.0.0         255.255.0.0     U     1000   0        0 virbr0
192.168.123.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.254.0   0.0.0.0         255.255.255.0   U     600    0        0 wlp4s0

J'ai besoin de savoir comment utiliser facilement Ubuntu pour acheminer tout le trafic Internet via mon adaptateur VPN.

1
David Kamer

Cette réponse suppose que vous avez déjà connecté votre compte et que vous disposez d'un adaptateur fonctionnel.

Ok, après avoir parcouru les didacticiels sur les tables/routes IP, j'ai trouvé la solution compatible avec SoftEther qui devrait fonctionner avec d'autres adaptateurs VPN pour canaliser le trafic via l'adaptateur.

Commencez par exécuterip neighpour obtenir la passerelle par défaut du réseau de votre VPN et la passerelle par défaut de ce réseau. Vous aurez également besoin de l'adresse IP de votre serveur distant. Si cela ne vous donne pas les informations, exécutez ifconfig et tcpdump sur l’IP de votre adaptateur VPN.

Vous pouvez facilement combiner les étapes ci-dessous dans un script bash et/ou les inverser pour déconnecter un adaptateur VPN:

Vous devez d’abord obtenir les informations DHCP de votre serveur avec:

Sudo dhclient vpn_myadapter

vpn_myadapter est le nom de l'adaptateur qui peut être trouvé avec ifconfig.

Deuxièmement, vous devez créer un itinéraire allant de l'adresse IP de votre serveur VPN à votre passerelle Internet locale, qui vous permettra d'accéder à Internet. 55.55.55.55 est ce que je vais utiliser comme exemple d’adresse de serveur. Vous aurez également besoin de connaître les noms des adaptateurs pour votre connexion Internet et votre VNA (adaptateur réseau virtuel). Vous pouvez les trouver avec ifconfig. Vous pouvez également utiliser ip neigh pour obtenir une liste concise de vos adaptateurs et de leurs passerelles.

Commande pour créer une route d'IP VPN vers une passerelle locale (dans cet exemple, 192.168.0.1)

Sudo ip route add 55.55.55.55/32 via 192.168.0.1 dev eth0

Assurez-vous que eth est défini sur l'adaptateur qui correspond à votre passerelle locale

Ensuite, vous supprimerez votre itinéraire par défaut qui achemine tout le trafic par défaut.

Sudo ip route del default

Vous allez maintenant ajouter une route par défaut qui utilisera la passerelle par défaut du VPN. Ces informations peuvent être recueillies auprès de votre fournisseur, du serveur que vous configurez ou en utilisant une combinaison de tcdump, ip neigh et ifconfig. Vous pourrez peut-être trouver les informations à ce stade, mais vous auriez dû exécuter ip neigh au début si vous ne parvenez pas à trouver les informations maintenant. J'utiliserai la passerelle par défaut fournie par SoftEther, à savoir 192.168.30.1.

Sudo ip route add default via 192.168.30.1 dev vpn_myadapter

Cela devrait acheminer tout votre trafic sur le réseau distant. Si vous ne parvenez toujours pas à vous connecter à Internet, vous devrez exécuter DhcpEnableet SecureNatEnable (vous devrez peut-être exécuter NatEnable selon votre configuration) sur votre serveur si vous ne pouvez pas utiliser DHCP ou Internet après que vous ayez connecté votre client à travers ces étapes ou que votre commande dhclient ne fonctionne pas. Je ne sais pas si votre serveur aura besoin d'un redémarrage après l'avoir mis à jour.

EDIT: SecureNatEnable activera NAT et DHCP.

1
David Kamer