2009-08-22 7 views
2

Je ne suis pas sûr de l'afficher ici ou sur ServerFault. Quoi qu'il en soit, j'essaie de contourner le pare-feu de l'entreprise pour me connecter à un site de partage de médias en utilisant le réseau 3G de mon téléphone. Je suis venu avec une commande ip route simple qui prend l'adresse inet de pppd comme paramètre. Mais, je veux le rendre un peu plus automatisé en lisant l'adresse inet directement du script, pas en le passant par le paramètre de ligne de commande.Comment obtenir l'adresse pppd inet à partir de la commande shell

Voici le scénario, pour le rendre plus évident:

  • L'invocation de commande à partir de maintenant: $jumpfirewall xxx.xxx.xxx.xxx

  • L'invocation de commande Je veux: $jumpfirewall

-vous connaître une commande ou une bibliothèque que je peux utiliser pour le lire à partir de la ligne de commande?

Répondre

5

Adapté de cyberciti:

/sbin/ifconfig ppp0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'

Le ifconfig ppp0 va obtenir des informations pour votre interface principale PPP; le grep le coupe vers la ligne contenant l'adresse IP; le cut divise tout après inet addr: jusqu'à bcast:, donnant quelque chose comme 1.2.3.4 Bcast:; et l'appel awk imprime uniquement le premier champ (espace-séparé), vous laissant seulement avec l'adresse IP.

+0

whoa, parfait! Je vous remercie! – ariefbayu

2

pppd appelle automatiquement un script dans /etc/ppp/ip-up lorsqu'un lien est affiché. Dans ce script, $4 est l'adresse IP locale du lien PPP. (Sur certaines distributions, /etc/ppp/ip-up est configuré pour appeler les scripts dans /etc/ppp/ip-up.d, avec $PPP_LOCAL défini sur l'adresse IP, vous pouvez donc y placer votre script). De cette façon, vous n'aurez pas besoin d'appeler manuellement le script - il suffit d'afficher le lien PPP et il sera exécuté automatiquement. Il y a un /etc/ppp/ip-down correspondant que vous pouvez utiliser pour annuler votre itinéraire lorsque le lien tombe en panne.

+0

J'utilise un script parce que je n'utilise pas le tunnel chaque fois que j'utilise mon réseau 3G. De toute façon, je vote pour l'information – ariefbayu

Questions connexes