Pregunta

No estoy seguro de si se debe enviar desde aquí o por lo ServerFault. De todos modos, estoy tratando de evitar el cortafuegos de la empresa para conectarse a un sitio para compartir contenido multimedia utilizando la red 3G de mi teléfono. Yo he llegado con un simple comando ip route, que toma la dirección inet de pppd, ya que es el parámetro. Pero, quiero que sea un poco más automatizado mediante la lectura de la dirección de inet derecha desde el guión, no haciéndolo pasar a través del parámetro de línea de comandos.

Este es el escenario, para que sea más evidente:

  • La invocación de mandato a partir de ahora: $jumpfirewall xxx.xxx.xxx.xxx

  • La invocación de mandato Quiero: $jumpfirewall

¿Conoce usted algún comando o biblioteca que puedo utilizar para leer desde la línea de comandos?

¿Fue útil?

Solución

Adaptado de cyberciti :

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

El ifconfig ppp0 obtendrá información de su interfaz PPP primaria; la grep lo corta a la línea que contiene la dirección IP; la cut divide a cabo todo lo que después inet addr: hasta bcast:, dando algo así como 1.2.3.4 Bcast:; y la llamada awk imprimirá sólo el primer campo (separadas por espacios), dejándole con sólo la dirección IP.

Otros consejos

pppd llama automáticamente un guión en /etc/ppp/ip-up cuando un enlace se conecta. En este guión, $4 es la dirección IP local del enlace PPP. (En algunas distribuciones, /etc/ppp/ip-up se pone a llamar a los scripts en /etc/ppp/ip-up.d, con $PPP_LOCAL ajustado a la dirección IP, por lo que puede poner su guión allí).

De esta forma, no tendrá que llamar manualmente el guión - acaba de abrir el enlace PPP y va a ser que se ejecute automáticamente. Hay una /etc/ppp/ip-down correspondiente puede utilizar para deshacer su ruta cuando el enlace se cae.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top