Belirli bir ethX'in fiziksel olarak yukarı veya aşağı olup olmadığını kontrol etmek istiyorum. Bunu komut satırıyla nasıl yapabilirim?
$ 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
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
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
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.
dmesg | grep eth
tüm durum değişikliklerini görmelisin
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
@ 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 .
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
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.
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