[Linux] Hướng dẫn kiểm tra trạng thái kết nối card mạng trên Linux

Yoyo, chúng ta sẽ cùng tìm hiểu cách thức để kiểm tra xem card mạng của hệ thống Linux có đang được kết nối với hệ thống switch hay còn gọi dân dã là đã được cắm dây 2 đầu ăn hay chưa (Link state interface). Ở đây các bạn cũng nên lưu ý là nếu ‘down‘ trạng thái card mạng thì trước tiên nên kiểm tra xem card mạng đã được tắt bật bởi quá trình quản trị card mạng trên hệ thống hay không ?!

Mình sẽ trình bày 3 cách để kiểm tra xem 1 card mạng cụ thể trên Linux xem đã ở trạng thái ‘UP‘ hay ‘DOWN‘ tức trạng thái card mạng hiện có được up link giữa 2 đầu dây chưa ? đầu bên kia đã nối Switch ok chưa ?

Trong hướng dẫn này thì bạn cần chú ý tên card mạng tương ứng trên hệ thống của bạn để dễ thực thi lệnh. Ví dụ: trên Linux init system sẽ là card ‘eth0‘, trên Linux systemd sẽ thường là dạng card name ‘enp0s3‘ và các loại tên card mạng khác. Bạn có thể liệt kê tên card mạng bằng lệnh đơn giản sau :

# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
    valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether e6:a4:f7:88:0d:5a brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
    inet6 fe80::e4a4:f7ff:fe88:d5a/64 scope link 
    valid_lft forever preferred_lft forever

hay

# ifconfig
eth0     Link encap:Ethernet HWaddr E6:A4:F7:88:0D:5A 
         inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
         inet6 addr: fe80::e4a4:f7ff:fe88:d5a/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
         RX packets:32919922 errors:0 dropped:6007 overruns:0 frame:0
         TX packets:32108296 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000 
         RX bytes:19150518997 (17.8 GiB) TX bytes:23894778531 (22.2 GiB)
         Interrupt:10 Base address:0x4000

lo Link encap:Local Loopback 
         inet addr:127.0.0.1 Mask:255.0.0.0
         inet6 addr: ::1/128 Scope:Host
         UP LOOPBACK RUNNING MTU:65536 Metric:1
         RX packets:3556027 errors:0 dropped:0 overruns:0 frame:0
         TX packets:3556027 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0 
         RX bytes:810471545 (772.9 MiB) TX bytes:810471545 (772.9 MiB)

Contents

 
1. Cách 1 với file system hệ thống

– Dựa trên các file thông tin hệ thống liên quan đến card mạng.

# cat /sys/class/net/eth0/carrier
1

hoặc

# cat /sys/class/net/eth0/carrier
0

 
– Nếu bạn nhận được output là ‘1‘, điều đó chứng tỏ card mạng ‘eth0‘ đã được nối dây mạng và kết nối thành công với switch nên trạng thái tương ứng với UP. Ngược lại kết quả output là ‘0‘, thì chứng tỏ trạng thái dây mạng với card đã DOWN.

– Bạn cũng có thể kiểm tra qua file thông tin sau. Nếu ra kết quả là ‘up‘ thì card mạng đó đã kết nối thành công với Switch, còn nếu kết quả là ‘down‘ thì chứng tỏ card mạng của bạn đang bị lỏng dây mạng hoặc chưa được kết nối dây mạng.

# cat /sys/class/net/eth0/operstate
up

hoặc

# cat /sys/class/net/eth0/operstate
down

 
2. Cách 2 với lệnh ‘ethtool’

– Bạn có thể sử dụng một công cụ tên là ‘ethtool‘ được cài đặt mặc định trên nhiều hệ thống Linux và các bản phân phối. Công cụ ‘ethtool‘ sẽ được sử dụng để truy xuất thông tin và kiểm tra/kiểm soát các cấu hình thiết bị driver và các mạng.

# ethtool eth0
Settings for eth0:
	Supported ports: [ TP MII ]
	Supported link modes:   10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	Supported pause frame use: No
	Supports auto-negotiation: Yes
	Advertised link modes:  10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	Advertised pause frame use: Symmetric
	Advertised auto-negotiation: Yes
	Link partner advertised link modes:  10baseT/Half 10baseT/Full 
	                                     100baseT/Half 100baseT/Full 
	Link partner advertised pause frame use: Symmetric
	Link partner advertised auto-negotiation: No
	Speed: 100Mb/s
	Duplex: Full
	Port: MII
	PHYAD: 32
	Transceiver: internal
	Auto-negotiation: on
	Supports Wake-on: pumbg
	Wake-on: d
	Current message level: 0x00000007 (7)
			       drv probe link
	Link detected: yes

 
– Ở đây giá trị output bạn cần quan tâm là ‘Link detected:‘ , nếu kết quả là ‘yes‘ thì card mạng đang up. Còn nếu kết quả là ‘no’ thì card mạng đang down.

# ethtool eth0 | grep "Link detected"
yes

 
3. Cách 3 với lệnh ‘ip’

– Cách này cực kì đơn giản và phổ biến, đó là bạn có thể sử dụng công cụ lệnh ‘ip‘ để kiểm tra vấn đề UP/DOWN của card mạng. Bạn cũng có thể sử dụng lệnh ‘ifconfig‘ để thực hiện điều tương tự.

# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether e6:a4:f7:88:0d:5a brd ff:ff:ff:ff:ff:ff
    inet 123.30.129.167/27 brd 123.30.129.191 scope global eth0
    inet6 fe80::e4a4:f7ff:fe88:d5a/64 scope link 
       valid_lft forever preferred_lft forever

 
– Bạn thấy ở phần ‘eth0‘ giá trị state ‘UP‘ thể hiện card mạng đã được kết nối cắm dây mạng. Còn nếu ‘DOWN‘ thì thể hiện card mạng đã down.

Nếu còn cách nào hay ho hơn và tiện hơn thì bình luận ở dưới nè.

Previous article[DirectAdmin] Hướng dẫn cài đặt Zend Guard Loader trên Direct Admin
Next article[LPI] Viện Linux Professional Institute (LPI) đã công bố cập nhật nội dung thi LPIC-2 v4.5
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !