it-swarm.asia

Linux'ta bir ethernet portunun fiziksel durumunu nasıl kontrol edebilirim?

Belirli bir ethX'in fiziksel olarak yukarı veya aşağı olup olmadığını kontrol etmek istiyorum. Bunu komut satırıyla nasıl yapabilirim?

67
Jader Dias

$ ethtool <eth?>

Örneğin:

$ ethtool eth0

sağlamaktadır:

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
70
Brooks

Kontrol /sys/class/net/eth0/operstate ve bu dizindeki diğer dosyalar.

Bildiğim kadarıyla bu Linux 2.6+ için özeldir, ancak çekirdek sürücüsüne temiz bir arayüz sağlar.

sys dosya sisteminin bu bölümüyle ilgili tüm belgeleri burada bulabilirsiniz:

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

48
Linuxtraveler

ethtool [interface]

son satır ne istediğinizi gösterir:

 # ethtool eth0 
 eth0 ayarları: 
 Desteklenen bağlantı noktaları: [TP] 
 Desteklenen bağlantı modları: 10baseT/Half 10baseT/Full [.____. 100baseT/Yarım 100baseT/Full 
 1000baseT/Full 
 Otomatik anlaşmayı destekler: Evet 
 Reklamı yapılan bağlantı modları: 10baseT/Half 10baseT/Full [.____. 100baseT/Half 100baseT/Full 
 1000baseT/Full 
 Reklamı yapılan otomatik müzakere: Evet 
 Hız: 1000Mb/s 
 Dubleks: Tam 
 Liman: Twisted Pair 
 PHYAD: 0 
 Alıcı-verici: dahili 
 Otomatik müzakere: açık 
 Uyandırma özelliğini destekler: g 
 Uyandırma: d 
 Mevcut mesaj seviyesi : 0x00000037 (55) 
 Bağlantı algılandı: evet 
34
Kurt
ip link show

başka. İyi yaşlı

ifconfig dev_name

veya

ifconfig -a

ayrıca arayüzün açık olup olmadığını da söyleyecektir. NOT: Bağlantının durumu ile ilgili güncel olmayan bilgileri gösterebildikleri için bu yöntemlerle dikkatli olun.

25
goo
dmesg | grep eth

tüm durum değişikliklerini görmelisin

16
lepole

Ayrıca mii-tool'u kullanarak bağlantının açık olup olmadığını ve görüşülen hızı kontrol edebilirsiniz.

# mii-tool
eth0: 100baseTx-FD anlaşmalı, bağlantı tamam

9
Alakdae

@ goo 'ın yanıtına hızlı bir şekilde eklemek için, ip link Veya ip link show INTERFACE İfadesini aşağıdaki gibi yorumlayabilirsiniz.

Bu, yönetimsel olarak yukarı, ancak fiziksel olarak aşağı olan bir bağlantı noktasıdır:

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

Başka bir deyişle, görebileceğiniz UP, sistemin ağ için NIC ağını denemek ve kullanmak üzere yapılandırıldığını gösterir. Buradaki NO-CARRIER Sorunun ne olduğunu size bildirir ağ çalışmasını önlemek olduğunu.

Bu, yönetimsel olarak kapalı olan bir bağlantı noktasıdır (fiziksel katmanı 'yukarı', teknik olarak - bir VM'dir):

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

Son olarak, bu bağlantı noktası normal şekilde çalışıyor:

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

Yönetici olarak UP, LOWER_UP Fiziksel katmanın çalıştığını (yani bir taşıyıcı olduğunu) ve ikinci UP IP katmanının açık olduğunu (aslında) doğruladığını gösterir .

4

Aşağıdaki komutla tüm ayrıntılara sahip olabilirsiniz

ethtool eth0

Ve sadece bağlantı durumunu görmek istiyorsanız aşağıdaki komutu verin

mii-tool eth0
3
Nikunj Ranpura

netplugd, bir kablo takıldığında veya çıkarıldığında programları çalıştırabilen bir hizmettir. Bu yüzden komut satırı netreplug çıkışı için grep/var/log/messages veya dmesg olacaktır.

2
rjt

Sisteminiz ifplugd (örneğin Raspbian ile bir Raspberry Pi'de) kullanıyorsa, tüm arabirimlerin bağlantı durumunu elde etmek için ilişkili durum aracını ifplugstatus kullanabilirsiniz:

ifplugstatus

veya belirli bir arayüz (ör. eth0):

ifplugstatus eth0
2
Pierz