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.
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 neigh
pour 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 DhcpEnable
et 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.