한 점을 위해PPPoE ppp0
Linux 장치의 경우 기본 이더넷 장치를 안정적으로 얻는 방법은 무엇입니까?
ip -d link
and 디렉토리의 출력을 살펴봤지만 /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.tdb
MultiLink에만 적용되는 것이 아니라 정보가 다음 위치에 저장된다는 것을 알았습니다.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
(덜 흥미로운 내용은 잘라내세요)