Linux에서 이더넷 포트의 물리적 상태를 확인하는 방법은 무엇입니까?


답변:


68

$ ethtool <eth?>

예를 들면 다음과 같습니다.

$ ethtool eth0

제공합니다 :

Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        MDI-X: on
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000001 (1)
        Link detected: yes

46

/sys/class/net/eth0/operstate이 디렉토리의 다른 파일을 확인하십시오 .

내가 아는 한 이것은 Linux 2.6 이상에만 해당되지만 커널 드라이버에 깔끔한 인터페이스를 제공합니다.

sys파일 시스템 의이 부분에 대한 전체 문서는 여기에서 찾을 수 있습니다.

https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net


10
/ sys / class / net / eth0 / carrier는이 질문에 대한 완벽한 답변이었습니다.
당 Knytt

좋은 대답입니다. 작은 부록 : / run / network / ifstate에도 유용한 정보가 있습니다.
Paulo André Haacke '

34

ethtool [interface]

마지막 줄은 당신이 원하는 것을 보여줍니다 :

ethtool eth0
eth0 설정 :
        지원되는 포트 : [TP]
        지원되는 링크 모드 : 10baseT / Half 10baseT / Full 
                                100baseT / 반 100baseT / Full 
                                1000baseT / 풀 
        자동 협상 지원 : 예
        보급형 링크 모드 : 10baseT / Half 10baseT / Full 
                                100baseT / 반 100baseT / Full 
                                1000baseT / 풀 
        보급형 자동 협상 : 예
        속도 : 1000Mb / s
        이중 : 전이중
        포트 : 꼬인 쌍
        물리 : 0
        트랜시버 : 내부
        자동 협상 : 켜기
        깨우기 지원 : g
        깨우기 : d
        현재 메시지 수준 : 0x00000037 (55)
        링크 감지 : 예

4
이를 확인하면 en.wikipedia.org/wiki/OSI_model 입니다. 마지막 줄은 다른 레이어 인 링크 레이어에 관한 것입니다. 방금 이것을 테스트했습니다. 케이블이 불량하면 물리적 계층은 작동했지만 링크 계층은 작동하지 않았습니다. 그런 다음 다른 케이블로 전환하고 모든 레이어가 나타났습니다.
Jader Dias

25
ip link show

또 다른 것입니다. 좋은 오래된

ifconfig dev_name

또는

ifconfig -a

인터페이스가 작동하는지 알려줍니다. 참고 : 이 방법은 링크 상태에 관한 오래된 정보를 표시 할 수 있으므로주의하십시오.


나는 이것이 최선의 대답이라고 생각합니다-ethtool은 우분투 배포판에서 표준이 아니므로 상자가 그물에 연결되어 있지 않으면 도움이되지 않습니다.
user20010

4
ifconfig가 때때로 오래된 데이터를 표시한다고 생각합니다. 링크가 다운되면 UP으로 표시 될 수 있지만 ethtool 인터페이스는 항상 올바른 정보 AFAIK를 표시합니다.
sed_and_done

2
@ sed_and_done이 맞다고 생각합니다. 내가 NIC 연결을 해제하면 레드햇 VM에서, ethtool을 즉시 보여줍니다 Link detected: no대신 Link detected: yes, 및 IP 링크 쇼를 보여줍니다 <NO-CARRIER,BROADCAST,MULTICAST,UP>대신 <BROADCAST,MULTICAST,UP,LOWER_UP>,하지만 은 ifconfig -aUP BROADCAST MULTICAST MTU:1500 Metric:1는 NIC가 연결되어있을 때와 동일하다.
Adi Inbar

16
dmesg | grep eth

당신은 모든 상태 변화를 볼 수 있습니다


관리자 권한이없는 경우 작동하는 유일한 방법입니다.
Brian B

dmesg는 Slackware 14.0
AnonymousLurker의

아닙니다. 방금 확인했습니다. eth0기기에서 작동 하지만 기기에서는 작동 하지 않습니다 eth2.
Hi-Angel

9

mii-tool을 사용하여 링크가 작동 중인지 확인하고 협상 된 속도를 확인할 수도 있습니다.

# mii-tool
eth0 : 협상 된 100baseTx-FD, 링크 확인


4
mii-tool은 더 이상 사용되지 않으며 GbE 인터페이스에서 작동하지 않습니다.
Dave Cheney

2
@DaveCheney# mii-tool eth0: negotiated 1000baseT-FD flow-control, link ok
stolsvik

mii-tool의 매뉴얼 페이지는 ethtool 사용을 제안합니다. 그러나 mii-tool은 계속 작업을 수행하며 -v (verbose) 옵션이 제공되면 더 유용합니다.
David Ramirez

3

아래 명령으로 자세한 내용을 확인할 수 있습니다

ethtool eth0

링크 상태를 보려면 아래 명령을 내리십시오.

mii-tool eth0

2

시스템이 사용중인 경우 ifplugd(예 : Raspbian Pi가있는 Raspberry Pi에서) 연결된 상태 도구 ifplugstatus를 사용하여 모든 인터페이스의 링크 상태를 얻을 수 있습니다.

ifplugstatus

또는 특정 인터페이스 (예 : eth0) :

ifplugstatus eth0

2

netplugd는 케이블을 꽂거나 케이블을 꺼낼 때 프로그램을 실행할 수있는 서비스입니다. 따라서 명령 줄은 netplugd 출력을 위해 grep / var / log / messages 또는 dmesg입니다.


정확히, 요청 된 답변이 아니라, 흥미로운 답변입니다. 적어도 나에게는.
Sopalajo de Arrierez

2

신속 @를 추가하려면 끈적 거리는 의 대답, 당신은 해석 것 ip link또는 ip link show INTERFACE으로는 다음과 같다.

이 포트는 관리적으로 작동하지만 물리적으로 작동하지 않는 포트입니다.

2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000

다시 말해, UP시스템이 NIC를 사용하여 네트워킹을 시도하도록 구성되었음을 나타냅니다. 다음 NO-CARRIER은 네트워킹 작동을 방해하는 문제가 무엇인지 알려줍니다.

이 포트는 관리 상 다운 된 포트입니다 (물리적 계층은 '업', 기술적으로는 VM 임).

3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000

마지막으로이 포트는 정상적으로 작동합니다.

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq state UP mode DEFAULT group default qlen 1000

관리 상으로 UP, LOWER_UP물리 계층이 작동 중임을 나타냅니다 (즉, 반송파가 있음). 두 번째 UP는 IP 계층이 작동 중임을 확인합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.