문제

여기 또는 ServerFault에 게시할지 확실하지 않습니다. 어쨌든, 저는 회사의 방화벽을 둘러보고 휴대 전화의 3G 네트워크를 사용하여 일부 미디어 공유 사이트에 연결하려고합니다. PPPD의 INET 주소를 매개 변수로 취하는 간단한 IP 경로 명령을 내놓았습니다. 그러나 명령 줄 매개 변수를 통해 전달하는 것이 아니라 스크립트에서 INET 주소를 읽음으로써 조금 더 자동화하고 싶습니다.

더 명확하게 만드는 시나리오는 다음과 같습니다.

  • 현재 명령 호출 : $jumpfirewall xxx.xxx.xxx.xxx

  • 내가 원하는 명령 호출 : $jumpfirewall

명령 줄에서 읽는 데 사용할 수있는 명령이나 라이브러리를 알고 있습니까?

도움이 되었습니까?

해결책

적응 사이버 시티:

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

그만큼 ifconfig ppp0 기본 PPP 인터페이스에 대한 정보를 얻을 수 있습니다. 그만큼 grep IP 주소가 포함 된 라인으로 절단합니다. 그만큼 cut 그 후 모든 것을 나눕니다 inet addr: 까지 bcast:, 같은 것을 제공합니다 1.2.3.4 Bcast:; 그리고 awk 전화는 첫 번째 (공간 분리) 필드 만 인쇄하여 IP 주소 만 남습니다.

다른 팁

pppd 자동으로 스크립트를 호출합니다 /etc/ppp/ip-up 링크가 올라갈 때. 이 스크립트에서 $4 PPP 링크의 로컬 IP 주소입니다. (일부 분포에서 /etc/ppp/ip-up 스크립트를 호출하도록 설정되어 있습니다 /etc/ppp/ip-up.d, 와 함께 $PPP_LOCAL IP 주소로 설정하여 스크립트를 배치 할 수 있습니다).

이렇게하면 스크립트를 수동으로 호출 할 필요가 없습니다. PPP 링크를 가져 오면 자동으로 실행됩니다. 해당하는 것이 있습니다 /etc/ppp/ip-down 링크가 다운되면 경로를 취소하는 데 사용할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top