Après avoir passé maintenant des heures à dépanner, à rechercher des solutions potentielles sur ce site et sur d'autres, et je me résigne à demander conseil à mes parieurs. Je travaille pour acheminer tout le trafic réseau sur une instance d'Ubuntu via un VPN Cisco dans une université. En utilisant le gestionnaire de réseau intégré ou vpnc, je peux établir avec succès une connexion au VPN et acheminer avec succès le trafic vers n'importe quelle adresse IP universitaire via le VPN. Cependant, en dehors de ces plages IP spécifiques, je n'arrive pas à évoquer une route qui mappera avec succès tout le trafic réseau sur le VPN.
Jusqu'à présent, j'ai tenté:
route add -net 0.0.0.0 gw homeportal dev tun0
route add -net 0.0.0.0 tun0
route add -net 0.0.0.0 gw 128.122.252.77 dev tun0
route add -net 0.0.0.0 gw 128.122.252.77 dev eth0
iptables -A AVANT -o tun0 -j ACCEPTER iptables -A AVANT -i tun0 -j ACCEPTER iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
Et beaucoup d'autres choses idiotes, inefficaces, dont je ne me souviens pas assez bien pour les transcrire avec précision.
De plus, j'ai essayé de router des plages d'adresses IP plus petites et des adresses IP spécifiques, chacune en vain. Je ne suis pas vraiment sûr de ce qui ne va pas, car l'étendue des effets que j'ai pu observer sont des échecs de résolution de noms et des échecs d'acheminement du trafic via le VPN. Qu'est-ce que je fais mal ici?
Éditer-
Voici la sortie ip route show
après avoir démarré la connexion VPN avec VPNC:
par défaut via 192.168.1.254 dev eth0 proto static 10.0.0.0/8 dev tun0 scope link 91.230.41.0/24 dev tun0 scope link 128.122.0.0/16 dev tun0 scope link 128.122.252.68 via 192.168.1.254 dev eth0 src 192.168.1.32 128.122.253.46 dev tun0 scope link 128.122.253.79 dev tun0 scope link 172.16.0.0/12 dev tun0 scope link 192.168.0.0/16 dev tun0 scope link 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.32 metric 1 193.175.54.0/24 dev tun0 scope link 193.205.158.0/25 dev tun0 scope link 193.206.104.0/24 dev tun0 scope link 195.113.94.0/24 dev tun0 scope link 203.126.200.0/24 dev tun0 scope link 203.174.165.128/25 dev tun0 scope link 212.219.93.0/24 dev tun0 scope link 216.165.0.0/17 dev tun0 scope link
Plus d'information-
J'ai réussi à acheminer du trafic arbitraire sur ce VPN dans MS Windows via le client Cisco AnyConnect avec la configuration par défaut. Voici à quoi ressemble la table de routage lorsque le client AnyConnect fonctionne (il s'agit d'un ordinateur différent derrière le même routeur au 192.168.1.254).
Table de routage IPv4 ================================================== ========================= Itinéraires actifs: Métrique d'interface de passerelle de masque de réseau de destination réseau 0.0.0.0 0.0.0.0 192.168.1.254 192.168.1.13 30 10.0.0.0 255.0.0.0 192.168.128.1 192.168.128.197 2 91.230.41.0 255.255.255.0 192.168.128.1 192.168.128.197 2 127.0.0.0 255.0.0.0 En liaison 127.0.0.1 306 127.0.0.1 255.255.255.255 En liaison 127.0.0.1 306 127.255.255.255 255.255.255.255 En liaison 127.0.0.1 306 128.122.0.0 255.255.0.0 192.168.128.1 192.168.128.197 2 128.122.252.68 255.255.255.255 192.168.1.254 192.168.1.13 31 172.16.0.0 255.240.0.0 192.168.128.1 192.168.128.197 2 192.168.0.0 255.255.0.0 192.168.128.1 192.168.128.197 2 192.168.1.0 255.255.255.0 En liaison 192.168.1.13 286 192.168.1.13 255.255.255.255 En liaison 192.168.1.13 286 192.168.1.254 255.255.255.255 En liaison 192.168.1.13 31 192.168.1.255 255.255.255.255 En liaison 192.168.1.13 286 192.168.31.0 255.255.255.0 En liaison 192.168.31.1 276 192.168.31.1 255.255.255.255 En liaison 192.168.31.1 276 192.168.31.255 255.255.255.255 En liaison 192.168.31.1 276 192.168.128.0 255.255.255.0 En liaison 192.168.128.197 257 192.168.128.197 255.255.255.255 En liaison 192.168.128.197 257 192.168.128.255 255.255.255.255 En liaison 192.168.128.197 257 192.168.203.0 255.255.255.0 En liaison 192.168.203.1 276 192.168.203.1 255.255.255.255 En liaison 192.168.203.1 276 192.168.203.255 255.255.255.255 En liaison 192.168.203.1 276 193.175.54.0 255.255.255.0 192.168.128.1 192.168.128.197 2 193.205.158.0 255.255.255.128 192.168.128.1 192.168.128.197 2 193.206.104.0 255.255.255.0 192.168.128.1 192.168.128.197 2 195.113.94.0 255.255.255.0 192.168.128.1 192.168.128.197 2 203.126.200.0 255.255.255.0 192.168.128.1 192.168.128.197 2 203.174.165.128 255.255.255.128 192.168.128.1 192.168.128.197 2 212.219.93.0 255.255.255.0 192.168.128.1 192.168.128.197 2 216.165.0.0 255.255.128.0 192.168.128.1 192.168.128.197 2 224.0.0.0 240.0.0.0 En liaison 127.0.0.1 306 224.0.0.0 240.0.0.0 En liaison 192.168.1.13 286 224.0.0.0 240.0.0.0 En liaison 192.168.203.1 276 224.0.0.0 240.0.0.0 En liaison 192.168.31.1 276 224.0.0.0 240.0.0.0 En liaison 192.168.128.197 10000 255.255.255.255 255.255.255.255 En liaison 127.0.0.1 306 255.255.255.255 255.255.255.255 En liaison 192.168.1.13 286 255.255.255.255 255.255.255.255 En liaison 192.168.203.1 276 255.255.255.255 255.255.255.255 En liaison 192.168.31.1 276 255.255.255.255 255.255.255.255 En liaison 192.168.128.197 10000 ================================================== =========================
ip route
, en passant.ip route
commande, je ne l'avais jamais rencontrée auparavant.Réponses:
Votre réseau local est 192.168.1.0/24, comme indiqué par cette ligne dans votre table de routage:
Votre réseau VPN est 10.0.0.0/8, comme indiqué par cette ligne:
Actuellement, votre routeur par défaut est:
ce qui est bien sûr ce que vous ne voulez pas , car il appartient à votre LAN local: ainsi tout votre matériel est acheminé via votre passerelle locale, comme si le VPN n'existait pas.
qui est la route vers votre fournisseur VPN.
ÉDITER:
Je n'avais pas réalisé que la table de routage est simplement celle qui est obtenue à partir de votre VPN, sans votre intervention. Cela peut indiquer (indirectement) que votre fournisseur de services est disposé à transférer uniquement le trafic explicitement autorisé dans votre table via l'interface tun0, et peut avoir pris des mesures supplémentaires pour bloquer tout autre trafic, auquel cas vos efforts seront vains.
Cependant, en supposant que votre fournisseur est disposé à transférer tout votre trafic, ce que vous devez faire est le suivant.
Tout d'abord, vous devez savoir s'il existe une passerelle prête à accepter votre connexion de l'autre côté, car nous avons besoin de son adresse IP. Je vais vous donner quatre méthodes pour ce faire.
1) Avec le PC connecté au VPN, essayez la commande suivante:
Si tout se passe bien, vous devriez voir une réponse contenant cette ligne:
xywz est l'adresse IP de la passerelle locale. Vous devrez peut-être éteindre votre VPN après ce test, et peut-être même redémarrer votre PC, car nous aurons tout simplement foiré la table de routage.
2) Alternativement, vous pouvez essayer de naviguer vers l'un des sites autorisés (ceux qui apparaissent dans votre table de routage comme passant par l' interface tun0 ), puis lancer la commande:
Vous devriez obtenir une liste des ordinateurs contactés via le protocole ARP, avec l'adresse MAC et IP; vous recevrez probablement zéro ou une réponse. Si vous obtenez une seule réponse, c'est votre routeur.
3) Si vous n'obtenez pas une telle réponse, vous pouvez essayer avec
(qui va être très lent). Votre passerelle sera l' un des ordinateurs répertoriés, probablement celui dont l'adresse se termine par .1 ou .254, le cas échéant.
4) Utilisez la commande tcpdump:
et voir les adresses IP crachées par la commande.
Si vous n'obtenez pas non plus de réponse appropriée à ce test, cela signifie que quelqu'un a vraiment serré les vis de son réseau.
Mais soyons optimistes, et supposons que vous ayez maintenant une adresse IP candidate xwyz pour le routeur distant. Vous devrez supprimer la passerelle par défaut, (comme sudo!):
et ajoutez le nouveau:
et essayez de naviguer.
Permettez-moi de répéter: étant donné que votre fournisseur n'a autorisé le trafic qu'à quelques adresses IP sélectionnées via son VPN, il est possible qu'il ait pris des mesures supplémentaires (= pare-feu) pour empêcher un utilisateur intelligent de forcer son trafic générique via son VPN. Dans ce cas, vous ne pouvez rien faire. Mais s'il ne l'a pas fait, les étapes ci-dessus devraient vous aider à trouver une solution.
la source
ip addr show dev tun0
lectures10: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1412 qdisc pfifo_fast state UNKNOWN group default qlen 500 link/none inet 192.168.128.193/24 brd 192.168.128.255 scope global tun0 valid_lft forever preferred_lft forever
, sans adresse homologue à respecter. De plus, la table de routage que j'ai postée plus tôt n'avait pas du tout été modifiée par moi - elle était entièrement générée par le client vpn.Toutes vos
route
commandes manquent de masques de réseau, elles ne correspondent donc qu'à l'0.0.0.0
adresse spécifique , pas à l'ensemble d'Internet. Remplacez donc0.0.0.0
par0.0.0.0/0
la première commande que vous avez essayée:ip route add -net 0.0.0.0/0 gw homeportal dev tun0
Il peut y avoir une mise en garde que je ne sais pas si votre client VPN résout par lui-même: le point de terminaison du tunnel doit être exclu du routage via le VPN, il doit être routé via votre
eth0
interface. Donc, si l'ajout de cette route par défaut rompt votre VPN, ajoutez une route spécifique pour votre point de terminaison VPN:ip route add <ENDPOINT>/32 dev eth0
la source
ip route
, non? De plus, même si c'est toujours une bonne idée d'ajouter des masques de réseau, il semble queroute
suppose / 0 lors de l'ajout de 0.0.0.0