PPPoE 장치의 상위 네트워크 장치를 찾는 방법

PPPoE 장치의 상위 네트워크 장치를 찾는 방법

한 점을 위해PPPoE ppp0Linux 장치의 경우 기본 이더넷 장치를 안정적으로 얻는 방법은 무엇입니까?

ip -d linkand 디렉토리의 출력을 살펴봤지만 /sys/class/net/ppp0상위 장치나 pppd 프로세스의 PID는 언급되지 않았습니다.

시스템에서 실행 중인 pppd가 하나만 있는 경우 "해결 방법"이 있습니다.

$ cat /proc/net/pppoe
Id       Address           Device
0000516D dc:99:16:c4:58:35 wan.25

이 경우 wan.25필요한 정보가 바로 그것입니다.

하지만 그 "ID"는 0000516D다른 곳에서는 PPP 장치에 연결되는 것을 본 적이 없습니다. 그렇다면 여러 PPPoE 인터페이스를 구별하는 방법은 무엇입니까?

답변1

다시 읽을 때pppd맨페이지나는 이것이 /var/run/pppd2.tdbMultiLink에만 적용되는 것이 아니라 정보가 다음 위치에 저장된다는 것을 알았습니다.TDB 형식.

매뉴얼 페이지에는 파일을 조사하는 방법이 자세히 나와 있지 않지만 알아낼 수는 있었습니다.

참고: 선택 사항이 필요합니다.TDB 툴킷또는 귀하의 배포판에 해당하는 것.

$ D="inet"   # The name of your PPPoE interface
$ T="/copy/of/pppd2.tdb"

$ tdbdump $T -k IFNAME=$D
pppd34491
$ cID="pppd34491"

그러면 이 ID "pppd34491"을 사용하여 이 데이터베이스 복사본에서 해당 연결에 대한 추가 연결 정보를 찾을 수 있습니다. 정보는 세미콜론으로 구분된 키=값 쌍으로 저장되므로 보기 위해 다음을 통해 정보를 전달할 수 있습니다 awk.

$ tdbdump $T -k $cID | awk 'BEGIN{RS=";";FS="="}{print $1" "$2}' |column -t
CALL_FILE   Provider
DEVICE      wan.25
MACREMOTE   So:me:ma:cc:cc:cc
IFNAME      inet
IPLOCAL     MyIPV4
IPREMOTE    PeerIPv4

(덜 흥미로운 내용은 잘라내세요)

관련 정보